Compartilhar via


Virtualização de dados com o PolyBase no SQL Server

Aplica-se a: SQL Server Sem suporte. Banco de dados SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

O PolyBase habilita a virtualização de dados para o SQL Server.

O que é o 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 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 as consultas T-SQL ingressem os dados de fontes externas em tabelas relacionais em uma instância do SQL Server.

O PolyBase também dá suporte à consulta de formatos de dados semiestruturados e estruturados baseados em arquivo, como arquivos CSV, Parquet, JSON e Delta Lake. Isso permite a integração perfeita de dados baseados em arquivo 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. É possível virtualizar os dados em uma instância do SQL Server para que ela possa ser consultada no local como qualquer outra tabela no SQL Server. Este processo minimiza a necessidade de processos de ETL para movimentação de dados. Este cenário de virtualização de dados é possível com o uso de conectores do PolyBase.

Produtos e serviços SQL compatíveis

O PolyBase fornece essas mesmas funcionalidades para os seguintes produtos SQL da Microsoft:

Aprimoramentos do PolyBase do SQL Server 2025

Novo no SQL Server 2025 (17.x) Detalhes
Suporte nativo para CSV, Parquet e Delta 1 A instalação do Serviço de Consulta do PolyBase para Dados Externos não é mais necessária para usar OPENROWSET, CREATE EXTERNAL TABLEou CREATE EXTERNAL TABLE AS SELECT com os seguintes tipos de dados externos: Parquet, Delta, ABS (Armazenamento de Blobs do Azure), ADLS (Azure Data Lake Storage) ou armazenamento de objetos S3-Compatible.
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 ao TDS 8.0 O PolyBase usa uma configuração segura por padrão com o Driver ODBC para SQL Server versão 18 e Encrypt=Yes (Obrigatório). Ao contrário de outros recursos do SQL Server, o PolyBase permite cenários TrustServerCertificate=True de certificado autoassinado. Para impor o TLS 1.3 e a criptografia estrita com o TDS 8.0, defina Encrypt=Strict e TrustServerCertificate=No. Para obter mais informações, consulte CREATE EXTERNAL DATA SOURCE – CONNECTION_OPTIONS. Examine alterações significativas nos recursos do Mecanismo de Banco 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 do PolyBase para Dados Externos ainda é necessário para se conectar a outros bancos de dados. Por exemplo: SQL Server, Oracle, DB2, Teradata, MongoDB ou ODBC.

Aprimoramentos do PolyBase no SQL Server 2022

Novidades 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 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 S3.
Alguns conectores são separados dos serviços do PolyBase O conector de armazenamento de objetos compatível com S3, o ADSL Gen2 e o Armazenamento de Blobs do Azure não são mais dependentes dos serviços do PolyBase. Os serviços do PolyBase ainda devem ser executados para dar suporte à conectividade com Oracle, Teradata, MongoDB e ODBC Genérico. O recurso PolyBase ainda precisa 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 S3. Para obter mais informações, consulte Virtualizar o arquivo Parquet em um armazenamento de objetos compatível com S3 usando o 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 S3, no Azure Storage Account V2 e no Azure Data Lake Storage Gen2. Para obter mais informações, consulte virtualizar a tabela delta com o PolyBase
Criar tabela externa como SELECT (CETAS) O PolyBase agora pode usar o CETAS para criar uma tabela externa e 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 S3. Para obter mais informações, consulte CREATE EXTERNAL TABLE AS SELECT (CETAS).

Para obter mais novos recursos do SQL Server 2022 (16.x), confira as novidades no SQL Server 2022.

Dica

Para obter um tutorial dos recursos e capacidades do PolyBase no SQL Server 2022 (16.x), consulte Introdução ao PolyBase no SQL Server 2022.

