Melhores Práticas para Conexões de Baixa Latência com o Autonomous Database

Tomar medidas para reduzir a latência das conexões entre um aplicativo e o Autonomous Database é fundamental se seu aplicativo executar muitas viagens de ida e volta entre o aplicativo e o banco de dados.

Por exemplo, considere um aplicativo OLTP conectando-se ao Autonomous Database e enviando milhares de instruções SQL ao banco de dados individualmente para executar um pedido de venda. Nesse caso, o aplicativo requer milhares de viagens de ida e volta, e reduzir a latência para cada viagem de ida e volta pode acelerar consideravelmente o processo de pedidos de vendas. Para esses aplicativos, há melhores práticas que você pode seguir para reduzir a latência das conexões de banco de dados.

Etapas para Reduzir a Latência para Conexões de Banco de Dados

Você pode seguir essas recomendações para reduzir a latência das conexões entre seus aplicativos e o banco de dados.

Primeiro, determine o domínio de disponibilidade do banco de dados. Para localizar o domínio de disponibilidade de uma instância do Autonomous Database, conecte-se como ADMIN e execute a seguinte consulta:

SELECT json_value(cloud_identity, '$.AVAILABILITY_DOMAIN') AVAILABILITY_DOMAIN FROM v$pdbs;

Por exemplo:

SELECT json_value(cloud_identity, '$.AVAILABILITY_DOMAIN') AVAILABILITY_DOMAIN
             FROM v$pdbs;

AVAILABILITY_DOMAIN  
-------------------- 
SoSC:US-ASHBURN-AD-1

Você também pode exibir as informações do domínio de disponibilidade na Console do Oracle Cloud Infrastructure. Consulte Exibir Informações de Rede na Console do OCI para obter mais informações.

Para reduzir a latência, faça o seguinte:

  1. Coloque clientes ou servidores de camada intermediária no mesmo domínio de disponibilidade da instância do Autonomous Database.

    Por exemplo, se seu aplicativo for executado em uma VM do Oracle Cloud Infrastructure Compute, selecione o mesmo domínio de disponibilidade que a instância do Autonomous Database ao criar a instância de computação.

    Se o aplicativo for executado em outra nuvem ou em um data center on-premises, use o OCI FastConnect para reduzir a latência da conexão com sua região do OCI. Consulte FastConnect Visão Geral para obter mais informações.

  2. Configure o roteamento de rede.
    • Se você estiver usando uma instância do Autonomous Database em um ponto final público, configure seu roteamento de rede para que a conexão do cliente com o banco de dados passe por um Gateway de Serviço.

      Para obter mais informações, consulte.

    • Se você estiver usando uma instância do Autonomous Database em um ponto final privado, estabeleça conexão com o banco de dados usando o ponto final privado visível em sua rede, sem a necessidade de configurar um Gateway de Serviço.

  3. Use conexões TLS unidirecionais sem uma wallet.

    Como prática recomendada para menor latência, configure a instância do Autonomous Database para permitir conexões mTLS e TLS e use conexões TLS para conectar seu aplicativo ao banco de dados.

    Para obter mais informações, consulte:

  4. Use o TCP Fast Open (TFO) para estabelecer conexão com o banco de dados.

Etapas para Reduzir a Latência de Conexões de Banco de Dados para Bancos de Dados com o Autonomous Data Guard

Fornece etapas a serem seguidas para configurar um ambiente stand-by, clientes e camadas intermediárias do Autonomous Data Guard, a fim de reduzir a latência para conexões de banco de dados quando você se conecta após um failover ou após um switchover (quando o stand-by se torna o Principal).

Reduza a Latência para Conexões de Banco de Dados com o Autonomous Data Guard Local

Siga estas etapas para reduzir a latência das conexões de banco de dados que você faz quando usa o Autonomous Data Guard e faz failover ou switchover para um banco de dados stand-by local.

Se você tiver um stand-by local do Autonomous Data Guard e estiver em uma região com vários domínios de disponibilidade, o Autonomous Data Guard criará o banco de dados stand-by local em outro domínio de disponibilidade. Quando você faz failover ou faz switchover para o banco de dados stand-by, o stand-by local torna-se o banco de dados Principal. Para se preparar para um failover ou switchover, é recomendável ter clientes stand-by e camadas intermediárias disponíveis para ativação, de modo que, após uma falha ou após um switchover, seus aplicativos possam continuar trabalhando no caso de uma falha no domínio de disponibilidade.

