O que são catálogos na Databricks?

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

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

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

Como devo organizar meus dados em catálogos?

Ao projetar seu modelo de governança de dados, o senhor deve pensar cuidadosamente nos catálogos que cria. Como o nível mais alto do modelo de governança de dados de 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 refletem as unidades organizacionais ou os escopos do ciclo de vida do desenvolvimento de software. O senhor pode optar, por exemplo, por ter um catálogo para dados de produção e um catálogo para dados de desenvolvimento, ou um catálogo para dados não confidenciais do cliente e outro para dados confidenciais do cliente.

Isolamento de dados usando catálogos

Em geral, cada catálogo tem seu próprio local de armazenamento gerenciar para armazenar tabelas e volumes gerenciar, proporcionando isolamento físico dos dados no nível do catálogo. O senhor também pode optar por armazenar dados no nível do metastore, fornecendo um local de armazenamento default para catálogos que não têm um local de armazenamento gerenciar próprio. O senhor pode adicionar armazenamento no nível do esquema para obter um isolamento de dados mais granular.

Como o Databricks account 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 em Databricks? e Os dados são fisicamente separados no armazenamento.

Privilégios em nível de catálogo

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

Para aplicar o princípio do menor privilégio, em que os usuários têm o mínimo de acesso necessário para realizar a tarefa requerida, normalmente o senhor concede acesso apenas aos objetos específicos ou ao nível da hierarquia que o usuário requer. Mas os privilégios em nível de 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, ele não poderá acessar essa tabela a menos que também tenha o privilégio USE CATALOG no catálogo que contém a tabela.

Para obter mais informações, consulte gerenciar Unity Catalog object ownership, General Unity Catalog privilege types, and governança de dados and data isolation building blocks.

Tipos de catálogo

Ao criar um catálogo, o senhor tem duas opções:

  • Catálogo padrão: o catálogo típico, usado como a unidade principal para organizar seus objetos de dados no Unity Catalog. Esse é o tipo de catálogo discutido neste artigo.

  • Catálogo externo: um objeto Unity Catalog que é usado somente em cenários de Federaçãolakehouse . Um catálogo externo espelha um banco de dados em um sistema de dados externo, permitindo que o senhor realize consultas somente leitura nesse sistema de dados em seu Databricks workspace. Veja o que é lakehouse Federation.

Além desses dois tipos de catálogo, o Databricks provisiona os seguintes catálogos automaticamente quando o senhor cria um novo workspace:

  • hive_metastore catálogo: Esse é o repositório de todos os dados gerenciados pelo legado Hive metastore no espaço de trabalho Databricks. Quando um site não existenteUnity Catalog workspace é convertido para Unity Catalog, todos os objetos registrados no site legado Hive metastore são exibidos em Unity Catalog no catálogo hive_metastore. Para obter informações sobre como trabalhar com o Hive metastore juntamente com o Unity Catalog, consulte Work with Unity Catalog and the legacy Hive metastore. O Hive metastore está obsoleto, e todos os espaços de trabalho do Databricks devem migrar para o Unity Catalog.

  • workspace Catálogo: Em todos os novos espaços de trabalho, esse catálogo é criado para o senhor pelo site default. Normalmente, ele compartilha o nome com o seu nome workspace. Se esse catálogo existir, todos os usuários do seu workspace (e somente o seu workspace) terão acesso a ele pelo default, 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. Veja o passo 1: Confirme se o site workspace está habilitado para Unity Catalog.

Catálogo padrão

Um catálogo default é configurado para cada workspace que está habilitado para Unity Catalog. O catálogo default permite que o senhor execute operações de dados sem especificar um catálogo. Se o senhor omitir o nome do catálogo de nível superior ao realizar operações de dados, o catálogo default será assumido.

Se o seu workspace foi ativado para Unity Catalog automaticamente, o catálogo de pré-provisionamento workspace é especificado como o catálogo default. Um administrador de workspace pode alterar o catálogo de default conforme necessário.

Para obter detalhes, consulte gerenciar o catálogo default .

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

Se o senhor usar o espaço de trabalho para isolar o acesso aos dados do usuário, talvez queira usar workspace-catalog bindings. workspaceAs vinculações de catálogo permitem que o senhor limite o acesso ao catálogo pelos limites do site workspace. Por exemplo, o senhor pode garantir que os administradores e usuários do workspace só possam acessar dados de produção em prod_catalog a partir de um ambiente de produção workspace, prod_workspace. Os catálogos são compartilhados com todos os espaços de trabalho anexados ao metastore atual, a menos que o senhor especifique uma associação. Consulte Organizar seus dados e Limitar o acesso ao catálogo a um espaço de trabalho específico.

Se o seu workspace foi habilitado para Unity Catalog automaticamente, o catálogo de pré-provisionamento workspace é vinculado ao seu workspace por default.