Compartilhar via


O que são catálogos no Azure Databricks?

Um catálogo é a unidade primária da organização de dados no modelo de governança de dados do Azure Databricks Unity Catalog. Este artigo fornece uma visão geral dos catálogos no Unity Catalog e a melhor forma de usá-los.

Os catálogos são a primeira camada no namespace de três níveis () do Unitycatalog.schema.table-etc Catalog. Eles contêm esquemas, que por sua vez podem conter tabelas, exibições, volumes, modelos e funções. Os catálogos são registrados em um metastore do Unity Catalog em sua conta do Azure Databricks.

Diagrama de modelo de objeto do Unity Catalog, focado no catálogo

Como devo organizar os meus dados em catálogos?

Ao projetar seu modelo de governança de dados, você deve pensar cuidadosamente nos catálogos criados. Como o nível mais alto no modelo de governança de dados da sua organização, cada catálogo deve representar uma unidade lógica de isolamento de dados e uma categoria lógica de acesso a dados, permitindo que uma hierarquia eficiente de concessões flua até os esquemas e os objetos de dados que eles contêm. Portanto, os catálogos geralmente espelham unidades organizacionais ou escopos do ciclo de vida de desenvolvimento de software. Você pode escolher, por exemplo, ter um catálogo para dados de produção e um catálogo para dados de desenvolvimento, ou um catálogo para dados de não clientes e um para dados confidenciais de clientes.

Isolamento de dados usando catálogos

Cada catálogo normalmente tem seu próprio local de armazenamento gerenciado para armazenar tabelas e volumes gerenciados, fornecendo isolamento de dados físicos no nível do catálogo. Você também pode optar por armazenar dados no nível do metastore, fornecendo um local de armazenamento padrão para catálogos que não têm um local de armazenamento gerenciado próprio. Você pode adicionar armazenamento no nível do esquema para um isolamento de dados mais granular.

Como sua conta do Azure Databricks tem um metastore por região, os catálogos são inerentemente isolados por região.

Para obter mais informações, consulte O que são objetos de banco de dados no Azure Databricks? e Os dados estão fisicamente separados no armazenamento.

Privilégios no nível do catálogo

Como as concessões em qualquer objeto Unity Catalog são herdadas por filhos desse objeto, possuir um catálogo ou ter amplos privilégios em um catálogo é muito poderoso. Por exemplo, os proprietários do catálogo têm todos os privilégios no catálogo e nos objetos no catálogo e podem conceder acesso a qualquer objeto no catálogo. Os usuários com SELECT em um catálogo podem ler qualquer tabela no catálogo. Os usuários com CREATE TABLE em um catálogo podem criar uma tabela em qualquer esquema no catálogo.

Para impor o princípio de menor privilégio, em que os usuários têm o acesso mínimo necessário para executar suas tarefas necessárias, normalmente você concede acesso apenas aos objetos ou níveis específicos na hierarquia que o usuário exige. Mas os privilégios no nível do catálogo permitem que o proprietário do catálogo gerencie o que os proprietários de objetos de nível inferior podem conceder. Mesmo que um usuário tenha acesso a um objeto de dados de baixo nível, como uma tabela, por exemplo, esse usuário não poderá acessar essa tabela, a menos que também tenha o USE CATALOG privilégio no catálogo que contém a tabela.

Para obter mais informações, consulte Manage Unity Catalog object ownership, General Unity Catalog privilege types e Data governance and data isolation building blocks.

Tipos de catálogo

Ao criar um catálogo, você tem duas opções:

  • Catálogo padrão: o catálogo típico, usado como a unidade primária para organizar seus objetos de dados no Unity Catalog. Este é o tipo de catálogo discutido neste artigo.
  • Catálogo estrangeiro: um objeto Unity Catalog que é usado somente em cenários de Lakehouse Federation . Um catálogo estrangeiro espelha um banco de dados em um sistema de dados externo, permitindo que você execute consultas somente leitura nesse sistema de dados em seu espaço de trabalho do Azure Databricks. Veja O que é Lakehouse Federation.

Além desses dois tipos de catálogo, o Azure Databricks provisiona os seguintes catálogos automaticamente quando você cria um novo espaço de trabalho:

  • hive_metastore catalog: este é o repositório de todos os dados gerenciados pelo metastore herdado do Hive nos espaços de trabalho do Azure Databricks. Quando um espaço de trabalho existente que não seja do Unity Catalog é convertido em Unity Catalog, todos os objetos registrados no metastore herdado do Hive são exibidos no Unity Catalog no hive_metastore catálogo. Para obter informações sobre como trabalhar com o metastore do Hive junto com o Unity Catalog, consulte Trabalhar com o Unity Catalog e o metastore herdado do Hive. O metastore do Hive foi preterido e todos os espaços de trabalho do Azure Databricks devem migrar para o Catálogo Unity.
  • Catálogo de espaços de trabalho: em todos os novos espaços de trabalho, esse catálogo é criado para você por padrão. Normalmente, ele compartilha seu nome com o nome do espaço de trabalho. Se esse catálogo existir, todos os usuários em seu espaço de trabalho (e somente seu espaço de trabalho) terão acesso a ele por padrão, o que o torna um local conveniente para os usuários experimentarem o processo de criação e acesso a objetos de dados no Unity Catalog. Consulte Etapa 1: Confirmar se seu espaço de trabalho está habilitado para o Catálogo Unity.

Catálogo padrão

Um catálogo padrão é configurado para cada espaço de trabalho habilitado para o Unity Catalog. O catálogo padrão permite executar operações de dados sem especificar um catálogo. Se você omitir o nome do catálogo de nível superior ao executar operações de dados, o catálogo padrão será assumido.

Se seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, o catálogo de espaço de trabalho pré-provisionado será especificado como o catálogo padrão. Um administrador de espaço de trabalho pode alterar o catálogo padrão conforme necessário.

Para obter detalhes, consulte Gerenciar o catálogo padrão.

Vinculação de catálogo de espaço de trabalho

Se você usar espaços de trabalho para isolar o acesso aos dados do usuário, convém usar associações de catálogo de espaço de trabalho. As associações de catálogo de espaço de trabalho permitem limitar o acesso ao catálogo por limites de espaço de trabalho. Por exemplo, você pode garantir que os administradores e usuários do espaço de trabalho só possam acessar dados de produção em prod_catalog um ambiente de espaço de trabalho de produção, prod_workspace. Os catálogos são compartilhados com todos os espaços de trabalho anexados ao metastore atual, a menos que você especifique uma associação. Consulte Organizar seus dados e Limitar o acesso do catálogo a espaços de trabalho específicos.

Se seu espaço de trabalho foi habilitado para o Unity Catalog automaticamente, o catálogo de espaço de trabalho pré-provisionado será vinculado ao seu espaço de trabalho por padrão.

Mais informações