Primeiro, verifique se o tipo de recuperação de desastre do seu par local é o Autonomous Data Guard. Consulte Ativar Autonomous Data Guard para obter mais informações.

Execute as tarefas a seguir para configurar clientes stand-by e níveis intermediários para baixa latência quando estiver usando o Autonomous Data Guard com um stand-by local em uma região com vários domínios de disponibilidade.

  1. Coloque os clientes stand-by ou camadas intermediárias no mesmo domínio de disponibilidade do banco de dados stand-by local (todos os componentes devem ser configurados para usar o mesmo domínio de disponibilidade).

    Por exemplo, se seu aplicativo for executado em uma VM do Oracle Cloud Infrastructure Compute, quando você criar a instância de computação, selecione o mesmo domínio de disponibilidade para a VM do serviço Compute que o banco de dados stand-by. Isso prepara a configuração de recuperação de desastre para que o banco de dados stand-by e a VM de Computação stand-by usem o mesmo domínio de disponibilidade após um failover ou switchover. Isso reduzirá a latência para conexões com o banco de dados em comparação com uma configuração em que os componentes usam diferentes domínios de disponibilidade.

    Para determinar o domínio de disponibilidade do banco de dados stand-by, conecte-se ao banco de dados Principal como o usuário ADMIN e execute a seguinte consulta:

    SELECT availability_domain FROM v$pdbs,
         JSON_TABLE(
           cloud_identity,
           '$.AUTONOMOUS_DATA_GUARD[*]'
           COLUMNS (
             standby_type PATH '$.STANDBY_TYPE',
             availability_domain PATH '$.AVAILABILITY_DOMAIN'
           )
         ) jt
    WHERE jt.standby_type = 'local';

    Por exemplo, este comando mostra o domínio de disponibilidade de um banco de dados stand-by local:

    AVAILABILITY_DOMAIN 
    ------------------- 
    SoSC:US-ASHBURN-AD-3
  2. Você não precisa fazer configuração de rede adicional ou permitir conexões TLS unidirecionais para o banco de dados stand-by local. Um banco de dados stand-by local tem a mesma configuração de rede de configuração do banco de dados Principal.
  3. Configure seus clientes e camadas intermediárias para usar o TCP Fast Open.

Reduza a Latência para Conexões de Banco de Dados com o Autonomous Data Guard entre Regiões

Siga estas etapas para reduzir a latência das conexões de banco de dados que você faz quando usa o Autonomous Data Guard e faz failover ou alterna para um banco de dados stand-by entre regiões.

Se você adicionar um ou mais bancos de dados stand-by Autonomous Data Guard entre regiões, os bancos de dados stand-by entre regiões serão adicionados nas regiões selecionadas quando você adicionar um pareamento entre regiões. Quando você faz failover ou faz switchover para um banco de dados stand-by entre regiões do Autonomous Data Guard, o stand-by entre regiões se torna o banco de dados Principal. Para se preparar para um failover ou switchover regional, é recomendável ter clientes stand-by e camadas intermediárias disponíveis na região remota. Isso prepara os clientes e a camada intermediária na região remota para que, no caso de uma falha ou após um switchover, seus aplicativos possam continuar funcionando.

Primeiro, verifique se sua recuperação de desastre inclui pelo menos um stand-by Autonomous Data Guard entre regiões. Consulte Adicionar um Banco de Dados Stand-by entre Regiões para obter mais informações.

