Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
O PolyBase permite a virtualização de dados para o SQL Server.
O que é PolyBase?
O PolyBase permite que sua instância do SQL Server consulte dados com Transact-SQL (T-SQL) diretamente do SQL Server, Oracle, Teradata, MongoDB, clusters Hadoop, Cosmos DB e armazenamento de objetos compatíveis com o S3 sem instalar separadamente o software de conexão do cliente. Você também pode usar o conector ODBC genérico para se conectar a provedores adicionais usando drivers ODBC de terceiros. O PolyBase permite que consultas T-SQL juntem os dados de fontes externas a tabelas relacionais em uma instância do SQL Server.
O PolyBase também suporta a consulta de formatos de dados baseados em arquivos semiestruturados e estruturados, como arquivos CSV, Parquet, JSON e Delta Lake. Isso permite a integração perfeita de dados baseados em arquivos em seus fluxos de trabalho T-SQL.
Um caso de uso importante para a virtualização de dados com o recurso PolyBase é permitir que os dados permaneçam em seu local e formato originais. Você pode virtualizar os dados externos por meio da instância do SQL Server, para que eles possam ser consultados no local como qualquer outra tabela no SQL Server. Esse processo minimiza a necessidade de processos ETL para movimentação de dados. Esse cenário de virtualização de dados é possível com o uso de conectores PolyBase.
Produtos e serviços SQL suportados
O PolyBase fornece essas mesmas funcionalidades para os seguintes produtos SQL da Microsoft:
SQL Server 2016 (13.x) e versões posteriores (Windows)
SQL Server 2019 (15.x) e versões posteriores (Windows e Linux)
Instância Gerenciada SQL do Azure, para obter detalhes, revise Virtualização de dados com a Instância Gerenciada SQL do Azure
Banco de Dados SQL do Azure, para obter detalhes, revise Virtualização de dados com o Banco de Dados SQL do Azure (Visualização)
Sistema de Plataforma de SQL Server Analytics (PDW)
Azure Synapse Analytics (para pools SQL dedicados)
- A virtualização de dados no Azure Synapse Analytics está disponível em dois modos, PolyBase e nativo. Para obter mais informações, consulte Usar tabelas externas com Synapse SQL.
Aprimoramentos do SQL Server 2025 PolyBase
| Novidade no SQL Server 2025 (17.x) | Detalhes |
|---|---|
| Suporte nativo para CSV, Parquet, & Delta 1 | A instalação do Serviço de Consulta PolyBase para Dados Externos não é mais necessária para usar OPENROWSETo , CREATE EXTERNAL TABLEou CREATE EXTERNAL TABLE AS SELECT com os seguintes tipos de dados externos: Parquet, Delta, Azure Blob Storage (ABS), Azure Data Lake Storage (ADLS) ou S3-Compatible Object storage. |
| Usar fontes de dados ODBC genéricas no Linux | Para obter mais informações, consulte Configurar o PolyBase para acessar dados externos com tipos genéricos ODBC. |
| Suporte a TDS 8.0 | O PolyBase utiliza uma configuração segura por defeito com o Driver ODBC para SQL Server versão 18 e Encrypt=Yes (Obrigatória). Ao contrário de outras funcionalidades do SQL Server, o PolyBase permite cenários de utilização de certificados auto-assinados. Para aplicar TLS 1.3 e encriptação rigorosa com TDS 8.0, defina Encrypt=Strict e TrustServerCertificate=No. Para mais informações, consulte CRIAR FONTE DE DADOS EXTERNA - CONNECTION_OPTIONS.
Reveja as alterações que quebram a compatibilidade nas funcionalidades do Motor de Base de Dados no SQL Server 2025. |
| Identidade gerenciada | A Identidade Gerenciada está disponível para o SQL Server habilitado pelo Azure Arc e pelo SQL Server 2025 em VMs do Azure. |
1 No SQL Server 2025 (17.x), o Serviço de Consulta PolyBase para Dados Externos ainda é necessário para se ligar a outras bases de dados. Por exemplo: SQL Server, Oracle, DB2, Teradata, MongoDB ou ODBC.
Aprimoramentos do SQL Server 2022 PolyBase
| Novo no SQL Server 2022 (16.x) | Detalhes |
|---|---|
| Armazenamento de objetos compatível com S3 | O SQL Server 2022 (16.x) adiciona um novo conector, armazenamento de objetos compatível com o S3, usando a API REST do S3. Você pode usar OPENROWSET e CREATE EXTERNAL TABLE para consultar arquivos de dados no armazenamento de objetos compatível com o S3. |
| Alguns conectores separam-se dos serviços PolyBase | O conector de armazenamento de objetos compatível com o S3, o ADSL Gen2 e o Armazenamento de Blobs do Azure já não dependem dos serviços PolyBase. Os serviços PolyBase ainda devem ser executados para oferecer suporte à conectividade com Oracle, Teradata, MongoDB e ODBC genérico. O recurso PolyBase ainda deve ser instalado em sua instância do SQL Server. |
| Formato de arquivo Parquet | O PolyBase agora é capaz de consultar dados de arquivos Parquet armazenados no armazenamento de objetos compatível com o S3. Para obter mais informações, consulte Virtualizar ficheiro Parquet num armazenamento de objetos compatível com S3 utilizando PolyBase. |
| Formato de tabela delta | O PolyBase agora é capaz de consultar dados (somente leitura) do formato de tabela delta armazenados no armazenamento de objetos compatível com o S3, na Conta de Armazenamento do Azure V2 e no Azure Data Lake Storage Gen2. Para obter mais informações, consulte Virtualizar tabela delta com o PolyBase |
| Criar Tabela Externa com Seleção (CETAS) | O PolyBase agora pode usar o CETAS para criar uma tabela externa e, em seguida, exportar, em paralelo, o resultado de uma instrução Transact-SQL SELECT para o Azure Data Lake Storage Gen2, a Conta de Armazenamento do Azure V2 e o armazenamento de objetos compatíveis com o S3. Para obter mais informações, consulte CREATE EXTERNAL TABLE AS SELECT (CETAS). |
Para obter mais novos recursos do SQL Server 2022 (16.x), consulte Novidades no SQL Server 2022.
Sugestão
Para obter um tutorial sobre os recursos do PolyBase no SQL Server 2022 (16.x), consulte Introdução ao PolyBase no SQL Server 2022.
Conectores PolyBase
O recurso PolyBase fornece conectividade com as seguintes fontes de dados externas:
| Fontes de dados externas | SQL Server 2016-2019 com PolyBase | SQL Server 2022 (16.x) com PolyBase | APS PDW | Azure Synapse Analytics |
|---|---|---|---|---|
| Oracle, MongoDB, Teradata | Leitura | Leitura | Não | Não |
| ODBC genérico | Ler (somente para Windows) | Ler (somente para Windows) | Não | Não |
| Armazenamento do Azure | Leitura/Gravação | Leitura/Gravação | Leitura/Gravação | Leitura/Gravação |
| Hadoop | Leitura/Gravação | Não | Leitura/Gravação | Não |
| SQL Server | Leitura | Leitura | Não | Não |
| Armazenamento de objetos compatível com S3 | Não | Leitura/Gravação | Não | Não |
- O SQL Server 2022 (16.x) e versões posteriores não oferecem suporte ao Hadoop.
- O SQL Server 2016 (13.x) introduziu o PolyBase com suporte para conexões com Hadoop e Armazenamento de Blobs do Azure.
- O SQL Server 2019 (15.x) introduziu mais conectores, incluindo SQL Server, Oracle, Teradata e MongoDB.
- O SQL Server 2022 (16.x) introduziu o conector de armazenamento compatível com o S3.
- A atualização cumulativa 19 do SQL Server 2019 (15.x) introduziu suporte para Oracle TNS.
- A atualização cumulativa 2 do SQL Server 2022 (16.x) introduziu suporte para Oracle TNS.
Exemplos de conectores externos incluem:
- Servidor SQL
- Oráculo
- Teradata
- MongoDB
- Hadoop1
- Armazenamento de objetos compatível com S3
- Arquivo CSV
1 O PolyBase suporta dois provedores Hadoop, Hortonworks Data Platform (HDP) e Cloudera Distributed Hadoop (CDH), por meio do SQL Server 2019. O suporte ao SQL Server para fontes de dados externas HDFS Cloudera (CDP) e Hortonworks (HDP) foi retirado e não está incluído no SQL Server 2022 (16.x) e versões posteriores. Para obter mais informações, consulte opções de Big Data na plataforma Microsoft SQL Server.
Para usar o PolyBase em uma instância do SQL Server:
- Instale o PolyBase no Windows ou instale o PolyBase no Linux.
- A partir do SQL Server 2019 (15.x), habilite o PolyBase no sp_configure, se necessário.
- Crie uma fonte de dados externa.
- Crie uma tabela externa.
Integração com o Azure
Com a ajuda subjacente do PolyBase, as consultas T-SQL também podem importar e exportar dados do Armazenamento de Blobs do Azure. Além disso, o PolyBase permite que o Azure Synapse Analytics importe e exporte dados do Azure Data Lake Store e do Armazenamento de Blobs do Azure.
Porquê usar o PolyBase?
O PolyBase permite unir dados de uma instância do SQL Server com dados externos. Antes de o PolyBase permitir a junção de dados a fontes de dados externas, você podia:
- Transfira metade dos seus dados para que todos os dados estejam em um único local.
- Consulte ambas as fontes de dados e, em seguida, escreva uma lógica de consulta personalizada para unir e integrar os dados no nível do cliente.
O PolyBase permite que você use Transact-SQL para unir os dados.
O PolyBase não exige que você instale software extra em seu ambiente Hadoop. Você consulta dados externos usando a mesma sintaxe T-SQL usada para consultar uma tabela de banco de dados. As ações de suporte implementadas pela PolyBase acontecem de forma transparente. O autor da consulta não precisa de nenhum conhecimento sobre a fonte externa.
Usos do PolyBase
O PolyBase habilita os seguintes cenários no SQL Server:
- Acesso contínuo aos dados: Consulte outros RDBMs ou arquivos externos como CSV, Parquet e tabelas Delta Lake usando T-SQL como se fossem tabelas nativas.
- Descarregando dados frios: Mantendo-o facilmente acessível.
- Maior produtividade: Reduza o tempo e o esforço necessários para integrar e analisar dados de várias fontes.
- Eficiência de custos: Minimize a necessidade de replicação de dados e os custos de armazenamento associados aos métodos tradicionais de integração de dados.
- Informações em tempo real: Habilite consultas e insights de dados em tempo real sem atrasos causados pela movimentação ou sincronização de dados.
- Segurança: Use os recursos de segurança do SQL Server para permissões granulares, gerenciamento de credenciais e controle.
Desempenho
Não há limite rígido para o número de arquivos ou a quantidade de dados que podem ser consultados. O desempenho da consulta depende da quantidade de dados, do formato dos dados, da forma como os dados são organizados e da complexidade das consultas e associações.
Para obter mais informações sobre diretrizes de desempenho e recomendações para PolyBase, consulte Considerações de desempenho no PolyBase para SQL Server.
Atualizar para o SQL Server 2022
A partir do SQL Server 2022 (16.x), o Hortonworks Data Platform (HDP) e o Cloudera Distributed Hadoop (CDH) não são mais suportados. Devido a essas alterações, você deve descartar manualmente as fontes de dados externas do PolyBase criadas em versões anteriores do SQL Server que usam TYPE = HADOOP o Armazenamento do Azure antes de migrar para o SQL Server 2022 (16.x) ou posterior. A eliminação de fontes de dados externas também requer a eliminação dos objetos de banco de dados associados, como credenciais de escopo de banco de dados e tabelas externas.
Os conectores de Armazenamento do Azure devem ser alterados com base na seguinte tabela de referência:
| Fonte de dados externa | De | Para |
|---|---|---|
| Armazenamento de Blobs do Azure | wasb[s] |
abs |
| Geração 2 da ADLS | abfs[s] |
adls |
Introdução
Antes de usar o PolyBase, você deve instalar o PolyBase no Windows ou instalar o PolyBase no Linux e habilitar o PolyBase no sp_configure se necessário.
Para obter um tutorial dos recursos e capacidades do PolyBase, consulte Introdução ao PolyBase no SQL Server 2022.
Para obter mais tutoriais sobre várias fontes de dados externas, consulte:
- Hadoop
- Armazenamento de Blobs do Azure
- Servidor SQL
- Oráculo
- Teradata
- MongoDB
- Tipos genéricos ODBC
- Armazenamento de objetos compatível com S3
- Arquivo CSV
- Arquivo Parquet
- Tabela delta
Virtualização de dados em outras plataformas
Os recursos de virtualização de dados também estão disponíveis em outras plataformas:
- Usar tabelas externas com Synapse SQL
- Virtualização de dados com a Instância Gerenciada SQL do Azure
- Virtualização de dados com a Base de Dados SQL do Azure (Pré-visualização)
Conteúdo relacionado
- Introdução ao PolyBase no SQL Server 2022
- OPENROWSET (Transact-SQL)
- CRIAR TABELA EXTERNA (Transact-SQL)
- CRIAR TABELA EXTERNA COMO SELECIONAR (CETAS) (Transact-SQL)
- Considerações de desempenho no PolyBase para SQL Server
- Perguntas frequentes sobre o PolyBase
- Monitorar e solucionar problemas do PolyBase
- Transact-SQL de referência do PolyBase