BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Combinando sql server e hadoop usando polybase

Combinando sql server e hadoop usando polybase

Favoritos

Com o recente lançamento do SQL Server 2016, podemos agora utilizar consultas SQL nos ambientes Hadoop e Azure blob storage. A tecnologia responsável por esta funcionalidade, conhecida como PolyBase, foi previamente disponibilizada no SQL Server Parallel Data Warehouse.

A tecnologia PolyBase busca transferir o máximo de processamento possível para o banco de dados de origem. Isto significa que, ao executar uma consulta no Hadoop ou no Azure blob storage, ela vai gerar as operações de map/reduce apropriadas. Este comportamento é conhecimento como “pushdown” e possui algumas limitações que os desenvolvedores devem estar atentos:

O SQL Server permite as seguintes expressões e operadores básicos para criação de predicados no modelo pushdown:

  • Operadores de comparação binária( <, >, =, !=, <>, >=, <= ) para valores de tipo numérico, de data e de tempo.

  • Operadores aritméticos ( +, -, *, /, % ).

  • Operadores lógicos ( AND, OR ).

  • Operadores unários ( NOT, IS NULL, IS NOT NULL ).

A documentação também esclarece que:

Os operadores BETWEEN, NOT, IN e LIKE podem ser utilizadas no modelo pushdown. A forma de utilização destes operadores depende de como o otimizador de consultas vai reescrevê-los em uma sequência de instruções que utilizem operadores relacionais.

A utilização do modelo pushdown pode ser explicitamente forçada ou desabilitada usando as opções OPTION (FORCE EXTERNALPUSHDOWN) e OPTION (DISABLE EXTERNALPUSHDOWN), respectivamente.

Combinando dados relacionais e não relacionais

Como o PolyBase se baseia em T-SQL, os desenvolvedores possuem acesso às operações usuais, como joins. Isto significa que pode-se executar uma operação map/reduce em um cluster Hadoop e realizar a associação (join) dos resultados em tabelas do SQL Server em único comando.

Importação e exportação

A movimentação de dados entre o SQL Server, Hadoop e o Azure blob storage não mais requer processos ETL ou ferramentas adicionais. Ao invés disso, pode-se utilizar a mesma sintaxe INSERT INTO/SELECT FROM que é usualmente utilizada para transferir dados entre tabelas. Da perspectiva do desenvolvedor, o Hadoop e o Azure blob storage são somente mais dois tipos de tabelas que podem ser utilizadas durante o processo de provisionamento do banco de dados. (Do ponto de vista da equipe de operações, você ainda precisa gerenciar a segurança e o backup separadamente.)

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT