Partilhar via


Criar e gerenciar uma instância de banco de dados

Importante

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

Para começar com cargas de trabalho OLTP, crie uma instância de base de dados Lakebase Provisioned utilizando a interface do utilizador do Azure Databricks, uma chamada da 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 ocorrência (apenas de 1 a 63 caracteres, letras e hífenes). Como criador, você é o proprietário do banco de dados com a databricks_superuser função.

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

IU

  1. Clique em Computação na barra lateral do espaço de trabalho.
  2. Clique no separador Lakebase Provisioned.
  3. Clique em Criar instância de banco de dados.
  4. Insira um nome de instância de banco de dados (apenas de 1 a 63 caracteres, letras e hífenes).
  5. Clique em Criar.

Python SDK

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

encaracolar

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 o uso e o faturamento sem servidor a orçamentos específicos. Você também pode adicionar tags personalizadas.
Tamanho da instância Dimensione 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 point-in-time.
Alta disponibilidade Adicione nós de failover para garantir a continuidade de negócios para cargas de trabalho de produção.
Criar a partir do pai Crie um clone copy-on-write a partir 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 sobre ela. Para parar ou iniciar uma instância do Azure Databricks, utilize a interface gráfica do utilizador, uma chamada de API, o SDK Python ou a CLI.

IU

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

Python SDK

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

encaracolar

A chamada de 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 de 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 parado

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 Lakeflow Spark Declarative Pipelines (LDP) não deteta instâncias interrompidas e pode retornar erros.
  • Os catálogos registados em instâncias paradas não mostram detalhes do esquema na interface.

Limitações funcionais:

  • Não é possível criar ou excluir DatabaseTables ou DatabaseCatalogs.
  • Você pode excluir ou redimensionar uma instância interrompida. As alterações de capacidade entram em vigor quando a instância é reiniciada.
  • Você pode parar os oleodutos.

Comportamento ao iniciar

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

Limitações

  • O LDP não deteta instâncias interrompidas e pode retornar erros.
  • Os catálogos registados em instâncias paradas não mostram detalhes do esquema na interface.

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 na instância do banco de dados. Se você não for o proprietário das tabelas ou catálogos, deverá reatribuir a propriedade a si mesmo. Os administradores de espaço de trabalho podem excluir instâncias de banco de dados que não possuem.

O Databricks recomenda excluir todos os catálogos 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.

IU

  1. Clique em Computação na barra lateral do espaço de trabalho.
  2. Clique no separador Lakebase Provisioned.
  3. Selecione a instância do banco de dados que 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 estão registradas como catálogos de banco de dados.
  6. Clique no ícone do menu Kebab.>Excluir catálogo.

Python SDK

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

encaracolar

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 que são aplicadas a qualquer atividade de computação sem servidor incorrida por um usuário atribuído à política. Ao marcar uma instância de banco de dados com uma política de uso, você pode atribuir custos de faturamento e uso a políticas específicas, facilitando o rastreamento, o gerenciamento e o controle de gastos em 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 espaço de trabalho.
  2. Clique no separador Lakebase Provisioned.
  3. Selecione a instância do banco de dados para a qual 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óximos passos

Limitações e requisitos

As seções a seguir descrevem limites e requisitos de configuração para instâncias de banco de dados gerenciado. 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 letra.
  • Pode conter apenas caracteres alfanuméricos e hífenes.
  • Não pode incluir dois hífenes consecutivos.