Siga estas etapas para configurar clientes e níveis intermediários para baixa latência ao usar o Autonomous Data Guard com um ou mais bancos de dados stand-by entre regiões.

  1. Coloque os clientes stand-by ou os níveis intermediários no mesmo domínio de disponibilidade dos bancos de dados stand-by entre regiões.

    Para determinar os domínios de disponibilidade para bancos de dados stand-by Autonomous Data Guard entre regiões, conecte-se ao banco de dados Principal como usuário ADMIN e execute a seguinte consulta:

    SELECT availability_domain FROM v$pdbs,
         JSON_TABLE(
           cloud_identity,
           '$.AUTONOMOUS_DATA_GUARD[*]'
           COLUMNS (
             standby_type PATH '$.STANDBY_TYPE',
             availability_domain PATH '$.AVAILABILITY_DOMAIN'
           )
         ) jt
    WHERE jt.standby_type = 'cross-region';

    Por exemplo, quando você tem dois bancos de dados stand-by entre regiões, a execução desse comando mostra os domínios de disponibilidade de cada banco de dados stand-by entre regiões:

    AVAILABILITY_DOMAIN    
    ---------------------- 
    SoSC:PHX-AD-3          
    SoSC:US-SANJOSE-1-AD-1 
    1. Se você tiver um stand-by entre regiões, a consulta mostrará um único domínio de disponibilidade. Coloque os clientes stand-by e os níveis intermediários na mesma região e use o mesmo domínio de disponibilidade do banco de dados stand-by entre regiões.

      Por exemplo, se seu aplicativo for executado em uma VM do Oracle Cloud Infrastructure Compute, quando você criar a instância de computação, selecione o mesmo domínio de disponibilidade para a VM do serviço Compute que o banco de dados stand-by do Autonomous Data Guard. Isso garante que o banco de dados stand-by entre regiões e a VM de Computação stand-by estejam na mesma região e usem o mesmo domínio de disponibilidade após um failover ou switchover.

    2. Se você tiver mais de um stand-by entre regiões, em cada região, use o domínio de disponibilidade apropriado que corresponda à região e ao domínio de disponibilidade para cada banco de dados stand-by correspondente. Você precisará executar essa configuração várias vezes (todos os componentes em uma região individual devem usar o mesmo domínio de disponibilidade que o stand-by do Autonomous Data Guard).

    Se o aplicativo for executado em outra nuvem ou em um data center on-premises, use o OCI FastConnect para reduzir a latência da conexão com sua região do OCI. Consulte FastConnect Visão Geral para obter mais informações.

  2. Configure o roteamento de rede na região em que o banco de dados stand-by reside. Execute esta etapa várias vezes se tiver mais de um banco de dados stand-by entre regiões.
    1. Se o banco de dados stand-by estiver em um ponto final público, configure seu roteamento de rede para que a conexão dos clientes na região em que o banco de dados stand-by entre regiões esteja passe por um Gateway de Serviço.
    2. Se o banco de dados stand-by estiver em um ponto final privado, você estabelecerá conexão com o banco de dados usando o ponto final privado visível em sua rede, sem a necessidade de configurar um Gateway de Serviço.
  3. Use conexões TLS unidirecionais sem uma wallet.

    Se você tiver configurado o TLS unidirecional para seu banco de dados principal, os bancos de dados stand-by já terão o TLS on-way configurado. Você não precisa fazer nenhuma configuração adicional em bancos de dados stand-by entre regiões.

  4. Configure seus clientes e camadas intermediárias para usar o TCP Fast Open.

Diagrama de Rede Conceitual para Conexões de Banco de Dados de Baixa Latência

Mostra o diagrama de rede conceitual para conexões de baixa latência usando pontos finais públicos e pontos finais privados para seu banco de dados.

Conexões de Baixa Latência Usando Ponto Final Privado com Aplicativo em Execução Dentro da Região do OCI

A seguir, descrição de adb-private-low-latency.eps
Descrição da ilustração adb-private-low-latency.eps

Conexões de Baixa Latência Usando Ponto Final Público com Aplicativo em Execução Dentro da Região do OCI

Veja a seguir a descrição da ilustração adb-public-low-latency.eps
Descrição da ilustração adb-public-low-latency.eps

Conexões de Baixa Latência Usando um Ponto Final Privado com Aplicativo em Execução em Data Center Local Conectado ao OCI Usando FastConnect

Veja a seguir a descrição da ilustração adb-fastconnect-private-low-latency.eps
Descrição da ilustração adb-fastconnect-private-low-latency.eps

Conexões de Baixa Latência Usando um Ponto Final Público com Aplicativo em Execução no Seu Data Center Local Conectado ao OCI Usando FastConnect

Veja a seguir a descrição da ilustração adb-fastconnect-public-low-latency.eps
Descrição da ilustração adb-fastconnect-public-low-latency.eps