Compartilhar via


Metadados compartilhados do Azure Synapse Analytics

O Azure Synapse Analytics permite que os diferentes mecanismos computacionais do workspace compartilhem bancos de dados e tabelas entre os pools do Apache Spark e o pool de SQL sem servidor.

O compartilhamento dá suporte ao chamado padrão de data warehouse moderno e fornece aos mecanismos SQL do workspace acesso às tabelas e aos bancos de dados criados com o Spark. Ele também permite que os mecanismos SQL criem os próprios objetos que não estão sendo compartilhados com os outros mecanismos.

Dar suporte ao data warehouse moderno

O modelo de metadados compartilhados dá suporte ao padrão de data warehouse moderno da seguinte maneira:

  1. Os dados do data lake são preparados e estruturados de maneira eficiente com o Spark, armazenando os dados preparados em tabelas com suporte do Parquet (possivelmente particionadas) contidas, provavelmente, em vários bancos de dados.

  2. Os bancos de dados criados pelo Spark e todas as tabelas se tornam visíveis em uma das instâncias do Pool do Spark do workspace do Azure Synapse e podem ser usados em um dos trabalhos do Spark. Essa funcionalidade está sujeita às permissões, pois todos os pools do Spark em um workspace compartilham o armazenamento de metadados de catálogo subjacente.

  3. Os bancos de dados criados pelo Spark e as tabelas com backup em Parquet ou em CSV correspondentes ficam visíveis no pool de SQL sem servidor do workspace. Os bancos de dados são criados automaticamente nos metadados do pool de SQL sem servidor e as tabelas externas e gerenciadas criadas por um trabalho do Spark ficam acessíveis como tabelas externas nos metadados do pool de SQL sem servidor no esquema dbo do banco de dados correspondente.

A sincronização de objeto ocorre de maneira assíncrona. Os objetos terão um pequeno atraso de alguns segundos até que sejam exibidos no contexto de SQL. Depois de serem exibidos, eles poderão ser consultados, mas não atualizados nem alterados pelos mecanismos SQL que têm acesso a eles.

Objetos de metadados compartilhados

O Spark permite criar bancos de dados, tabelas externas, tabelas gerenciadas e exibições. Como as exibições do Spark exigem um mecanismo do Spark para processar a instrução SQL de definição do Spark e não podem ser processadas por um mecanismo SQL, somente os bancos de dados e as tabelas externas e gerenciadas independentes que usam o formato de armazenamento Parquet ou CSV são compartilhados com o mecanismo SQL do workspace. As exibições do Spark são compartilhadas apenas entre as instâncias do Pool do Spark.

Visão rápida do modelo de segurança

Os bancos de dados e as tabelas do Spark, juntamente com as respectivas representações sincronizadas no mecanismo SQL, são protegidos no nível de armazenamento subjacente. Quando a tabela é consultada por um dos mecanismos que o emissor da consulta tem o direito de usar, a entidade de segurança do emissor da consulta é transmitida para os arquivos subjacentes. As permissões são verificadas no nível do sistema de arquivos.

Para obter mais informações, confira Banco de dados compartilhado do Azure Synapse Analytics.

Alterar manutenção

Se um objeto de metadados for excluído ou alterado com o Spark, as alterações serão coletadas e propagadas para o pool de SQL sem servidor. A sincronização é assíncrona e as alterações são refletidas no mecanismo SQL após um pequeno atraso.

Próximas etapas