BT

Combinando sql server e hadoop usando polybase

| por Jonathan Allen Seguir 526 Seguidores , traduzido por Roberto Pepato Seguir 29 Seguidores em 06 jun 2016. Tempo estimado de leitura: 1 minuto |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT