timesten in-memory database
TRANSCRIPT
Tempo de RespostaPor quê o Tempo de Resposta é importante?
- Não cumprimento de SLA○ Devido ao longo tempo de resposta
- Rotatividade de clientes○ Produtos competitivos oferecem um melhor tempo de resposta
- Baixa produtividade do usuário e insatisfação do cliente○ Clientes insatisfeitos
- Perda de receita e baixa rentabilidade○ Efeito da perda de negócios e oportunidades
TimesTen OverviewO que é?
- O TimesTen é um banco de dados em memória, com características de um banco de dados relacional convencional.- Fornece tempo de resposta muito baixo e throughput muito alto a sistemas com desempenho crítico.- Pode ser usado como um banco de dados de registro e/ou como um armazenamento em cache de um banco de dados Oracle.
TimesTen OverviewPor quê o TimesTen é rápido?
● Otimização In-Memory:- Banco de dados na memória
compartilhada- Métodos otimizados de acesso
a memória
● Direct-link para melhor performance:- Memória compartilhada
mapeada no processo da aplicação
Performance
- Transação de leitura em menos de 5 microssegundos- Transação de atualização ou inserção em menos de 15 microssegundos
Armazenamento- Cache Group é uma coleção de tabelas do banco de dados Oracle usadas com frequência, que estão relacionadas através de restrições de chaves externas
- Todo ou subconjunto de linhas e colunas
- Definido por cláusulas SQL:CREATE CACHE GROUPE nameFROM owner.tab1 (col1, col2)
owner.tab2 (col1, col4)WHERE <predicate>
- Tabelas cache são tabelas regulares de um banco de dados:
Joins, insert/update/delete
Armazenamento- Usuários podem definir os Grupos de cache através de programação ou através de um utilitário interativo ttIsql.- Mesmos tipos de dados básicos que o banco de dados Oracle de forma que não é necessário mapear os tipos de dados do banco de dados Oracle para os tipos de dados do TimesTen.- Índices nas tabelas do cache in-memory, que podem corresponder aos índices no banco de dados Oracle ou podem ser diferentes. - Flexibilidade para criar múltiplos índices na mesma tabela e definição dos índices em várias colunas.
ArmazenamentoCache Group somente Leitura
Dados são atualizados no banco de dados Oracle e o TimesTen gerencia a propagação das atualizações do banco de dados Oracle para o armazenamento em cache.
ArmazenamentoCache Group AWT (Asynchronous Writethrough)
Podem ser atualizados no cache, mas não no banco de dados Oracle. O TimesTen propaga as atualizações do cache do banco de dados Oracle de forma assíncrona após a confirmação de uma transação.
ArmazenamentoCache Group SWT (Synchronous Writethrough)
Podem ser atualizados no cache, mas não no banco de dados Oracle. As atualizações nas tabelas do cache in-memory são propagadas para o banco de dados Oracle de forma síncrona com a confirmação de uma atualização.
Disponibilidade
Quando o Oracle TimesTen é usado exclusivamente como o banco de dados de registro em vez de um cache de banco de dados in-memory do banco de dados Oracle, ele garante a alta disponibilidade de seus dados através da replicação, diversas operações on-line e inúmeros utilitários que suportam falhas, recuperação e atualizações on-line.
Disponibilidade
● Alta Performance:- Síncrono / Assíncrono- Replicação memory-to-memory- Propagação paralela de mudanças para o Standby e Subscribers
● DRP suporte.
Real Life Stories on Extreme Performance withIn-Memory Database Technology
Presented at Oracle Open World
Data Environment
• Capture and consolidate• Near real-time replication• Large data volume• High rate of change
Order
PendingProduction
Build
Shipped
Delivered
Supply ChainManagement System
Supply Chain Data Hub
3 Confidential 1/3/2012 Global Operations & Technology - I/T
Environmentfrom anApplicationPerspective
4 Confidential 1/3/2012 Global Operations & Technology - I/T
Application Environment• One-Stop-Shop for Order
Status, Health and IssueResolution
• Current order information• Response times within
Customer Distress Orderseconds SalesCare Management
Basic Queries Advance Queries
Global Order Visibility - User Interface
Order
PendingProduction Supply Chain
ManagementSystemSupply Chain Data HubBuild
Shipped
Delivered
5 Confidential 1/3/2012 Global Operations & Technology - I/T
TimesTen Architecture
Sales Customer Care Distress Order Mgmt
Basic Queries Advance Queries
Order Visibility User Interface
PL/SQL
ReplicatorOrder
Pending PL/SQLProduction
Build Supply Chain Data Hub
Shipped
Delivered
Oracle TimesTenIn-Memory Database
Supply ChainManagement
System
7 Confidential 1/3/2012 Global Operations & Technology - I/T
TimesTen Architecture DetailMS Sharepoint User Interface
Basic Queries
PL/SQL
Replication
Source Extract LoadDatabase .net ttBulkCp
Oracle 11g
Advance Queries
Failover
PL/SQL
Merge TimesTenttIsql In-Memory
Database
Dell Power Edge M610Oracle Enterprise Linux
96GB Ram2 Intel(R) Xeon(R) CPU
L5520 @ 2.27GHz 4 core
Global Operations & Technology - I/T
Improved Query Performance10 min
8 min
Minutes
0 min
7.5 min 7 min
4.6 min
Query #1 Query #2 Query #3 Query #4
Physical DB10 sec
5.05 sec TimesTen
Seconds1.4 sec
1 sec
1.15 sec.8 sec
.01 sec
10 Confidential 1/3/2012 Global Operations & Technology - I/T
Lessons Learned• Adding more data doesn’t affect performance• Use sql query to monitor memory usage
• select temp_allocated_size, temp_in_use_size, temp_in_use_high_water from monitor;• Check high water marks: temp_in_use_high_water
Scaling87
6
5
4
3
2
1
01.8 2.37 2.97 3.24
Millions of rows
Qry 1
Qry 2
Qry 3
Trend
3.46 4.46
11 Confidential 1/3/2012 Global Operations & Technology - I/T
Summary
Why TimesTen?
✓ Transparency▪ Users get increased performance without change in user interface
✓ PL/SQL▪ Maintain an identical API between our physical and in-memory database▪ Developers do not have to learn a new language
✓ Response Time▪ Significant increase in performance
12 Confidential 1/3/2012 Global Operations & Technology - I/T
Referências- Oracle TimesTen In-Memory Database Overviewhttp://www.oracle.com/technetwork/products/timesten/overview/timesten-imdb-086887.html?ssSourceSiteId=otnpt- Cómo construimos Oracle TimesTen:http://www.slideshare.net/RevistaSG/cmo-construimos-oracle-timesten- Oracle TimesTen In-Memory Database Features Overview:http://www.docstoc.com/docs/7641049/Oracle-TimesTen-In-Memory-Database-Features-Overview-%EB%8C%80%ED%95%99-%EC%88%98%EA%B0%95- Usando o Oracle In-Memory Database Cache para acelerar o banco de dados Oracle:http://www.oracle.com/technetwork/pt/database/timesten/documentation/tutorial-in-memory-database-cache-1721639-ptb.pdf- Oracle® In-Memory Database Cache User's Guide 11g Release 2 (11.2.2):http://docs.oracle.com/cd/E11882_01/timesten.112/e21634/toc.htm