TimesTen In-Memory Database FAQ

Geral

O que é o Oracle TimesTen In-Memory Database?

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.

O que é o Oracle TimesTen Application-Tier Database Cache?

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 possui algum requisito especial de hardware e software?

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 faz parte do 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.

Quais plataformas são suportadas pelas tecnologias Oracle TimesTen?

As seguintes plataformas são suportadas:

  • Linux x86-64:
    • Oracle Linux 7.4 ou posterior, 8.2 ou posterior e 9.2 ou posterior
    • Red Hat Enterprise Linux 7.4 ou posterior, 8.2 ou posterior e 9.2 ou posterior
    • SUSE Linux Enterprise Server 12 e 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 ou posterior
    • Red Hat Enterprise Linux 8.4 ou posterior
  • Solaris SPARC 64:
    • Solaris 11.3 e 11.4
  • Solaris x86-64:
    • Solaris 11.3 e 11.4
  • Microsoft Windows x86-64 (somente cliente):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-bit:
    • AIX 7.1, 7.2 e 7.3
  • macOS 64-bit (somente cliente):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonoma

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:

  • Oracle Autonomous Serverless Versão 19c para o tipo de carga de trabalho do Transaction Processing
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Versão 19c para o tipo de carga de trabalho do Transaction Processing

Que tipos de aplicações são melhores para bancos de dados Oracle TimesTen?

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.

Qual é a diferença entre TimesTen In-Memory Database (ou TimesTen Cache) e Coherence?

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.

Qual é a diferença entre o Oracle Exadata e o TimesTen In-Memory Database?

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.

Tenho mais perguntas sobre o TimesTen In-Memory Database. Onde posso obter respostas?

Você pode postar suas dúvidas relacionadas ao produto no fórum de discussão do TimesTen.

TimesTen In-Memory Database

O TimesTen In-Memory Database pode ser usado como um banco de dados independente?

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).

O TimesTen In-Memory Database pode ser usado como um cache na memória do Oracle Database?

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.

Quais são as APIs de acesso a dados para o banco de dados TimesTen In-Memory?

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.

As interfaces fornecidas pelo TimesTen são diferentes para aplicações de 32 bits e 64 bits?

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.

Quais linguagens podem ser usadas para desenvolver aplicações Oracle 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 que significa “modo incorporado”?

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.

O Oracle TimesTen In-Memory Database oferece suporte a índices como o Oracle Database?

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.

Como as estruturas de dados são projetadas e criadas no TimesTen In-Memory Database?

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.

Como o TimesTen se recupera de uma falha de nó/energia, já que é um banco de dados na memória?

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.

TimesTen Application-Tier Database Cache

Quais versões do Oracle Database são suportadas pelo TimesTen Application-Tier Database Cache?

O TimesTen Cache suporta:

  • Oracle Database Versão 11.2.0.4
  • Oracle Database Versão 12c
  • Oracle Database Versão 19c
  • Oracle Database Versão 21c
  • Oracle Autonomous Serverless Versão 19c para o tipo de carga de trabalho do Transaction Processing
  • Oracle Autonomous Database on Dedicated Exadata Infrastructure Versão 19c para o tipo de carga de trabalho do Transaction Processing

Quais plataformas são suportadas pelo TimesTen Application-Tier Database Cache?

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.

  • Linux x86-64:
    • Oracle Linux 7.4 ou posterior, 8.2 ou posterior e 9.2 ou posterior
    • Red Hat Enterprise Linux 7.4 ou posterior, 8.2 ou posterior e 9.2 ou posterior
    • SUSE Linux Enterprise Server 12 e 15
    • Ubuntu 22.04
  • Linux arm64:
    • Oracle Linux 8.4 ou posterior
    • Red Hat Enterprise Linux 8.4 ou posterior
  • Solaris SPARC 64:
    • Solaris 11.3 e 11.4
  • Solaris x86-64:
    • Solaris 11.3 e 11.4
  • Microsoft Windows x86-64 (somente cliente):
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows 11
    • Windows 10
  • IBM AIX Power PC 64-bit:
    • AIX 7.1, 7.2 e 7.3
  • macOS 64-bit (somente cliente):
    • 12.6 Monterey
    • 13.2 Ventura
    • 14.3 Sonoma

Posso executar o TimesTen Application-Tier Database Cache em uma plataforma diferente do servidor do Oracle Database?

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.

Meu Oracle Database tem terabytes de tamanho. Qual deve ser o tamanho do meu banco de dados TimesTen Cache?

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

O que é o TimesTen replication?

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.

Como o TimesTen Replication garante disponibilidade contínua em caso de falhas do sistema?

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).

Posso replicar tabelas selecionadas no banco de dados?

Sim, a replicação em nível de tabela e a replicação em nível de banco de dados são suportadas.

Qual protocolo de rede é suportado pelo TimesTen Replication?

O TimesTen Replications usa soquetes TCP/IP persistentes e de streaming entre os nós replicados por meio de uma LAN ou WAN.

O TimesTen Replication é bidirecional?

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.