Partilhar via


Configurar para alta disponibilidade

Esta página descreve como configurar uma instância de banco de dados Lakebase para alta disponibilidade habilitando instâncias secundárias legíveis.

Importante

Esta funcionalidade está na Pré-visualização Pública nas seguintes regiões: westus, westus2, eastus, eastus2, centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth.

Para habilitar a alta disponibilidade, especifique nós adicionais como parte de uma instância de banco de dados. Se a computação primária se tornar inoperante ou indisponível, um nó de alta disponibilidade será utilizado para realizar o failover e o nó secundário será promovido a primário.

Você também pode habilitar secundários legíveis, onde os nós de alta disponibilidade podem servir cargas de trabalho somente leitura usando um ponto de extremidade DNS separado (instance-ro-{uuid} em comparação com instance-{uuid}).

Habilitar instância de banco de dados para alta disponibilidade

Se você definir o número de nós de alta disponibilidade como um, a alta disponibilidade e os secundários legíveis serão desativados. Caso contrário, terás um nó primário e os restantes serão nós de alta disponibilidade. O número máximo de nós de alta disponibilidade é de três por instância de banco de dados.

Especifique o número de nós de alta disponibilidade ao criar sua instância de banco de dados. Consulte Criar uma instância de banco de dados.

Execute as etapas a seguir para modificar a instância do banco de dados usando a interface do usuário ou a API.

IU

  1. Clique em Computação na barra lateral do espaço de trabalho.
  2. Clique na guia Instâncias de banco de dados .
  3. Selecione a instância do banco de dados que você deseja atualizar.
  4. Clique em Editar no canto superior direito.
  5. Insira o valor para o tamanho do nó do pool de HA (incluindo primário).
  6. Ative Ativar secundários legíveis.
  7. Clique em Salvar.

encaracolar

curl -s -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" $DBR_URL/database/instances/my-instance -d '{ “node_count”: 3, “enable_readable_secondaries” : true}'

Python SDK

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance

# Initialize the Workspace client
w = WorkspaceClient()

# Create a database instance with high availability
instance = w.database.create_database_instance(
    DatabaseInstance(
        name="my-database-instance",
        capacity="CU_1",
        node_count=3,  # Set the number of high availability nodes (including primary)
    )
)

print(f"Created database instance: {instance.name}")
print(f"Connection endpoint: {instance.read_write_dns}")

CLI

# Create a database instance
databricks database create-database-instance my-database-instance \
  --capacity CU_1 \
  --node-count 3

Resiliência computacional

Com os nós de alta disponibilidade configurados, a instância principal do banco de dados está protegida, assegurando alta disponibilidade. Se o nó primário ficar indisponível, a instância do banco de dados fará o failover automaticamente para um nó secundário, promovendo-o como o novo nó primário. Como os nós de computação são sem estado, as falhas não afetam os seus dados e a sua string de conexão permanece inalterada. A indisponibilidade é resolvida em segundos a minutos, dependendo do tipo de falha. Durante um failover, as ligações ativas são interrompidas, por isso a sua aplicação deve estar configurada para lidar com estas breves desconexões e reconectar-se automaticamente.

Os nós secundários em sua instância de banco de dados também são recuperados automaticamente em minutos quando ocorrem problemas. Se você habilitar secundários legíveis, o Databricks recomenda que você tenha pelo menos três nós de alta disponibilidade, caso o failover primário afete a conexão somente leitura. Seu aplicativo ainda precisa de um mecanismo de reconexão para lidar com o breve tempo de inatividade.

Executar consultas apenas de leitura a partir do Azure Databricks SQL Editor

Para se ligar aos seus secundários legíveis e executar consultas apenas de leitura a partir do editor SQL Azure Databricks, consulte Aceder a uma instância de base de dados a partir do editor SQL.

Limitações

  • O desempenho leva tempo para se recuperar. As consultas podem inicialmente correr mais lentamente até serem reconstruídas, porque o novo nó primário não tem dados específicos da sessão e existe uma cache local para dados frequentemente acedidos.
  • Não há suporte para replicação entre regiões. No caso de uma interrupção em toda a região, a disponibilidade depende do provedor de nuvem restaurar o serviço para a região afetada.