Pool de SQL sem servidor no Azure Synapse Analytics
Cada workspace do Azure Synapse Analytics vem com pontos de extremidade do pool de SQL sem servidor que você pode usar para consultar dados no Azure Data Lake (Parquet,Delta Lake, formatos de texto delimitados), Azure Cosmos DB ou Dataverse.
O pool de SQL sem servidor é um serviço de consulta dos dados no data lake. Ele permite que você acesse os dados por meio das seguintes funcionalidades:
- Uma sintaxe de T-SQL familiar para consultar dados no local sem a necessidade de copiar nem carregar dados em um repositório especializado. Para saber mais, confira a seção Suporte do T-SQL.
- Conectividade integrada por meio da interface T-SQL que oferece uma ampla variedade de ferramentas de consulta ad hoc e de business intelligence, incluindo os drivers mais populares. Para saber mais, confira a seção Ferramentas do cliente. Você pode saber mais no vídeo Introdução aos Pools de SQL sem Servidor do Synapse.
O pool de SQL sem servidor é um sistema de processamento de dados distribuído, criado para funções computacionais e de dados em grande escala. O pool de SQL sem servidor permite que você analise Big Data em segundos ou minutos, dependendo da carga de trabalho. Graças à tolerância interna a falhas de execução de consulta, o sistema oferece confiabilidade e taxas de êxito altas, até mesmo para consultas de longa execução envolvendo grandes conjuntos de dados.
O pool de SQL sem servidor é sem servidor, portanto, não há infraestrutura a ser instalada nem clusters a serem mantidos. Um ponto de extremidade padrão para esse serviço é fornecido em todos os workspaces do Azure Synapse, de modo que você pode iniciar a consulta de dados assim que o workspace é criado.
Não há cobrança por recursos reservados. Você só está sendo cobrado pelos dados processados por consultas executadas, portanto, esse modelo é um verdadeiro modelo de pagamento por uso.
Se você usar o Apache Spark para o Azure Synapse no seu pipeline de dados para preparação, limpeza ou enriquecimento de dados, poderá consultar as tabelas externas do Spark que criou no processo diretamente do pool de SQL sem servidor. Use o Link Privado para trazer o ponto de extremidade do pool de SQL sem servidor para dentro da rede virtual do workspace gerenciado.
Benefícios do pool de SQL sem servidor
Se você precisar explorar dados no data lake, obter insights desses dados ou otimizar o pipeline de transformação de dados existente, poderá se beneficiar do uso do pool de SQL sem servidor. Ele é adequado aos seguintes cenários:
- Descoberta básica e exploração – tire conclusões rapidamente sobre os dados em vários formatos (Parquet, CSV, JSON) no data lake, permitindo que você planeje a melhor maneira de extrair insights deles.
- Data warehouse lógico – forneça uma abstração relacional sobre dados brutos ou díspares sem realocá-los nem transformá-los, permitindo a exibição sempre atualizada dos dados. Saiba mais sobre como criar um data warehouse.
- Transformação de dados – maneira simples, escalonável e de alto desempenho para transformar dados no Lake usando o T-SQL, de modo que ele pode ser alimentado para BI e outras ferramentas ou então carregado em um armazenamento de dados relacional (bancos de dados SQL do Synapse, Banco de Dados SQL do Azure etc).
Diferentes funções profissionais podem se beneficiar do pool de SQL sem servidor:
- Os engenheiros de dados podem explorar o lake, transformar e preparar dados usando esse serviço e simplificar os próprios pipelines de transformação de dados. Para obter mais informações, confira este tutorial.
- Os cientistas de dados podem tirar conclusões rapidamente com base no conteúdo e na estrutura dos dados no lake, graças a recursos como o OPENROWSET e a inferência automática de esquemas.
- Os Analistas de Dados podem explorar dados e tabelas externas do Spark criadas por Cientistas de Dados ou Engenheiros de Dados usando uma linguagem T-SQL familiar ou as ferramentas favoritas deles, que podem se conectar ao pool de SQL sem servidor.
- Os profissionais de BI podem rapidamente criar relatórios do Power BI com base nos dados no lake e em tabelas do Spark.
Como começar a usar o pool de SQL sem servidor
O ponto de extremidade do pool de SQL sem servidor é fornecido em todos os workspaces do Azure Synapse. Você pode criar um workspace e começar a consultar dados instantaneamente usando ferramentas com as quais você está familiarizado.
Verifique se você está aplicando as práticas recomendadas para obter o melhor desempenho.
Ferramentas de cliente
O pool de SQL sem servidor permite que as ferramentas existentes de consulta ad hoc e de business intelligence do SQL aproveitem o data lake. Como ele fornece uma sintaxe T-SQL familiar, qualquer ferramenta capaz de estabelecer uma conexão de TDS com ofertas SQL pode se conectar ao SQL do Synapse e consultá-lo. Você pode se conectar com Azure Data Studio e executar consultas ad hoc ou conectar-se com Power BI para obter insights em questão de minutos.
Suporte para T-SQL
O pool de SQL sem servidor oferece uma área da superfície de consulta T-SQL que é ligeiramente aprimorada/estendida em alguns aspectos para permitir experiências relacionadas à consulta de dados semiestruturados e não estruturados. Além disso, alguns aspectos da linguagem T-SQL não têm suporte devido ao design do pool de SQL sem servidor. Por exemplo, atualmente, a funcionalidade DML não é compatível.
- A carga de trabalho pode ser organizada usando conceitos familiares:
- Bancos de dados: o ponto de extremidade do pool de SQL sem servidor pode ter vários bancos de dados.
- Esquemas: dentro de um banco de dados, pode haver um ou vários grupos de propriedade de objeto denominados esquemas.
- Exibições, procedimentos armazenados, funções de valor de tabela em linha
- Recursos externos: fontes de dados, formatos de arquivo e tabelas
A segurança pode ser imposta usando:
- Logons e usuários
- Credenciais para controlar o acesso a contas de armazenamento
- Concessão, negação e revogação de permissões por nível de objeto
- Integração do Microsoft Entra
T-SQL compatível:
- A área de superfície de SELECT completa é compatível, incluindo a maioria das funções SQL
- CETAS – CREATE EXTERNAL TABLE AS SELECT
- Instruções DDL relacionadas somente a exibições e segurança
O pool de SQL sem servidor não tem armazenamento local, somente objetos de metadados são armazenados em bancos de dados. Portanto, o T-SQL relacionado aos seguintes conceitos não tem suporte:
- Tabelas
- Gatilhos
- Exibições materializadas
- Instruções DDL diferentes daquelas relacionadas a exibições e segurança
- Instruções DML
Observação
As consultas de pool de SQL sem servidor têm um tempo limite. Para obter mais informações sobre o tempo limite da consulta que pode afetar sua carga de trabalho, consulte restrições de sistema do pool de SQL sem servidor. No momento, não é possível alterar o tempo limite.
Extensões
Para permitir uma experiência tranquila para a consulta no local de dados que residem em arquivos no data lake, o pool de SQL sem servidor estende a função OPENROWSET existente adicionando as seguintes funcionalidades:
Consultar vários arquivos ou pastas
formato de arquivo PARQUET de consulta
Repositório analítico do Azure Cosmos DB
Ler um subconjunto escolhido de colunas
Trabalhar com tipos complexos e estruturas de dados aninhadas ou repetidas
Segurança
O pool de SQL sem servidor oferece mecanismos para proteger o acesso aos seus dados.
Integração e autenticação multifator do Microsoft Entra
O pool de SQL sem servidor permite que você gerencie centralmente identidades de usuários do banco de dados e outros serviços da Microsoft com a Integração do Microsoft Entra. Esse recurso simplifica o gerenciamento de permissão e aprimora a segurança. O Microsoft Entra ID dá suporte a Autenticação multifator (MFA) para aumentar a segurança de dados e aplicativos, ao mesmo tempo em que dá suporte a um único processo de logon.
Autenticação
A autenticação do pool de SQL sem servidor refere-se a como os usuários comprovam a identidade ao conectarem-se ao ponto de extremidade. Os tipos de autenticação abaixo são compatíveis:
Autenticação do SQL
Este método de autenticação usa um nome de usuário e senha.
Autenticação do Microsoft Entra:
Esse método de autenticação usa identidades gerenciadas pela ID do Microsoft Entra. Para os usuários do Microsoft Entra, a autenticação multifator pode ser habilitada. Use autenticação do Active Directory (segurança integrada) sempre que possível.
Autorização
Autorização refere-se ao que um usuário pode fazer em um banco de dados do pool de SQL sem servidor e ela é controlada pelas associações a uma função de banco de dados e pelas permissões no nível de objeto da conta de usuário.
Se a autenticação do SQL for usada, o usuário do SQL existirá somente no pool de SQL sem servidor e o escopo das permissões será delimitado aos objetos no pool de SQL sem servidor. O acesso a objetos protegíveis em outros serviços (como o Armazenamento do Azure) não pode ser concedido ao usuário do SQL diretamente, pois ele só existe no escopo do pool de SQL sem servidor. O usuário do SQL precisa usar um dos tipos de autorização compatíveis para acessar os arquivos.
Se a autenticação do Microsoft Entra for usada, um usuário poderá entrar no pool de SQL sem servidor e em outros serviços, como o Armazenamento do Azure, e poderá conceder permissões ao usuário do Microsoft Entra.
Acesso às contas de armazenamento
Um usuário que fez logon no serviço de pool de SQL sem servidor precisa estar autorizado a acessar e consultar os arquivos no Armazenamento do Azure. O pool de SQL sem servidor dá suporte aos seguintes tipos de autorização:
A SAS (Assinatura de Acesso Compartilhado) fornece acesso delegado aos recursos em uma conta de armazenamento. Com uma SAS, você pode conceder aos clientes acesso aos recursos na conta de armazenamento, sem compartilhar as chaves de conta. Uma SAS oferece controle granular sobre o tipo de acesso que você concede aos clientes que têm uma SAS: intervalo de validade, permissões concedidas, intervalo de endereços IP aceitáveis e protocolo aceitável (HTTPS/HTTP).
A Identidade do Usuário (também conhecida como “passagem”) é um tipo de autorização em que a identidade do usuário do Microsoft Entra que fez logon no pool de SQL sem servidor é usada para autorizar o acesso aos dados. Antes de acessar os dados, o administrador do Armazenamento do Azure deve conceder permissões ao usuário do Microsoft Entra para acessar os dados. Esse tipo de autorização usa o usuário do Microsoft Entra que fez logon no pool de SQL sem servidor, portanto, não há suporte para tipos de usuário sql.
A identidade do espaço de trabalho é um tipo de autorização em que a identidade do espaço de trabalho Synapse é usada para autorizar o acesso aos dados. Antes de acessar os dados, o administrador do Armazenamento do Azure deve conceder permissões para a identidade do workspace a fim de acessar os dados.
Acesso ao Azure Cosmos DB
Você precisa criar uma credencial no nível do servidor ou no escopo do banco de dados com a chave somente leitura da conta do Azure Cosmos DB para acessar o repositório analítico do Azure Cosmos DB.
Próximas etapas
Informações adicionais sobre conexão de ponto de extremidade e consulta de arquivos podem ser encontradas nos seguintes artigos: