Compartilhar via


Criar e gerenciar uma instância de banco de dados

Importante

Esse recurso está em Visualização Pública nas seguintes regiões: westus, , westus2, eastus, eastus2, centralus, southcentralus, , northeurope, westeurope, , australiaeast, , brazilsouth, , canadacentral, , centralindia, , southeastasiauksouth.

Para começar a usar cargas de trabalho OLTP, crie uma instância de banco de dados provisionado do Lakebase usando a interface do usuário do Azure Databricks, a chamada à API, o SDK do Python ou a CLI.

Criar uma instância de banco de dados

Crie uma instância de banco de dados com padrões recomendados. Você precisa fornecer um nome de instância (somente 1 a 63 caracteres, letras e hifens). Como criador, você é o proprietário do banco de dados com a databricks_superuser função.

A maioria dos usuários do workspace pode criar instâncias de banco de dados por padrão. Se você encontrar problemas de permissão, consulte as permissões da instância do banco de dados.

interface do usuário

  1. Clique em Computação na barra lateral do workspace.
  2. Clique na guia Lakebase Provisionado.
  3. Clique em Criar instância de banco de dados.
  4. Insira um nome de instância de banco de dados (somente 1 a 63 caracteres, letras e hifens).
  5. Clique em Criar.

SDK do Python

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}")

CLI

# 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
  }'

encurvar

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

Configurações avançadas

Você também pode configurar esses recursos durante a criação ou após a criação editando sua instância:

Característica Description
Política de orçamento sem servidor Selecione uma política de orçamento para sua instância de banco de dados para atribuir uso sem servidor e cobrança a orçamentos específicos. Você também pode adicionar marcas personalizadas.
Tamanho da instância Dimensione os recursos de computação para seus requisitos de desempenho de carga de trabalho (o padrão é 2).
Janela restaurar Defina a janela de retenção (2 a 35 dias, padrão 7 dias) para recuperação pontual.
Alta disponibilidade Adicione nós de failover para garantir a continuidade dos negócios para cargas de trabalho de produção.
Criar com base no pai Crie um clone de cópia na gravação de uma instância de banco de dados existente.

Parar ou iniciar uma instância

Para parar ou iniciar uma instância de banco de dados, você deve ter CAN MANAGE permissões nele. Para interromper ou iniciar uma instância, use a interface do usuário do Azure Databricks, a chamada à API, o SDK do Python ou a CLI.

interface do usuário

  1. Clique em Computação na barra lateral do workspace.
  2. Clique na guia Lakebase Provisionado.
  3. Clique na instância do banco de dados que você deseja parar ou iniciar.
  4. Clique em Parar ou Iniciar no canto superior direito da página.

SDK do Python

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}")

CLI

# 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
  }'

encurvar

A chamada à API a seguir 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

A chamada à API a seguir inicia 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 leituras.
  • O LDP (Lakeflow Spark Declarative Pipelines) não detecta instâncias interrompidas e pode retornar erros.
  • Catálogos registrados em instâncias paradas não mostram detalhes do esquema na interface do usuário.

Limitações funcionais:

  • Você não pode criar ou excluir DatabaseTables ou DatabaseCatalogs.
  • Você pode excluir ou redimensionar uma instância parada. As alterações de capacidade entrarão em vigor quando a instância for reiniciada.
  • Você pode parar pipelines.

Comportamento quando iniciado

  • A instância entra no STARTING estado e se torna AVAILABLE quando está pronta.

Limitações

  • O LDP não detecta instâncias interrompidas e pode retornar erros.
  • Catálogos registrados em instâncias paradas 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 CAN MANAGE permissões para a 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 workspace podem excluir instâncias de banco de dados que não possuem.

O Databricks recomenda excluir 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, tentar exibir catálogos ou executar consultas SQL que fazem referência a eles resultará em erros.

interface do usuário

  1. Clique em Computação na barra lateral do workspace.
  2. Clique na guia Lakebase Provisionado.
  3. Selecione a instância do banco de dados que você deseja excluir.
  4. Clique na guia Catálogos para exibir a lista completa de catálogos de banco de dados associados à instância do banco de dados.
  5. Para cada catálogo de banco de dados, exclua todas as tabelas sincronizadas, incluindo aquelas que estão localizadas em catálogos gerenciados e não são registradas como catálogos de banco de dados.
  6. Clique no ícone do menu Kebab.>Excluir catálogo.

SDK do Python

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
)

CLI

# 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
  }'

encurvar

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

Atualizar uma política de orçamento sem servidor de uma instância de banco de dados

As políticas de orçamento sem servidor consistem em marcas aplicadas a qualquer atividade de computação sem servidor incorrida por um usuário atribuído à política. Marcando uma instância de banco de dados com uma política de uso, você pode atribuir custos de cobrança e uso a políticas específicas, facilitando o rastreamento, o gerenciamento e o controle dos gastos entre recursos sem servidor.

Use a interface do usuário para atualizar a política de orçamento de uma instância de banco de dados:

  1. Clique em Computação na barra lateral do workspace.
  2. Clique na guia Lakebase Provisionado.
  3. Selecione a instância de banco de dados para a qual você deseja atualizar a política de cobrança.
  4. Clique em Editar no canto superior direito.
  5. Selecione uma política de orçamento sem servidor.
  6. Clique em Salvar.

Próximas etapas

Limitações e requisitos

As seções a seguir descrevem os limites e os requisitos de configuração para instâncias de banco de dados gerenciado. Para restrições sobre a criação e o uso da instância, consulte Limitações e considerações.

Requisitos de nome da instância

  • Deve ter de 1 a 63 caracteres.
  • Precisa começar com uma letra.
  • Pode conter apenas caracteres alfanuméricos e hifens.
  • Não é possível incluir dois hifens consecutivos.