Conectores do 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 Ler Ler Não Não
ODBC Genérico Leitura (apenas Windows) Leitura (apenas Windows) Não Não
Armazenamento do Azure Leitura/Gravação Leitura/Gravação Leitura/Gravação Leitura/Gravação
O Hadoop Leitura/Gravação Não Leitura/Gravação Não
SQL Server Ler Ler 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 dão suporte ao Hadoop.
  • O SQL Server 2016 (13.x) introduziu o PolyBase com compatibilidade com conexões com o Hadoop e o 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 do armazenamento compatível com S3.
  • A atualização cumulativa 19 do SQL Server 2019 (15.x) introduziu compatibilidade com o TNS do Oracle.
  • A atualização cumulativa 2 do SQL Server 2022 (16.x) introduziu compatibilidade com o TNS do Oracle.

Entre os exemplos de conectores externos estão:

1 O PolyBase dá suporte a dois provedores hadoop, a Hortonworks Data Platform (HDP) e a CDH (Cloudera Distributed Hadoop), por meio do SQL Server 2019. O suporte do SQL Server para fontes de dados externas do HDFS Cloudera (CDP) e hortonworks (HDP) foi desativado e não está incluído no SQL Server 2022 (16.x) e nas versões posteriores. Para obter mais informações, confira Opções de Big Data na plataforma Microsoft SQL Server.

Para usar o PolyBase em uma instância do SQL Server:

  1. Instalar PolyBase no Windows ou Instalar PolyBase no Linux.
  2. Começando com o SQL Server 2019 (15.x), habilite o PolyBase em sp_configure, se necessário.
  3. Crie uma fonte de dados externa.
  4. Crie uma tabela externa.

Integração do Azure

Com a Ajuda subjacente do PolyBase, 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 Armazenamento de Blobs do Azure e do Azure Data Lake Store.

Por que usar o PolyBase?

O PolyBase permite unir dados de uma instância do SQL Server com dados externos. Antes do PolyBase permitir a junção de dados a fontes de dados externas, você poderia:

  • Transferir metade dos dados para que todos os dados estejam em uma só localização.
  • Consultar ambas as fontes de dados, então escrever lógica de consulta personalizada para ingressar 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 do Hadoop. Você pode consultar dados externos usando a mesma sintaxe do T-SQL usada para consultar uma tabela de banco de dados. As ações de suporte implementadas pelo PolyBase todos ocorrem de maneira 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 a dados contínuos: Consulte outros RDBMs ou arquivos externos, como tabelas CSV, Parquet e Delta Lake usando T-SQL como se fossem tabelas nativas.
  • Desativar o carregamento de dados frios: Mantendo-o facilmente acessível.
  • Produtividade aprimorada: Reduza o tempo e o esforço necessários para integrar e analisar dados de várias fontes.
  • Eficiência de custo: Minimize a necessidade de replicação de dados e custos de armazenamento associados aos métodos tradicionais de integração de dados.
  • Insights 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á um limite fixo 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 maneira como os dados estão organizados e da complexidade das consultas e uniões.

Para obter mais informações sobre diretrizes e recomendações de desempenho para o PolyBase, consulte Considerações sobre 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 compatíveis. Devido a essas alterações, você deve remover manualmente as fontes de dados externas do PolyBase criadas em versões anteriores do SQL Server que usam TYPE = HADOOP ou o Armazenamento do Azure antes de migrar para o SQL Server 2022 (16.x) ou posterior. O descarte de fontes de dados externas também requer o descarte dos objetos de banco de dados associados, como credenciais com escopo de banco de dados e tabelas externas.

Os conectores do Armazenamento do Azure devem ser alterados com base na tabela de referência a seguir:

Fonte de dados externa De Para
Armazenamento de Blobs do Azure wasb[s] abs
ADLS Gen 2 abfs[s] adls

Introdução

Antes de usar o PolyBase, você deverá 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:

Virtualização de dados em outras plataformas

Recursos de virtualização de dados também estão disponíveis em outras plataformas: