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
Jose Redondo
CL SQL PASS Venezuela | DPA SolidQ
jredondo@solidq.com | redondoj@gmail.com
@redondoj
2. Expositor
Jose Redondo
Chapter Leader SQL PASS Venezuela – Caracas
Chapter
DPA SolidQ
MCP – MCTS – MS SQL Server; MTA – DAF
SQL Server MVP
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
Interfaz de línea de
comando
Interfaz
web
JDBC
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)
74. Big Data, Almacenes de Datos Empresariales
(EDW) y Windows Azure (SQL Database)
como Plataforma BI
Jose Redondo – SQL Server MVP
Correos: redondoj@gmail.com
jredondo@solidq.com
Twitter: @redondoj
Blog:
redondoj.wordpress.com