Apresentação da virtualização de dados com o PolyBase

APLICA-SE A: SQL Server Banco de Dados SQL do Azure Azure Synapse Analytics Parallel Data Warehouse

O PolyBase é um recurso de virtualização de dados para o SQL Server.

O que é o PolyBase?

O PolyBase permite que sua instância SQL Server consulte dados com o T-SQL diretamente do SQL Server, Oracle, Teradata, MongoDB, clusters Hadoop, Cosmos DB sem instalar separadamente o software de conexão 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.

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 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.

Observação

Algumas funcionalidades do recurso PolyBase estão em visualização privada para instâncias gerenciadas do SQL do Azure, incluindo a capacidade de consultar dados externos (arquivos Parquet) no ADLS (Azure Data Lake Storage) Gen2. A versão prévia privada inclui o acesso a bibliotecas de clientes e à documentação para fins de teste que ainda não estão disponíveis publicamente. Se você estiver interessado e pronto para investir algum tempo em experimentar as funcionalidades e compartilhar seus comentários e dúvidas, analise o Guia de Visualização Privada do PolyBase da Instância Gerenciada de SQL do Azure.

Produtos e serviços SQL compatíveis

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

  • SQL Server 2016 (13.x) e versões posteriores (apenas Windows)
  • SQL Server 2019 (15.x) e versões posteriores (Linux)
  • SQL Server PDW (Analytics Platform System) (PDW), hospedado no APS (Analytics Platform System)
  • Azure Synapse Analytics

Conectores do PolyBase

O recurso PolyBase fornece conectividade com as seguintes fontes de dados externas:

Fontes de dados externas SQL Server com PolyBase APS PDW Azure Synapse Analytics
Oracle, MongoDB, Teradata Ler Não Não
ODBC Genérico Leitura (apenas Windows) Não Não
Armazenamento do Azure Leitura/Gravação Leitura/Gravação Leitura/Gravação
O Hadoop Leitura/Gravação Leitura/Gravação Não
SQL Server Ler Não Não
  • SQL Server 2016 (13.x) apresentou o PolyBase com suporte para conexões do armazenamento de Blob do Hadoop e Azure.
  • SQL Server 2019 (15.x) apresentou conectores adicionais, incluindo SQL Server, Oracle, Teradata e MongoDB.

Entre os exemplos de conectores externos estão:

* PolyBase dá suporte a dois fornecedores Hadoop, HDP (Hortonworks Data Platform) e CDH (Cloudera Distributed Hadoop).

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

  1. Instale o PolyBase no Windows ou Instale o PolyBase no Linux.
  2. Começando com o SQL Server 2019 (15.x), habilite o PolyBase no 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 que você una dados de uma instância do SQL Server com os dados externos. Antes de o PolyBase unir os dados com fontes de dados externas, você pode:

  • 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ê simplesmente use o Transact-SQL para unir os dados.

O PolyBase não exige a instalação de software adicional no 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 ter nenhum conhecimento sobre a fonte externa.

Usos do PolyBase

O PolyBase habilita os seguintes cenários no SQL Server:

  • Consultar os dados armazenados no Hadoop por meio de uma instância do SQL Server ou do PDW. Os usuários estão armazenando dados em sistemas escalonáveis e distribuídos mais econômicos, como o Hadoop. O PolyBase facilita a consulta dos dados com T-SQL.

  • Consulte os dados armazenados no armazenamento de blobs do Azure. O armazenamento de blobs do Azure é um local conveniente para armazenar dados para uso dos serviços do Azure. O PolyBase facilita o acesso aos dados com T-SQL.

  • Importe dados do Hadoop, do armazenamento de blobs do Azure ou do Azure Data Lake Store. Aproveite a velocidade das funcionalidades de análise e tecnologia de columnstore do Microsoft SQL, com a importação de dados do Hadoop, do armazenamento de blobs do Azure ou do Azure Data Lake Store em tabelas relacionais. Não é necessário ter uma ferramenta separada de ETL ou importação.

  • Exporte dados para o Hadoop, o armazenamento de blobs do Azure ou o Azure Data Lake Store. Arquive dados no Hadoop, no armazenamento de blobs do Azure ou no Azure Data Lake Store para obter um armazenamento econômico e mantê-los online para fácil acesso.

  • Integre com ferramentas de BI. Use o PolyBase com a business intelligence e a pilha de análise da Microsoft ou use as ferramentas de terceiros compatíveis com o SQL Server.

Desempenho

  • Enviar por push de computação para Hadoop. O PolyBase envia alguns cálculos para a fonte externa a fim de otimizar a consulta geral. O otimizador de consulta toma a decisão baseada em custo de enviar por push a computação para o Hadoop, caso isso aprimore o desempenho de consulta. O otimizador de consulta usa as estatísticas nas tabelas externas para tomar a decisão baseada em custo. O envio por push do cálculo cria trabalhos MapReduce e aproveita os recursos computacionais distribuídos do Hadoop. Para obter mais informações, confira Computação de pushdown no PolyBase.

  • Escale os recursos de computação. Para melhorar o desempenho da consulta, é possível usar os SQL Servergrupos de escala horizontal do PolyBase. Isso permite a transferência de dados em paralelo entre as instâncias do SQL Server e os nós do Hadoop, além de adicionar recursos de computação para operação em dados externos.

Próximas etapas

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. Em seguida, confira os guias de configuração a seguir, dependendo da sua fonte de dados: