O Oracle TimesTen In-Memory Database é um banco de dados relacional com otimização de memória que confere às aplicações a capacidade de resposta instantânea e o alto rendimento exigido pelas empresas atuais em comunicações, serviços financeiros, aplicações da Web, logística de viagens, jogos e outros setores. Ele pode ser implementado na camada de aplicação como um banco de dados em cache (TimesTen Application-Tier Database Cache), um banco de dados independente (TimesTen Classic) ou um banco de dados distribuído (TimesTen Scaleout). Interfaces SQL padrão, alta disponibilidade e tolerância a falhas são recursos padrão do produto.
TimesTen Application-Tier Database Cache (TimesTen Cache) é uma opção do Oracle Database que fornece cache de leitura/gravação em tempo real para banco de dados. O TimesTen Cache melhora o tempo de resposta das transações da aplicação armazenando em cache um subconjunto de tabelas e fragmentos de tabelas de desempenho crítico de um Oracle Database para a camada da aplicação. As tabelas de cache são gerenciadas como tabelas regulares de banco de dados relacional dentro do TimesTen In-Memory Database, o que permite que o TimesTen Cache ofereça às aplicações toda a generalidade e funcionalidade de um banco de dados relacional, a transparência de manutenção da consistência do cache com o Oracle Database e o desempenho em tempo real de um banco de dados na memória. O TimesTen Cache é ideal para armazenar em cache subconjuntos críticos de desempenho de um banco de dados Oracle para melhorar o tempo de resposta na camada de aplicações. Para obter alta disponibilidade, o TimesTen Cache pode ser implementado usando uma configuração de espera ativa, em que as tabelas de cache são replicadas em tempo real entre os bancos de dados Oracle TimesTen In-Memory.
O Oracle TimesTen In-Memory Database foi construído com a suposição de que todos os dados gerenciados residem na memória física (RAM). Como resultado, a coisa mais importante a considerar em relação ao hardware é ter RAM suficiente disponível na camada da aplicação. Além disso, o TimesTen tem poucas considerações de hardware. Como acontece com qualquer aplicação, ter um número apropriado de CPUs (executando em velocidades de clock apropriadas) é importante para que sua aplicação seja executada o mais rápido possível. Da mesma forma, para aproveitar várias CPUs, você precisa executar várias aplicações ou escrever suas aplicações para usar vários threads. Além disso, os logs de transações e os arquivos de pontos de verificação são mantidos no disco; discos mais rápidos geram melhor desempenho geral.
O TimesTen Cache reside na camada da aplicação e usa SQL*Net para se comunicar com o Oracle Database. O Oracle Database Instant Client é instalado no TimesTen Cache para se conectar ao Oracle Database.
O Oracle TimesTen In-Memory Database é um produto licenciado separadamente; inclui o TimesTen In-Memory Database, os componentes de replicação e a implementação do TimesTen Scaleout.
TimesTen Application-Tier Database Cache é uma opção Oracle Database Enterprise Edition para Oracle Database. Inclui o TimesTen In-Memory Database e tecnologias de cache, que permitem que o TimesTen Cache seja implementado como um banco de dados de cache na memória com sincronização automática de dados entre o TimesTen Cache e o Oracle Database.
As seguintes plataformas são suportadas:
A opção TimesTen Application-Tier Database Cache oferece suporte às versões 11.2.0.4, 12c, 19c e 21c do Oracle Database, bem como às seguintes versões do Oracle Autonomous Database:
Os bancos de dados TimesTen são usados para muitas aplicações em diversos setores, incluindo aplicações de telecomunicações para autenticação, autorização, portabilidade numérica, cobrança e faturamento online, mediação e call centers e aplicações financeiras, como negociação de valores mobiliários, bolsas de valores, detecção de fraudes, conformidade, serviços bancários online e preços de títulos. Outras aplicações incluem jogos, sistemas de CRM, sistemas de reserva de companhias aéreas, planejamento de viagens, aplicações voltadas para o cliente e aplicações de defesa.
O Oracle TimesTen também é essencial para algumas aplicações Oracle, como o Exalytics In-Memory Machine para análise OLAP com “velocidade de pensamento” e o Oracle Billing and Revenue Management para faturamento em tempo real.
Os bancos de dados TimesTen e o Coherence são executados na camada de aplicação. Ambos são baseados em memória. Coherence é um armazenamento de objetos distribuído na memória. Ele é usado para armazenar e recuperar objetos serializados usando APIs get/put.
TimesTen é um banco de dados relacional na memória com persistência em disco e semântica de transação padrão. É acessado via SQL. Quando usado como cache para o Oracle Database, ele sincroniza automaticamente os dados com o banco. Caches distribuídos apresentam uma única imagem para aplicações com transparência de localização e controle de simultaneidade distribuído.
O Exadata, baseado no Oracle RAC, é um sistema altamente escalável que pode ser usado para aumentar o rendimento do banco de dados a níveis inigualáveis.
O valor exclusivo do TimesTen está em sua capacidade de fornecer tempos de resposta muito baixos na camada de aplicação. Para melhor desempenho, o TimesTen é incorporado à aplicação. O TimesTen fornece respostas a solicitações SQL em microssegundos. Isso é essencial para aplicações em tempo real que exigem tempo de resposta instantâneo para roteamento de chamadas telefônicas, autenticação e autorização, cobrança em tempo real, negociação de títulos, detecção de fraudes, serviços bancários online e muitos outros casos de uso.
Sim, o Oracle TimesTen In-Memory Database é usado por muitos clientes hoje como um banco de dados independente na camada de aplicação. O TimesTen fornece suporte transacional completo para operações SQL, e os logs de transações são persistidos no disco para recuperação (o banco de dados está sempre na memória).
Sim, com o TimesTen Application-Tier Database Cache. Esta opção de banco de dados inclui o TimesTen In-Memory Database e tecnologias de cache para permitir que o TimesTen seja implementado como um banco de dados de cache na memória com sincronização automática de dados entre o TimesTen e o Oracle Database.
O banco de dados TimesTen In-Memory oferece suporte a interfaces ODBC e JDBC padrão, bem como OCI e ADO.NET para que aplicações se conectem ao banco de dados, usando padrões SQL-92.
Não, as interfaces são as mesmas para aplicações de 32 e 64 bits. Para aproveitar o modo de 64 bits, a aplicação precisará ser recompilada no modo de 64 bits e vinculada às bibliotecas de 64 bits do TimesTen.
As aplicações podem ser desenvolvidas usando Java, .NET, C, C++, Pro*C e PL/SQL, bem como linguagens de código aberto, como Python e Node.js. Para obter uma lista de programas de exemplo, consulte Amostras do Oracle TimesTen In-Memory Database no GitHub.
O Oracle TimesTen In-Memory Database foi projetado e otimizado para ser executado na camada de aplicação. O banco de dados pode ser vinculado diretamente (incorporado) à aplicação para um melhor desempenho. Com o banco de dados TimesTen incorporado à aplicação, o acesso SQL não gera nenhuma sobrecarga de rede ou IPC. Mesmo quando executado no modo incorporado, o TimesTen ainda fornece acesso multiprocesso/multithread completo e controle de simultaneidade.
Sim, o Oracle TimesTen In-Memory Database suporta índices. Os índices melhoram o desempenho das consultas ao banco de dados, assim como fazem no Oracle Database. O TimesTen oferece suporte a dois tipos de índices: de intervalo, que são usados para pesquisas envolvendo intervalos de igualdade e desigualdade, e de hash, que oferecem acesso mais rápido à chave primária e à igualdade do que índices de intervalo para pesquisas de correspondência exata e junções equivalentes.
O banco de dados TimesTen In-Memory suporta o padrão SQL. Para criar estruturas de dados, use instruções SQL DDL, por exemplo, CREATE TABLE, CREATE INDEX, CREATE SEQUENCE, CREATE VIEW, CREATE MATERIALIZED VIEW, CREATE PACKAGE, CREATE PROCEDURE, CREATE FUNCTION, CREATE SYNONYM, ALTER TABLE etc. As mesmas técnicas de design de banco de dados usadas para RDBMS também podem ser usadas para TimesTen. Projetar e gerenciar bancos de dados no TimesTen é mais simples do que em um RDBMS otimizado para disco, pois não há necessidade de dimensionar extensões de tabelas ou desfragmentar discos.
Embora todo o banco de dados resida na memória, o TimesTen também tem arquivos de log de transações e arquivos de ponto de verificação que são persistidos no disco. No caso de reinicialização ou falha do sistema, o banco de dados na memória é recuperado dos arquivos de ponto de verificação e logs de transações.
O TimesTen Cache suporta:
O TimesTen Cache é executado como uma aplicação cliente para o servidor do Oracle Database. O TimesTen Cache suporta as mesmas plataformas que o TimesTen In-Memory Database. Veja quais plataformas são suportadas pelas tecnologias Oracle TimesTen.
Sim, como o TimesTen Cache roda como um cliente Oracle, ele pode ser executado em uma plataforma diferente daquela do servidor do Oracle Database. Conforme o nome indica, TimesTen Application-Tier Database Cache, o TimesTen Cache normalmente reside na camada da aplicação, enquanto o Oracle Database fica na camada do banco de dados.
A quantidade de dados críticos de desempenho a serem armazenados em cache no TimesTen Cache varia dependendo da natureza da aplicação. Em vez de armazenar em cache todo o banco de dados, um subconjunto das tabelas, colunas e linhas do banco de dados pode ser armazenado no TimesTen Cache. Outra opção é definir um cache dinâmico, onde os dados das tabelas do Oracle Database são carregados sob demanda.
TimesTen Replication é um recurso do TimesTen In-Memory Database e do TimesTen Application-Tier Database Cache. A tecnologia do TimesTen permite a replicação de dados em tempo real entre nós do servidor do TimesTen. Ele é usado para criar arquiteturas de alta disponibilidade, sites de recuperação de desastres e distribuir dados entre vários nós. O TimesTen Replication suporta configuração ativa/espera ou ativa/ativa, usando transmissão de dados assíncrona ou síncrona. Consulte a ficha técnica do TimesTen In-Memory Database para obter mais informações.
Você pode configurar o TimesTen para replicar todo o TimesTen In-Memory Database para um ou mais nós do TimesTen. Após um failover, em que o nó em espera se torna o nó ativo, o nó com falha pode ser recuperado do banco de dados em espera (agora ativo).
Sim, a replicação em nível de tabela e a replicação em nível de banco de dados são suportadas.
O TimesTen Replications usa soquetes TCP/IP persistentes e de streaming entre os nós replicados por meio de uma LAN ou WAN.
Sim, há suporte para replicação unidirecional e bidirecional. Para replicação bidirecional, recomenda-se que a carga de trabalho seja particionada para evitar um alto número de conflitos. No caso de conflitos em que atualizações são feitas nas mesmas linhas do banco de dados, a replicação do TimesTen oferece suporte à detecção e à resolução de conflitos com base em registro de data e hora.