Upload
jose-redondo
View
650
Download
2
Embed Size (px)
DESCRIPTION
Breve introducción sobre como comprender y analizar los escenarios de Big Data, EDW y SQL Azure para implementarlos en las empresas de hoy.
Citation preview
Big Data, Almacenes de Datos Empresariales
(EDW) y Windows Azure (SQL Database)
como Plataforma BI
Jose Redondo
CL SQL PASS Venezuela | DPA SolidQ
[email protected] | [email protected]
@redondoj
Expositor
Jose Redondo
Chapter Leader SQL PASS Venezuela – Caracas
Chapter
DPA SolidQ
MCP – MCTS – MS SQL Server; MTA – DAF
SQL Server MVP
AGENDA
El Ecosistema Hadoop
Servicio & Servidores HDInsight
Big Data en la nube
MapReduce (JavaScript & .NET)
Hive = Nutshell
Big Data & BI
Parallel Data Warehouse
PolyBase
EL ECOSISTEMA HADOOP
El Ecosistema Hadoop
Características del Big Data: 3 Vertientes
Volumen
Velocidad
Variedad
El Ecosistema Hadoop
Como entender las 3 vertientes (“V”)?
El Ecosistema Hadoop
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
El Ecosistema Hadoop
Task tracker
Job tracker
Name node
Data node
Task tracker
Data node
MapReduce
Layer
HDFS Layer
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
El Ecosistema Hadoop
Hadoop simplificado
Herramientas ETL Reportes BI RBDMS
Pig (Flujo de datos) Hive (SQL) Sqoop
MapReduce (Job Scheduling / Execution System)
HDFS
(Hadoop Distributed File System)
Zo
oke
ep
er
Hadoop = MapReduce + HDFS
El Ecosistema Hadoop
Una muestra gratis…
Hive Mahout RCascad
-ingPig Flume Sqoop
HBase (Column DB)
Am
ba
ri
Zoo
ke
epe
rA
vro
HBase / Cassandra /
Couch / MongoDBHCatalog Oozle
Hortonworks
Cloudera
HStreaming
Hadapt
Karmasphere
MapR
Splunk
Datameer
Partners . . .
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…
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‟
El Ecosistema Hadoop
Pregunto:
… Esto no es EMPRESARIAL, cierto…
Realmente no…
SERVICIO & SERVIDORES
HDINSIGHT
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
• 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
Servicio & Servidores HDInsight
Porqué Apache Hadoop en Plataforma Windows?
Servicio & Servidores HDInsight
Distribución Empresarial de Hadoop Hortonworks Data Platform
(HDP)
________________________
• Hadoop diseñado para las
Empresas
• La “Completa realidad”:
Distribución Open Source
• Ecosistema diseñado para
la interoperabilidad
OS
Cloud
VM
Appliance
Servicio & Servidores HDInsight
HDInsight Hadoop optimizado para
Windows
________________________ 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
Servicio & Servidores HDInsight
Microsoft Big Data Solution
BIG DATA EN LA NUBE
Big Data en la nube
Windows Azure: Big Data Flexible…
Big Data en la nube
Windows Azure HDInsight Service
Big Data en la nube
Hadoop en Azure
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:
• Cuentas de almacenamiento deben ser registrados en site-config.xml:
asv[s]://<container>@<account>.blob.core.windows.net/<path>
<property>
<name>fs.azure.account.key.accountname</name>
<value>enterthekeyvaluehere</value>
</property>
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:
Sistema de Archivos: Almacenamiento Blob:
AzCopy c:\blobs https://<account>.blob.core.windows.net/mycontainer/ /destkey: <key> /S
C:\blobs\a.txt
C:\blobs\b.txt
C:\blobs\dir1\c.txt
C:\blobs\dir1\dir2\d.txt
Contenedor Nombre Blob
mycontainer a.txt
mycontainer b.txt
mycontanier dir1\c.txt
mycontainer dir1\dir2\d.txt
Big Data en la nube
Introducción a HDInsight
Big Data en la nube
Map/Reduce
Big Data en la nube
Map/Reduce con combinaciones
MAPREDUCE
(JAVASCRIPT & .NET)
MapReduce (JavaScript & .NET)
Refinando código…
MapReduce (JavaScript & .NET)
Buen código para manipular grandes
volúmenes de datos
MapReduce (JavaScript & .NET)
Mapeando en C# (Clásico)
MapReduce (JavaScript & .NET)
Reducido en C# (Clásico)
MapReduce (JavaScript & .NET)
Map Reduce con C#
MapReduce (JavaScript & .NET)
.NET Job Submission Framework (Map)
MapReduce (JavaScript & .NET)
.NET Job Submission Framework (Reduce)
HIVE = NUTSHELL
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
?
Hive = Nutshell
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
El Proyecto Hive
Hive es una Bodega de Datos para Hadoop!!!(un Sistema para administrar datos estructurados al ser construido sobre Hadoop)
Hive = Nutshell
Lenguaje de consulta: HiveQL
Subconjunto de SQL
Usa Map/Reduce para ejecutarse
Reglas basadas en optimización
Arquitectura Hive
JDBC ODBC
Servidores a la
medida
Interfaz
web
Interfaz de línea de
comando
Driver (Compila, Optimiza y Ejecuta)
Metastore
Hive = Nutshell
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
Conceptos Hive
Hive = Nutshell
Ejemplo HiveQL
Hive = Nutshell
Trabajando con Hive
BIG DATA & BI
Big Data & BI
El Flujo de Trabajo del Big Data
Big Data & BI
HDInsight en acción: Administrando Big Data
Big Data & BI
Enriqueciendo Big Data en PowerPivot
Big Data & BI
El Poder del Big Data con PowerView = Insights
Big Data & BI
BI en HDInsight
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
Big Data & BI
Ejemplos de la vida real (Sensor Data Analytics)
PARALLEL DATA WAREHOUSE
Parallel Data Warehouse
Conceptos
Parallel Data Warehouse
Parallel Data Warehouse
SQL Server 2012 PDW
Up- & downscale 2 – 56 nodos computables
Nodos estandarizados únicos en 256GB
Computar & Nodos de Almacenamiento son VMs Administración simple
Abstracción de hardware
Cargas de trabaja diferentes
Almacenamiento Columnar duplicado Alta compresión
Actualizable para cargas incrementales
Objetivos desarrollados
10x
Perf
¼ Rack
por 6PB
½ el
Costo
Arquitectura de Hardware
Host 1
Host 2
Host 3
Host 4
JBOD
Parallel Data Warehouse
Escalabilidad dinámica
Parallel Data Warehouse
xVelocity ColumnStore como almacenamiento primario
Mejor IO & Cacheo• Almacenamiento columnar
independiente
• Fácil eliminación de segmentos
• Lectura de fácil ejecución
Optimización de la memoria• Nuevo Memory Broker
• Segmentos son cargados
cuando se necesitan
• …y permanecer el mayor tiempo
posible
Modo Lote• Máximo Paralelismo
• Capacidad de 1000 valores por
Kernel
• Tiempo de CPU es reducido por
ratio de 7 a 40
Parallel Data Warehouse
In Memory ColumnStore Index
Parallel Data Warehouse
Ratio de comprensión de ejemplo
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
Parallel Data Warehouse
Microsoft BI Stack Connectivity
Parallel Data Warehouse
Monitoreando escenarios
• Interfaz de usuario o Vistas administradas
(DMVs)
• System Center Management Packs para
PDW
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
POLYBASE
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
Integración Hadoop – Big Data: Microsoft PolyBase
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
PolyBase
Creando una tabla externa
Herramientas familiares:
• SSMS
• SQL Server Data Tools
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)
PolyBase
BI & Una Solución Big Data con SQL Server PDW v2
PolyBase
Breakthrough en el Procesamiento de Datos
Preguntas & Respuestas
Big Data, Almacenes de Datos Empresariales
(EDW) y Windows Azure (SQL Database)
como Plataforma BI
Jose Redondo – SQL Server MVP
Correos: [email protected]
Twitter: @redondoj
Blog: redondoj.wordpress.com