Objetos de bancos de dados no Azure Databricks
O Azure Databricks usa dois objetos protegíveis primários para armazenar e acessar dados.
- As tabelas controlam o acesso a dados tabulares.
- Os volumes controlam o acesso a dados não tabulares.
Este artigo descreve como esses objetos de banco de dados se relacionam com catálogos, esquemas, visualizações e outros objetos de banco de dados no Azure Databricks. Este artigo também oferece uma introdução geral sobre como os objetos de banco de dados funcionam no contexto da arquitetura geral da plataforma.
O que são objetos de banco de dados no Azure Databricks?
Objetos de banco de dados são entidades que ajudam você a organizar, acessar e controlar dados. O Azure Databricks usa uma hierarquia de três camadas para organizar os objetos de banco de dados:
- Catálogo: O contêiner de nível superior, que contém esquemas. Confira O que são os catálogos do Azure Databricks?.
- Esquema ou banco de dados: contém objetos de dados. Veja O que são esquemas no Azure Databricks?.
- Objetos de dados que podem ser contidos em um esquema:
- Volume: um volume lógico de dados não tabulares no armazenamento de objetos na nuvem. Confira O que são os volumes do Catálogo do Unity?.
- Tabela: uma coleção de dados organizada por linhas e colunas. Consulte O que são tabelas e exibições?.
- Visualização: uma consulta salva em uma ou mais tabelas. Consulte O que é uma exibição?.
- Função: lógica salva que retorna um conjunto de linhas ou um valor escalar. Consulte UDFs (funções definidas pelo usuário) no Catálogo do Unity.
- Modelo: um modelo de machine learning empacotado com o MLflow. Consulte Gerenciar o ciclo de vida do modelo no Catálogo Unity.
Os catálogos são registrados em um metastore gerenciado no nível da conta. Somente os administradores interagem diretamente com o metastore. Confira Metastores.
O Azure Databricks oferece ativos adicionais para trabalhar com dados, todos os quais podem ser gerenciados usando controles de acesso no nível do workspace ou o Catálogo do Unity, a solução de governança de dados do Databricks:
- Ativos de dados no nível do workspace, como notebooks, trabalhos e consultas.
- Objetos protegíveis do Catálogo do Unity, como credenciais de armazenamento e compartilhamentos do Compartilhamento Delta, que controlam principalmente o acesso ao armazenamento ou o compartilhamento seguro.
Para obter mais informações, consulte Objetos de banco de dados versus ativos de dados protegíveis do workspace e Credenciais e infraestrutura protegíveis do Catálogo do Unity.
Gerenciar o acesso a objetos de banco de dados usando o Catálogo do Unity
Você pode conceder e revogar o acesso a objetos de banco de dados em qualquer nível na hierarquia, incluindo o próprio metastore. O acesso a um objeto concede implicitamente o mesmo acesso a todos os filhos desse objeto, a menos que o acesso seja revogado.
Você pode usar comandos típicos do SQL ANSI para conceder e revogar o acesso a objetos no Catálogo do Unity. Você também pode usar o Gerenciador de Catálogos para gerenciar privilégios de objetos de dados através da interface do usuário.
Para obter mais informações sobre como proteger objetos no Catálogo do Unity, consulte Objetos protegíveis no Catálogo do Unity.
Permissões de objeto padrão no Catálogo do Unity
Dependendo de como seu workspace foi criado e habilitado para o Catálogo do Unity, os usuários podem ter permissões padrão em catálogos provisionados automaticamente, incluindo o catálogo main
ou o catálogo de workspaces (<workspace-name>
). Para obter mais informações, consulte Privilégios de usuário padrão.
Se seu espaço de trabalho foi habilitado manualmente para o Catálogo do Unity, ele incluirá um esquema padrão, chamado default
, no catálogo main
, que estará acessível a todos os usuários no seu espaço de trabalho. Se seu espaço de trabalho foi habilitado para o Catálogo do Unity automaticamente e inclui um catálogo <workspace-name>
, esse catálogo contém um esquema chamado default
acessível a todos os usuários em seu espaço de trabalho.
Objetos de banco de dados versus ativos de dados protegíveis do workspace
O Azure Databricks permite que você gerencie vários ativos de engenharia de dados, análises, ML e IA juntamente com seus objetos de banco de dados. Você não registra esses ativos de dados no Catálogo do Unity. Em vez disso, esses ativos são gerenciados no nível do workspace, usando listas de controle para controlar permissões. Esses ativos de dados incluem o seguinte:
- Notebooks
- Dashboards
- Trabalhos
- Pipelines
- Arquivos de workspace
- Consultas SQL
- Experimentos
A maioria dos ativos de dados contém lógica que interage com objetos de banco de dados para consultar dados, usar funções, registrar modelos ou realizar outras tarefas comuns. Para saber mais sobre como proteger ativos de dados do workspace, consulte Listas de controle de acesso.
Observação
O acesso à computação é controlado por listas de controle de acesso. Você configura a computação com um modo de acesso e pode adicionar permissões adicionais na nuvem, que controlam como os usuários podem acessar os dados. O Databricks recomenda o uso de políticas de computação e a restrição dos privilégios de criação de clusters como uma prática recomendada de governança de dados. Consulte Modos de acesso.
Infraestrutura e credenciais protegíveis do Catálogo do Unity
O Catálogo do Unity gerencia o acesso ao armazenamento de objetos na nuvem, o compartilhamento de dados e a federação de consultas usando objetos protegíveis registrados no nível do metastore. A seguir estão breves descrições desses objetos não protegíveis de dados.
Conectar o Catálogo do Unity ao armazenamento de objetos na nuvem
Você deve definir credenciais de armazenamento e locais externos para criar um novo local de armazenamento gerenciado ou para registrar tabelas externas ou volumes externos. Esses objetos protegíveis são registrados no Catálogo do Unity:
- Credencial de armazenamento: uma credencial de nuvem de longo prazo que fornece acesso ao armazenamento na nuvem.
- Local externo: uma referência a um caminho de armazenamento de objetos na nuvem acessível usando a credencial de armazenamento associada.
Consulte Conectar-se ao armazenamento de objetos e serviços na nuvem usando o Catálogo do Unity.
Compartilhamento Delta
O Azure Databricks registra os seguintes objetos protegíveis de Compartilhamento Delta no Catálogo do Unity:
- Compartilhamento: uma coleção somente leitura de tabelas, volumes e outros ativos de dados.
- Provedor: a organização ou entidade que compartilha dados. No modelo de compartilhamento Databricks-para-Databricks, o provedor é registrado no metastore do Catálogo do Unity do destinatário como uma entidade única identificada pela sua ID de metastore.
- Destinatário: a entidade que recebe compartilhamentos de um provedor. No modelo de compartilhamento Databricks-para-Databricks, o destinatário é identificado para o provedor pela sua ID de metastore exclusiva.
Confira O que é o Compartilhamento Delta?.
Federação do Lakehouse
Uma federação de lakehouse permite que você crie catálogos estrangeiros para fornecer acesso somente leitura a dados que residem em outros sistemas, como PostgreSQL, MySQL e Snowflake. Você deve definir uma conexão com o sistema externo para criar catálogos estrangeiros.
Conexão: um objeto protegível do Catálogo do Unity que especifica um caminho e credenciais para acessar um sistema de banco de dados externo em um cenário de federação de lakehouse.
Confira O que é Federação do Lakehouse?.
Locais de armazenamento gerenciado para volumes e tabelas gerenciados
Ao criar tabelas e volumes do Azure Databricks, você tem a opção de torná-los gerenciados ou externos. O Catálogo do Unity gerencia o acesso a tabelas e volumes externos no Azure Databricks, mas não controla os arquivos subjacentes nem gerencia completamente o local de armazenamento desses arquivos. Tabelas e volumes gerenciados, por outro lado, são totalmente gerenciados pelo Catálogo do Unity e são armazenados em um local de armazenamento gerenciado que está associado ao esquema que os contém. Consulte Especificar um local de armazenamento gerenciado no catálogo do Unity.
O Databricks recomenda volumes gerenciados e tabelas gerenciadas para a maioria das cargas de trabalho, pois eles simplificam a configuração, a otimização e a governança.
Catálogo do Unity versus metastore herdado do Hive
O Databricks recomenda o uso do Catálogo do Unity para registrar e governar todos os objetos de banco de dados, mas também oferece suporte herdado para o metastore do Hive para gerenciar esquemas, tabelas, visualizações e funções.
Se você estiver interagindo com objetos de banco de dados registrados usando o metastore do Hive, consulte Objetos de banco de dados no metastore herdado do Hive.