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 será 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 se conectando ao Autonomous Database e enviando milhares de instruções SQL ao banco de dados individualmente para executar uma ordem de venda. Nesse caso, o aplicativo exige milhares de round-trips, e a redução da latência para cada round-trip 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 para conexões de banco de dados.

Etapas para Reduzir a Latência de 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 da 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 Visão Geral do FastConnect 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, estabelecerá conexão com o banco de dados usando o ponto final privado visível na 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 executadas para configurar um ambiente stand-by do Autonomous Data Guard, clientes e camadas intermediárias, 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 você 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 switchover para o banco de dados stand-by, o stand-by local se torna 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 camadas intermediárias 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 as camadas intermediárias no mesmo domínio de disponibilidade que o 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, ao criar a instância de computação, selecione o mesmo domínio de disponibilidade para a VM de Computação 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 das 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. Não é necessário 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 do Autonomous Data Guard entre regiões, os bancos de dados stand-by entre regiões serão adicionados às regiões selecionadas quando você adicionar um par entre regiões. Quando você faz failover ou switchover para um banco de dados stand-by do Autonomous Data Guard entre regiões, 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, em caso de falha ou após um switchover, seus aplicativos possam continuar funcionando.

Primeiro, verifique se a sua recuperação de desastre inclui pelo menos um stand-by do 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 camadas intermediárias 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 as camadas intermediárias no mesmo domínio de disponibilidade que os bancos de dados stand-by entre regiões.

    Para determinar os domínios de disponibilidade para bancos de dados stand-by do Autonomous Data Guard entre regiões, 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 = 'cross-region';

    Por exemplo, quando você tem dois bancos de dados stand-by entre regiões, a execução deste comando mostra os domínios de disponibilidade para 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 as camadas intermediárias 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, ao criar a instância de computação, selecione o mesmo domínio de disponibilidade para a VM de Computação 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 de uma região individual devem usar o mesmo domínio de disponibilidade do 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 Visão Geral do FastConnect 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 está, passe por um Gateway de Serviço.
    2. Se o banco de dados stand-by estiver em um ponto final privado, você se conectará ao banco de dados usando o ponto final privado visível na 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 um TLS unidirecional para seu banco de dados principal, os bancos de dados stand-by já terão um TLS unidirecional configurado. Não é necessário 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 na Região do OCI

Segue a descrição da ilustração 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 na Região do OCI

A descrição da ilustração adb-public-low-latency.eps segue
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 no Data Center Local Conectado ao OCI Usando FastConnect

Segue 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

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