Partilhar via


Quais são os catalogs no Azure Databricks?

Um catalog é 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 catalogs no Unity Catalog e a melhor forma de usá-los.

Catalogs são a primeira camada no namespace de três níveis do Unity Catalog(catalog.schema.table-etc). Eles contêm esquemas, que por sua vez podem conter tables, views, volumes, modelos e funções. Catalogs estão registados em um metastore Unity Catalog na sua conta do Azure Databricks.

Unity Catalog diagrama de modelo de objeto, focado em catalog

Como devo organizar os meus dados em catalogs?

Ao projetar seu modelo de governança de dados, você deve pensar cuidadosamente nas catalogs criadas. Como o nível mais alto no modelo de governança de dados da sua organização, cada catalog 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 se propague por esquemas e pelos objetos de dados que eles contêm. Portanto, Catalogs muitas vezes espelham unidades organizacionais ou escopos do ciclo de vida de desenvolvimento de software. Você pode escolher, por exemplo, ter um catalog para dados de produção e um catalog para dados de desenvolvimento, ou um catalog para dados de não clientes e um para dados confidenciais de clientes.

Isolamento de dados usando catalogs

Cada catalog normalmente tem o seu próprio local de armazenamento gerido para armazenar tables e volumes, garantindo o isolamento físico dos dados ao nível catalog. Você também pode optar por armazenar dados no nível do metastore, fornecendo um local de armazenamento padrão para catalogs que não tenham um local de armazenamento gerenciado próprio. Você pode adicionar armazenamento no nível schema para um isolamento de dados mais granular.

Como sua conta do Azure Databricks tem um metastore por região, catalogs 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 de nível Catalog

Como as concessões sobre qualquer objeto de Unidade Catalog são herdadas por descendentes desse objeto, é muito poderoso ter amplos privilégios em um catalog ao possuir um catalog ou having. Por exemplo, os proprietários de catalog têm todos os privilégios no catalog e nos objetos no catalog, e podem ter grant acesso a qualquer objeto no catalog. Os utilizadores com SELECT em um(a) catalog podem ler qualquer table no catalog. Utilizadores com CREATE TABLE num catalog podem criar um table em qualquer schema no catalog.

Para aplicar o princípio de menor privilégio, os utilizadores where têm o acesso mínimo necessário para executar as suas tarefas, normalmente você grant somente aos objetos ou ao nível específico na hierarquia que o utilizador exige. Mas os privilégios de nível catalogpermitem que o proprietário do catalog controle o que os donos de objetos de níveis inferiores podem grant. Mesmo que um usuário tenha acesso a um objeto de dados de baixo nível, como um table, por exemplo, esse usuário não poderá acessar esse table a menos que também tenha o privilégio de USE CATALOG no catalog que contém o table.

Para obter mais informações, consulte Gerenciar o Unity Catalogde propriedade do objeto, Unity geral Catalog tipos de privilégioe Governança de dados e blocos de construção de isolamento de dados.

Catalog tipos

Ao criar um catalog, você tem duas opções:

  • catalog padrão: o catalogtípico , usado como a unidade primária para organizar seus objetos de dados no Unity Catalog. Este é o tipo catalog discutido neste artigo.
  • Foreign : um objeto Unity que é usado apenas em cenários Lakehouse Federation. Uma catalog estrangeira espelha um banco de dados num sistema de base de dados externo, permitindo executar consultas somente de leitura nesse sistema de dados no seu espaço de trabalho do Azure Databricks. Veja O que é Lakehouse Federation?.

Além desses dois tipos de catalog, o Azure Databricks provisiona as seguintes catalogs 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_metastorecatalog. Para obter informações sobre como trabalhar com o metastore do Hive ao lado do 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 Unity Catalog.
  • catalog de espaço de trabalho: Em todos os novos espaços de trabalho, esse catalog é criado para você por padrão. Normalmente, ele shares seu nome com o nome do seu espaço de trabalho. Se esse catalog existir, todos os usuários em seu espaço de trabalho (e apenas 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 Unity Catalog.

Padrão catalog

Um catalog padrão é configurado para cada espaço de trabalho que está habilitado para Unity Catalog. A catalog padrão permite realizar operações de dados sem especificar um catalog. Se omitir o nome de nível superior do catalog quando realizar operações de dados, o catalog padrão será assumido.

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

Para obter detalhes, consulte Gerenciar o catalogpadrão .

Espaço de trabalho - ligaçãocatalog

Se você usar espaços de trabalho para isolar o acesso aos dados do usuário, convém usar associações decatalog de espaço de trabalho. Espaço de trabalho - associaçõescatalog permitem limitcatalog acesso com 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. Catalogs são partilhados com todos os espaços de trabalho anexados ao metastore atual, a menos que especifique uma vinculação. Consulte Organizar seus dados e Limitcatalog acesso a espaços de trabalho específicos.

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

Mais informações