Criar e gerenciar uma instância de banco de dados
Visualização
Esse recurso está em Public Preview nas seguintes regiões: us-east-1
, us-west-2
, eu-west-1
, ap-southeast-1
, ap-southeast-2
, eu-central-1
, us-east-2
, ap-south-1
.
Para usar o Lakebase, você deve primeiro criar uma instância de banco de dados. Esta página explica como criar e gerenciar uma instância de banco de dados.
Criar uma instância de banco de dados
Para criar uma instância de banco de dados, utilize a interface do usuário do Databricks, chamada de API, SDK do Python ou CLI.
Para obter informações sobre ACLs, consulte ACLs de instância de banco de dados.
- UI
- Python SDK
- CLI
- curl
-
Clique em Computação na barra lateral do workspace.
-
Clique em Database instances (Instâncias de banco de dados ) tab.
-
Clique em Criar instância de banco de dados .
-
Insira um nome de instância do banco de dados.
-
(Opcional) Use o menu suspenso para escolher um tamanho de instância . Para obter detalhes sobre como escolher uma capacidade, consulte gerenciar a capacidade da instância.
-
(Opcional) Clique em Configurações avançadas para obter configurações adicionais.
- Em Janela de restauração , defina a janela de retenção, que determina o período a partir do qual você pode criar uma instância secundária para recuperação pontual. O período de retenção pode ser de 2 a 35 dias, sendo 7 dias o período mais comum default. Para obter mais detalhes, consulte Criar uma instância secundária.
- Se você quiser criar um clone copy-on-write da instância original do banco de dados, ative Create from parent. Para obter mais detalhes sobre os parâmetros adicionais, consulte Criar uma instância secundária.
- Se o senhor quiser que os nós de alta disponibilidade atendam a cargas de trabalho somente leitura usando um endpoint DNS separado, ative a opção Allow readable secondaries (Permitir secundários legíveis ). Para obter mais detalhes, consulte Habilitar instância de banco de dados para alta disponibilidade.
- Defina o número de nós adicionais para alta disponibilidade. Eles são conhecidos como nós secundários e realizam o failover se o nó primário falhar. Para obter orientação sobre qual número definir, consulte Configurar uma instância de banco de dados para alta disponibilidade e habilitar instâncias secundárias legíveis.
-
Clique em Criar .
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance
# Initialize the Workspace client
w = WorkspaceClient()
# Create a database instance
instance = w.database.create_database_instance(
DatabaseInstance(
name="my-database-instance",
capacity="CU_1"
)
)
print(f"Created database instance: {instance.name}")
print(f"Connection endpoint: {instance.read_write_dns}")
# Create a database instance
databricks database create-database-instance my-database-instance \
--capacity CU_1
# Create with advanced options (using JSON for more complex parameters)
databricks database create-database-instance \
--json '{
"name": "my-database-instance",
"capacity": "CU_2",
"retention_window_in_days": 14
}'
Crie uma instância de banco de dados e especifique uma janela de retenção.
export PAT=<YOUR_PAT>
export INSTANCE_NAME="instance_name"
> curl -X POST --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://[your databricks workspace]/api/2.0/database/instances \
--data-binary @- << EOF
{
"name": "$INSTANCE_NAME",
"capacity": "CU_1",
"retention_window_in_days": 14
}
EOF
Parar ou começar uma instância
Para interromper ou iniciar uma instância do banco de dados, é necessário ter permissões de CAN MANAGE
e sobre ela. Para interromper ou iniciar uma instância, utilize a interface do usuário “ Databricks ”, a chamada “ API ”, “ Python SDK” ou “ CLI”.
- UI
- Python SDK
- CLI
- curl
- Clique em Computação na barra lateral do workspace.
- Clique em Database instances (Instâncias de banco de dados ) tab.
- Clique na instância do banco de dados que o senhor deseja interromper ou começar.
- Clique em Parar ou começar no canto superior direito da página.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance
# Initialize the Workspace client
w = WorkspaceClient()
# Stop a database instance
instance_name = "my-database-instance"
w.database.update_database_instance(
name=instance_name,
database_instance=DatabaseInstance(
name=instance_name,
stopped=True
),
update_mask="*"
)
print(f"Stopped database instance: {instance_name}")
# Start a database instance
w.database.update_database_instance(
name=instance_name,
database_instance=DatabaseInstance(
name=instance_name,
stopped=False
),
update_mask="*"
)
print(f"Started database instance: {instance_name}")
# Stop a database instance
databricks database update-database-instance my-database-instance \
--json '{
"stopped": true
}'
# Start a database instance
databricks database update-database-instance my-database-instance \
--json '{
"stopped": false
}'
A seguinte chamada de API interrompe uma instância de banco de dados.
-X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
"stopped": true
}
EOF
O seguinte API chama o senhor de começar uma instância de banco de dados.
curl -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
"stopped": false
}
EOF
Comportamento quando interrompido
Comportamento da instância do banco de dados
- Os dados são preservados.
- A instância não pode ser usada para operações de leitura ou gravação.
- As tabelas sincronizadas não servem para leituras.
- LakeFlow O pipeline declarativo (LDP) não detecta instâncias paradas e pode retornar erros.
- Catálogos registrados em instâncias interrompidas não mostram detalhes do esquema na interface do usuário.
Limitações funcionais:
- Você não pode criar nem excluir
DatabaseTables
ouDatabaseCatalogs
. - Você pode excluir ou redimensionar uma instância interrompida. As mudanças de capacidade entram em vigor quando a instância é reiniciada.
- O senhor pode interromper o pipeline.
Comportamento ao começar
- A instância entra no estado
STARTING
e se tornaAVAILABLE
quando estiver pronta.
Limitações
- O LDP não detecta instâncias interrompidas e pode retornar erros.
- Catálogos registrados em instâncias interrompidas não mostram detalhes do esquema na interface do usuário.
Excluir uma instância
Tenha cuidado ao excluir a instância do banco de dados, pois isso excluirá todos os dados associados.
Você deve ter as permissões CAN MANAGE
na instância do banco de dados. Se você não for o proprietário das tabelas ou catálogos, deverá reatribuir a propriedade para si mesmo. os administradores do espaço de trabalho podem excluir instâncias de banco de dados que não lhes pertencem.
A Databricks recomenda a exclusão de todos os catálogos do Unity Catalog associados, tabelas sincronizadas e instâncias filhas antes de excluir a instância do banco de dados. Caso contrário, a tentativa de acessar view catálogos ou executar SQL consultas que fazem referência a eles resultará em erros.
- UI
- Python SDK
- CLI
- curl
- Clique em Computação na barra lateral do workspace.
- Clique em Database instances (Instâncias de banco de dados ) tab.
- Selecione a instância do banco de dados que você deseja excluir.
- Clique em Catalogs (Catálogos ) tab para view a lista completa de catálogos de banco de dados associados à instância do banco de dados.
- Para cada catálogo de banco de dados, exclua todas as tabelas sincronizadas, inclusive as que estão localizadas em catálogos gerenciais e não estão registradas como catálogos de banco de dados.
- Clique em
> Excluir catálogo .
from databricks.sdk import WorkspaceClient
# Initialize the Workspace client
w = WorkspaceClient()
# Delete a database instance
instance_name = "my-database-instance"
w.database.delete_database_instance(
name=instance_name,
purge=True # Required to delete the instance
)
print(f"Deleted database instance: {instance_name}")
# Delete with force option (to delete child instances too)
w.database.delete_database_instance(
name=instance_name,
force=True, # Delete child instances too
purge=True
)
# Delete a database instance
databricks database delete-database-instance my-database-instance \
--purge
# Delete with force option (to delete child instances too)
databricks database delete-database-instance my-database-instance \
--json '{
"force": true,
"purge": true
}'
purge=true
deve ser especificado para excluir uma instância de banco de dados.
curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME?purge=true
Próximas etapas
- Permitir que outros usuários acessem a instância do banco de dados a partir do Databricks. Consulte Funções, acesso e privilégios do banco de dados e Criar e gerenciar funções do Postgres para identidades do Databricks.
- Conecte-se e consulte sua instância de banco de dados a partir de ferramentas externas, do editor SQL ou de um Notebook.
- registro da instância do banco de dados em Unity Catalog.
- Sincronizar dados de tabelas existentes do Unity Catalog.
Limitações e requisitos
As seções a seguir descrevem os limites e os requisitos de configuração das instâncias do banco de dados gerenciar. Para restrições na criação e uso de instâncias, consulte Limitações e considerações.
Requisitos de nome de instância
- Deve ter de 1 a 63 caracteres.
- Deve começar com uma carta.
- Pode conter somente caracteres alfanuméricos e hífens.
- Não é possível incluir dois hífens consecutivos.