Uso de Hadoop en Sql Server con PDW y Polybase

01.02.2014 17:03

Como se ilustra en la figura, el objetivo del proyecto polybase es permitir a los usuarios de SQL Server PDW ejecutar consultas en los datos almacenados en Hadoop, específicamente en el sistema de archivos distribuidos Hadoop (HDFS). Polybase es polivalente en tanto el tipo de cluster Hadoop (Linux o Windows) y  en si se trata de un grupo aparte, o si los nodos de Hadoop estan co -ubicados con los nodos del sistema PDW. Usando CTAS de PDW (“create table as select”") como sintaxis, polybase proporciona a los usuarios la capacidad de mover los datos en paralelo entre los nodos de los clusters Hadoop y PDW. Además, los usuarios pueden crear tablas externas sobre los datos HDFS residentes. Todos los formatos de archivo estándar HDFS son compatibles, así como los formatos de archivo personalizados siempre y cuando se usen  implementaciones InputFormat (con RecordReader) y OutputFormat (RecordWriter ). Esto permite que las consultas hagan  referencia a los datos almacenados en HDFS como si estuvieran cargados en una tabla relacional. Los usuarios pueden realizar sin problemas uniones entre tablas en PDW y datos en HDFS.

 

 

Mientras que algunos otros sistemas de bases de datos paralelas ofrecen capacidades similares, polibase su vez en dos formas significativas del estado de la técnica. En primer lugar, a la hora de optimizar una consulta SQL que hace referencia a los datos almacenados en HDFS, el optimizador de consultas polybase toma una decisión basada en el costo (utilizando estadísticas sobre el archivo HDFS almacenado en el catálogo PDW) o sobre si debe o no transformar operadores relacionales sobre datos residentes en  HDFS en las tareas  de MapReduce para su ejecución en el clúster Hadoop . Consideremos, por ejemplo, una consulta sencilla con dos selecciones, una combinación, y un agregado. Si una de las dos tablas de entrada se almacena en HDFS, el optimizador de consultas polybase evaluará si realizar o no el operador de selección en la tabla como un trabajo de Mapa en el clúster Hadoop o si es más eficiente extraer el archivo entero en PDW y realizar la selección a través de las instancias de SQL Server que se ejecutan en el sistema PDW. Si las dos tablas de entrada están en HDFS, no sólo  polybase QO considerará llevar a cabo la selección (SELECT) como trabajo de mapa, sino que también tendrá en cuenta los beneficios de llevar a cabo también las uniones (JOIN) y agregados. Todo esto es totalmente transparente para el usuario y es impulsado por un optimizador de estado de  técnica en paralelo de consultas desarrollado inicialmente en el Laboratorio de Sistemas de Gray. Polybase , sin embargo , lleva la idea de la transformación "split -query " aún más allá. Considere la posibilidad de una configuración que consiste en una pequeña aplicación PDW emparejada con un clúster Hadoop grande. Polybase es capaz de aprovechar plenamente el mayor poder de cálculo y de E / S del clúster Hadoop mediante la tarea de trasladarse a Hadoop para el procesamiento , incluso para las consultas que sólo hacen referencia a los datos  residentes en PDW.