Breve sinopsis sobre como comprender todo el escenario en la manipulación de datos procedentes del Big Data, de los Almacenes de Datos Empresariales con motor de datos SQL Azure bajo Plataforma BI
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Database) como Plataforma BI
1. Big Data, Almacenes de Datos Empresariales
(EDW) y Windows Azure (SQL Database)
como Plataforma BI
José Redondo - @redondoj
CL SQL PASS Venezuela – DPA SolidQ – CA SynergyTPC
redondoj@gmail.com
http://redondoj.wordpress.com
2. AGENDA
• El Ecosistema Hadoop
• Servicio & Servidores HDInsight
• Big Data en la nube
• MapReduce (JavaScript & .NET)
• Hive = Nutshell
• Big Data & BI
• Parallel Data Warehouse
• PolyBase
3. Big Data,
Almacenes de Datos Empresariales (EDW) y
Windows Azure (SQL Database)
como Plataforma BI
8. El Ecosistema Hadoop
2002:
Motor de búsqueda de código abierto Apache Nutch es creado por Doug Cutting
2003:
Google publica sus paginas en GFS (Google Distributed File System)
2004:
Nutch Distributed Files System (NDFS) es desarrollado
2004:
Google publica un documento sobre MapReduce
2005:
MapReduce es implementado en NDFS
2006:
Doug Cutting se une a Yahoo! e inician el Subproyecto Apache Hadoop
2008:
Hadoop fue generado bajo un Alto Nivel de Estatus en Proyecto Apache
…
Los índice de búsqueda en Yahoo! se ejecutan en 10.000 nodos en cluster
…
Hadoop rompe el record de ordenamiento de 1TB: 209s en 910 nodos
…
El diario norteamericano New York Times convierte 4TB de archivos en PDF’s en 24H
en 100 nodos
En la actualidad: Hadoop se ha convertido en sinónimo para el Procesamiento del Big Data
9. El Ecosistema Hadoop
Task tracker
Task tracker
MapReduce
Layer
Job tracker
Name node
HDFS Layer
Data node
Data node
10. El Ecosistema Hadoop
Comparativo entre RDBMS & Hadoop
RDBMS Tradicionales
MapReduce
Volumen de datos
Terabytes
Petabytes - Exabytes
Accesos
Interactivo & Por lotes
Por lotes
Actualizaciones
Lectura / Escritura siempre
Escritura una vez
Escritura siempre
Estructuras
Esquema Estático
Esquema Dinámico
Integridad
Alta (ACID)
Baja (BASE*)
Escalabilidad
No linear
Linear
DBA Ratio
1:40
1:3000
Base * = Basically Available. Soft state. Eventual consistency
11. El Ecosistema Hadoop
Hadoop simplificado
Reportes BI
RBDMS
Pig (Flujo de datos)
Zookeeper
Herramientas ETL
Hive (SQL)
Sqoop
MapReduce (Job Scheduling / Execution System)
HDFS
(Hadoop Distributed File System)
13. El Ecosistema Hadoop
Pero hay mas: Mahout es una maquina de aprendizaje
Librería de Conocimiento escalable que se soporta en la infraestructura
Hadoop
Casos de uso:
Minería de datos
Clustering
Clasificación
Algoritmos:
K-means Clustering, Naïve Bayes, Decision Tree, Neural network, Hierarchical Clustering,
Positive Matrix Factorization entre otros…
14. El Ecosistema Hadoop
R para sistemas estadísticos
Entorno computacional estadístico abierto y
escalable
Basado en el Lenguaje S
Usado por “Especialistas de datos” para explorar
y analizar datos y generar entornos gráficos
(Reportes por ejemplo)
Un buen lenguaje de programación desarrollado
En la actualidad hay muchos “Paquetes”
disponible que soportan ‘R’
17. Servicio & Servidores HDInsight
Big Data en las empresas deberían…
Tener lugar en la infraestructura IT actual
Fácil de administrar
Confiabilidad en el conjunto de habilidades
existente
Costos manejables
18. Servicio & Servidores HDInsight
Porqué Apache Hadoop en Plataforma Windows?
•
Según IDC, Windows Server cubrió la cuota de mercado del 78% en 2012
• Hadoop fue construido tradicionalmente para servidores Linux por lo que hay un gran número de
organizaciones marginadas
•
De acuerdo con el estudio de Barclays CIO en 2012, Big Data supera en escenarios de virtualización como el
# 1 en tendencia a conducir iniciativas de gasto
• El crecimiento de datos no estructurados es superior al 80% año/año en las grandes empresas
•
Apache Hadoop es la plataforma de datos de Big Data para el procesamiento de grandes cantidades de
datos no estructurados
• Como complemento de las tecnologías Microsoft existentes
• Hay una gran comunidad sin explotar de los desarrolladores de Windows y socios del ecosistema
•
Una fuerte alianza Microsoft-Hortonworks y 18 meses de desarrollo hacen de este un paso natural
19. Servicio & Servidores HDInsight
Distribución Empresarial de Hadoop
OS
Cloud
VM
Appliance
Hortonworks Data Platform
(HDP)
________________________
• Hadoop diseñado para las
Empresas
• La “Completa realidad”:
Distribución Open Source
• Ecosistema diseñado para la
interoperabilidad
20. Servicio & Servidores HDInsight
HDInsight
• Big Data @Microsoft
• Microsoft HDInsight Server on Windows
Server
• Windows Azure HDInsight Service (Cloud)
• Escenarios Empresariales Hadoop
• Sencillez y Administrabilidad con
Integración Windows AD
• Monitoreo (System Center)
• Integrado con Microsoft Business
Intelligence, JavaScript, HiveODBC, .NET
• …
• Puesta en marcha en minutos con
HDInsight Services
Hadoop optimizado para
Windows
________________________
26. Big Data en la nube
Utilizando el almacenamiento Blob de HDInsight
•
•
•
El cluster HDInsight está enlazado a una cuenta de almacenamiento blob
"predeterminada" y los contenedores en clúster al mismo tiempo
Mediante el contenedor "por defecto" no exige afrontar acceso especial ("/" ==
carpeta raíz, etc)
Acceso a cuentas de almacenamiento blob adicionales o contenedores:
asv[s]://<container>@<account>.blob.core.windows.net/<path>
•
Cuentas de almacenamiento deben ser registrados en site-config.xml:
<property>
<name>fs.azure.account.key.accountname</name>
<value>enterthekeyvaluehere</value>
</property>
27. Big Data en la nube
Transportando datos con AzCopy
• Utilidad para mover datos desde / hasta Azure Blob Storage (Ej.:
Robocopy)
• 50MB/s de ratio de transferencia en Centro de Datos
Línea de Comando:
AzCopy c:blobs https://<account>.blob.core.windows.net/mycontainer/ /destkey: <key> /S
Sistema de Archivos:
C:blobsa.txt
C:blobsb.txt
C:blobsdir1c.txt
C:blobsdir1dir2d.txt
Almacenamiento Blob:
Contenedor
Nombre Blob
mycontainer
a.txt
mycontainer
b.txt
mycontanier
dir1c.txt
mycontainer
dir1dir2d.txt
40. Hive = Nutshell
?
• Hadoop es fantástico para el almacenamiento y procesamiento de
grandes cantidades de datos
• (pero) Los Jobs en Map/Reduce son objetos de bajo nivel
• (mas) Las herramientas BI confian en los origenes de datos
relacionales y multidimensionales y en lenguajes declarativos como
SQL – MDX - DAX
41. Hive = Nutshell
El Proyecto Hive
• Hive fue iniciado por Facebook (2008)
• Objetivos:
• Incrementar a los usuarios empresariales a las consultas en
clústeres Hadoop con herramientas estándar & SQL
• Genero el famoso documento VLDB en la conferencia del
2009
• En 2009 alrededor de 700TB se ejecutaban con Hive en
Facebook, llegando a generar 5000 quieres por día sobre
un escenario de 100 usuarios
Hive es una Bodega de Datos para Hadoop!!!
(un Sistema para administrar datos estructurados al ser construido sobre Hadoop)
42. Hive = Nutshell
Arquitectura Hive
• Lenguaje de consulta: HiveQL
• Subconjunto de SQL
• Usa Map/Reduce para ejecutarse
• Reglas basadas en optimización
JDBC
Interfaz de línea de
comando
Interfaz
web
ODBC
Servidores a la
medida
Metastore
Driver (Compila, Optimiza y Ejecuta)
43. Hive = Nutshell
Conceptos Hive
• Lo que conocemos:
•
•
•
•
•
•
•
•
•
Bases de datos – Tablas – Columnas & Registros
Tablas = Archivo & Directorio
Almacenamiento = ORC (Registro columnar optimizado), Textfile, RDFile, etc
Tipos de datos = String, Integer, Boolean, etc…
Tipos especiales = Arreglos, Geodésicos, UDT, etc…
Particiones = Subdirectorios
Índices = Subconjunto de datos
HiveQL = SELECT – FROM – WHERE entre otros
Puede ser embebido en un script
52. Big Data & BI
El mundo real del Big Data
Yahoo! = 180 PB > 40000 server (Poliestructurados)
Gran cluster Hadoop: 4500 nodos
(2x4 CPUs, 4x1 TB Discos, 16 GB RAM)
Impresiones aplicables:
DBs Multidimensional (Cubo OLAP): 207 Medidas - 24 Dimensiones - 247 Atributos
Clientes: MS & Tableau: < 6s ad hoc en tiempos de consultas
53. Big Data & BI
Ejemplos de la vida real (Sensor Data Analytics)
59. Parallel Data Warehouse
xVelocity ColumnStore como almacenamiento primario
Mejor IO & Cacheo
Optimización de la memoria
Modo Lote
•
•
•
•
•
•
•
Almacenamiento columnar
independiente
Fácil eliminación de segmentos
Lectura de fácil ejecución
•
Nuevo Memory Broker
Segmentos son cargados cuando se
necesitan
…y permanecer el mayor tiempo
posible
•
Máximo Paralelismo
Capacidad de 1000 valores por
Kernel
Tiempo de CPU es reducido por
ratio de 7 a 40
62. Parallel Data Warehouse
ColumnStore: La Próxima Generación
• ColumnStore se transforma en una estructura de datos primario
(Clustered Index)
• No necesita una tabla base
• Permite actualizaciones y eliminaciones (Almacenamiento
temporal de registros)
• Fácil Administración de Datos
• Mejoras:
• Soporta (los razonable) todos los tipos de datos
• Soporta mas operaciones de consultas
• Estadísticas en tablas particionadas
65. Parallel Data Warehouse
Mejoras con T-SQL
• T-SQL incorpora el incremento de la
compatibilidad:
• SQL Server Data Tools
• Microsoft BI Tools
• Herramientas de terceros como
Tableau
67. PolyBase
Integración Hadoop – Big Data: Microsoft PolyBase
• El motor de consulta T-SQL para RDBMSN& Hadoop
• Optimizador basado en costos de recursos. Decide
acción en:
• Moviendo datos HDFS dentro del almacén RDBMS
• Operaciones traducidas en Map/Reduce – Jobs
• Conexión entre HDFS para transportar datos
paralelizados
68. PolyBase
Integración Hadoop
Tablas Externas
____________________________
• Las tablas externas son mapeadas
como archivos HDFS
• Los campos en el archivo son
definidos como columnas en la
tabla externa de PDW
• Las características del archivo son
también provistas durante la
definición
• Este escenario se ejecuta para
HDInsight, Hortonworks HDP &
Cloudera
70. PolyBase
Es realmente sencillo ejecutar queries
• Aquí: El movimiento de la data
externa es
ExternalRoundRobinMove
• Las lecturas de los encabezados HDFS
serán ejecutadas en cada nodo de
datos
• (Por ejemplo: 10 nodos a 8 threads)