Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
PolyBase vs. servidores vinculados
A tabela a seguir destaca as diferenças entre o PolyBase e os recursos de servidor vinculado:
| PolyBase | Servidores vinculados |
|---|---|
| Objeto no escopo do banco de dados | Objeto no escopo da instância |
| Usa drivers ODBC | Utiliza provedores OLE DB |
| Suporta operações de leitura apenas para todas as fontes de dados e gravação em algumas diferentes fontes de dados externas | Oferece suporte a operações de leitura e gravação |
| Consultas à fonte de dados remota de uma única conexão podem ser expandidas | Consultas para uma fonte de dados remota a partir de uma única conexão não podem ser escalonadas |
| Há suporte para a propagação de predicados | Há suporte para a propagação de predicados |
| Nenhuma configuração separada é necessária para o grupo de disponibilidade | Configuração separada necessária para cada instância no grupo de disponibilidade |
| Somente autenticação básica | Autenticação básica e integrada |
| Adequado para consultas analíticas que processam um grande número de linhas | Adequado para consultas OLTP que retornam uma ou algumas linhas |
| Consultas que usam tabela externa não podem participar de transações distribuídas | Consultas distribuídas podem participar de transações distribuídas |
Novidades no PolyBase no SQL Server 2022?
O SQL Server 2022 (16.x) suporta arquivos CSV, Parquet e Delta armazenados no Armazenamento do Azure Account v2, Azure Data Lake Storage Gen2 ou qualquer armazenamento de objetos compatível com S3, usando a API REST do S3, local ou na nuvem.
O SQL Server 2022 (16.x) suporta CREATE EXTERNAL TABLE AS SELECT (CETAS), junto com comandos como OPENROWSET, CREATE EXTERNAL TABLE (CET) e as melhorias do T-SQL.
O SQL Server 2022 (16.x) não suporta fontes de dados externas Hadoop.
SQL Server 2022 (16.x) A atualização cumulativa 2 introduz suporte para arquivos Oracle TNS. Para obter mais informações e exemplos, consulte CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.
Para mais informações, veja Virtualização de Dados com PolyBase para SQL Server 2022 e revise as melhorias do SQL Server 2022 no PolyBase.
Novidades no PolyBase no SQL Server 2019?
O PolyBase no SQL Server 2019 (15.x) pode ler dados de múltiplas fontes. Você pode armazenar os dados dessas fontes externas como tabelas externas na sua instância do SQL Server. PolyBase também dá suporte à computação pushdown para estas fontes de dados externas, exceto tipos genéricos de ODBC.
Fontes de dados compatíveis
- SQL Server
- Oracle
- Teradata
- MongoDB
- Tipos genéricos de ODBC compatíveis
SQL Server 2019 (15.x) A atualização cumulativa 19 introduz suporte para arquivos Oracle TNS. Para obter mais informações e exemplos, consulte CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.
Note
O PolyBase pode se conectar a fontes de dados externas usando drivers ODBC de terceiros. O PolyBase não inclui esses drivers, e eles podem não funcionar como deveria. Para obter mais informações, consulte Configurar o PolyBase para acessar dados externos com tipos genéricos ODBC.
O que CONNECTION_OPTIONS posso especificar para conexão com fontes de dados de terceiros?
Consulte CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS para ver as opções de conexão com provedores de dados compatíveis para SQL Server, Oracle, Teradata, a API MongoDB para Cosmos DB e provedores de dados ODBC genéricos.
Como posso exibir o plano de execução de consulta remota da computação de pushdown do PolyBase?
Você pode visualizar o plano de execução remota de consultas usando diferentes métodos dependendo da versão do SQL Server. Para mais informações, veja PolyBase Troubleshooting - Para visualizar o plano de consulta do PolyBase.
Como posso verificar se a computação de pushdown do PolyBase está ocorrendo?
Para obter mais informações, consulte Como verificar se ocorreu um pushdown externo.
O Polybase é compatível com o Banco de Dados SQL do Azure?
Não, mas você pode consultar dados em arquivos no Armazenamento de Blobs do Azure usando a OPENROWSET função, ou usar CREATE EXTERNAL TABLE para ler de um pool SQL serverless no Synapse Analytics. Para obter mais informações, consulte O SQL do Azure pode ler arquivos do Azure Data Lake Storage usando tabelas externas do SQL do Synapse.
O PolyBase é compatível com a Instância Gerenciada de SQL do Azure?
A Instância Gerenciada de SQL do Azure tem seus próprios recursos de virtualização de dados para o Azure Data Lake Storage (ADLS) e o Armazenamento de Blobs do Azure como fontes de dados. Para mais informações, consulte Virtualização de dados com a Instância Gerenciada de SQL do Azure.
Quais portas devo permitir no firewall para o PolyBase?
O próprio PolyBase não exige a abertura de portas adicionais, exceto quando você usa um grupo de expansão horizontal do PolyBase. Sem um grupo escalonável, o serviço PolyBase não precisa de regras de firewall.
Nos servidores Windows, o PolyBase usa as portas que a instância do SQL Server utiliza na seção IPAll das configurações TCP/IP no SQL Server Configuration Manager. Para mais informações, consulte Propriedades de TCP/IP (aba Endereços IP). Em servidores Linux, o PolyBase usa essa network.tcpport configuração. Para obter mais informações, confira o Porta TCP.
Para grupos de escala horizontal do PolyBase em mais de um servidor Windows, confira as informações de porta na próxima pergunta.
No entanto, você deve permitir outras portas para comunicação com as várias fontes de dados externas que o PolyBase utiliza. Confira a configuração do ODBC, a configuração de recursos do Azure ou a documentação da fonte de dados específica. Por exemplo:
| Plataforma de origem | Reference |
|---|---|
| Microsoft SQL Server | Portas Usadas pelo SQL Server |
| Hortonworks HDP | Administrando HDFS |
| Cloudera CDH | Portas usadas pelos componentes CDH |
Quais portas são usadas para o grupo de escala horizontal do PolyBase?
Por padrão, o serviço de movimentação de dados do PolyBase se conecta ao nó principal de um grupo de scale-out por meio de uma faixa de portas TCP 16450-16460 (tipicamente 16450-1645), além da porta 17001. O PolyBase usa essas portas apenas quando você configura um grupo escalonável, então permita-as passar pelos firewalls de servidor. O SQL Server Setup cria automaticamente uma regra de firewall local que permite essas portas quando você instala o recurso. Para obter mais informações, confira Configurar clusters de escalabilidade horizontal do PolyBase no Windows.
Note
Os grupos de scale-out do SQL Server PolyBase foram removidos no SQL Server 2022 (16.x).