Arquitecturas Big Data
Daniel Tardón
dtardon@keedio.com
@danikeedio
RESUMEN
Lo que es Big Data
La cadena de valor de Big Data
Casos de uso – Con éxitos y fracasos
Roles de Big Data y el cambio en las organizaciones
Cómo lo hacemos: Con una plataforma y metodología
Solving Big Data Issues 3
LA CADENA DE VALOR BIG DATA
INGESTIÓN
ALMACENAMIENTO
Datos en crudo, sin tratar HDFS
BBDD NoSQL
Almacenamiento Operacional
CONSULTA
VISUALIZACIÓN
APLICACIONES
EXTERNAS
MACHINE LEARNING Y
PREDICITVE
TRATAMIENTO
Computación y tratamiento de los datos.
Batch, Tiempo Real, Streaming.
Solving Big Data Issues 4
INGESTIÓN
La ingesta es quizás la parte más importante en un
proyecto Big Data.
Puede consumir hasta un 80% de esfuerzos del proyecto.
La calidad del dato en la fase de ingesta marca gran parte
del éxito analítico posterior.
Big Data vs Clean Data.
Es muy importante el metadatado.
Es un proceso iterativo que busca aumentar la calidad de
la información.
Solving Big Data Issues 5
INGESTIÓN
Es crítico la elección de la herramienta adecuada según el
caso de uso o necesidades de ingesta.
Herramientas de flujo continuo o herramientas de
“ELT” (no ETL)
Desacoplamiento de la fuente del dato del Data Lake
Apache Kafka como elemento crítico en las arquitecturas
de ingesta
Apache Flume y Apache NiFi son las principales opciones,
pero no las únicas.
Solving Big Data Issues 6
ALMACENAMIENTO PERSISTENTE
Importante el concepto de almacenamiento en RAW.
Información cruda sin procesar para poder ser reutilizada.
Los eventos/información RAW se deben tratar como
”hechos” inmutables.
Este almacenamiento de información supone una
“golden source”.
Se hace en almacenamientos distribuidos por SW (bajo
coste). HDFS es el estándar del ecosistema Hadoop, pero
hay alternativas como CEPH o GLUSTERFS
En cloud imperan S3 (Amazon) y Blob Storage (Azure).
Solving Big Data Issues 7
PROCESAMIENTO
Dos modelos principales de procesamiento
§  BATCH
§  STREAMING
Aunque tienen objetivos analíticos
diferentes, existe una corriente en auge de
convergencia entre ambos .
11 100 01
0001 11
01 001 110
11 100 01
01 001 110
11 100 01
STREAM PROCESS BATCH PROCESS
horas< min
OPERATIONAL
STORAGE
Solving Big Data Issues 8
PROCESAMIENTO: BATCH
El procesamiento en Batch tiene un objetivo principal
atemporal.
Trabaja con grandes volúmenes de datos sin tener tanta
relevancia la latencia u obtención de resultados rápidos.
El origen está en el paradigma de MapReduce pero hay
nuevos frameworks que lo optimizan.
En estos framework de procesamiento se prima el
throughput sobre la latencia.
Existen herramientas de abstracción a MapReduce como
Hive para establecer consultas SQL like sobre los datos.
Solving Big Data Issues 9
PROCESAMIENTO: STREAMING
En los frameworks de Streaming prima la baja latencia
sobre el throughput.
Habitualmente los resultados de los procesos son
enviados a apps externas o a BBDD NoSQL de baja
latencia de consulta.
Según el modelo se pueden utilizar diferentes
herramientas:
§  Spark Streaming - Micro Batches
§  Storm – Real Time, basado en eventos
En ocasiones se complementa la funcionalidad de los
framworks con el uso de herramientas CEP.
Solving Big Data Issues
LENGUAJES, FRAMEWORKS E IDES/NOTEBOOKS - ENCUESTA
10
Languages
Python
R
Scala
Frameworks
Map Reduce: under the hood in most services/applications
Spark
§  Spark-Scala
§  PySpark
§  SparkR
Flink (Java & Scala)
IDEs/notebooks
Jupyter
Zeppelin
RStudio
Spyder
Other IDEs: IntelliJ & Eclipse
Reported usage & Big Data roles
Python è data engineers/scientists
R è data scientists (biased towards analysis)
Scala è data engineers
Python + {R|Scala} è data engineers/scientists
No Framework: Python (pandas) or R
Spark single flavor: PySpark typically
Multiple Spark: PySpark + Scala-Spark
Python: Jupyter (70%), Spyder (25%)
Scala: Zeppelin (40%), IntelliJ (30%), Jupyter (25%)
R: RStudio (75%)
Solving Big Data Issues 11
MACHINE LEARNING
Machine Learning
Conjunto de técnicas estadístico-
matemáticas que permiten
aprender a sistemas
informáticos las características
de usuarios, procesos,
fenómenos… para
Predecir
Anticiparse a tendencias, decisiones o
demandas del mercado/clientes a partir
de un modelo y unas entradas
predefinidas
Clasificar
Reconocer el grupo/clase de individuos,
sucesos o eventos para responder/
gestionarlos de forma más eficiente
Sistemas de recomendación
Aprendizaje contínuo para
adaptar sugerencias,
presentación de productos, etc.
que permite amoldarse
automáticamente a gustos/
necesidades del cliente
Solving Big Data Issues 12
MACHINE LEARNING
Analytics: Statistics, Math & Machine Learning
Distributed computation
Batch or stream: offline or online analytics
Spark MLlib
Language specific APIs
•  Scala: ScalaNLP
•  Python: Scikit-learn, SciPy, NumPy…
•  R: CRAN packages such as caret, randomForest, glmnet
MLlib
Backend implementation w/ interfaces to Scala, Python & R
Solving Big Data Issues 13
BBDD OPERACIONALES – NoSQL
Son BBDD de baja latencia (escritura y/o lectura).
Hay algunas que lo que almacenan son “documentos” y
otras utilizadas para almacenar y manipular series
temporales.
Non ACID
Existe multitud de alternativas y no necesariamente hay
una mejor que otras para propósito general.
Elasticsearch vs Solr (indexadores no BD), Couchbase vs
MongoDB, Cassandra vs Riak
Solving Big Data Issues 14
EXPLOTACIÓN
Cada vez existen más conectores con el ecosistema
HADOOP.
Normalmente hay compatibilidad JDBC/ODBC con la
mayoría de las NoSQL y frameworks de computación.
Las APIs son la otra gran solución de explotación.
Aquí es donde BI se convierte en un actor importante
como complemento con Big Data.
Hay proyectos de Big Data que no se pueden hacer con BI.
Hay proyectos de BI que sí se pueden hacer con Big Data.
15
ARQUITECTURAS
Solving Big Data Issues 16
ARQUITECTURAS: LAMBDA – KAPPA – What’s next?
What’s next?
Solving Big Data Issues 17
ARQUITECTURA AD-HOC
BI Tools
Dashboard
s & Reports
Monitoring
Services
Aplicaciones
Externas
SUBSEQUEN
T ANALISYS
(Data Science
Tools)
FUENTES INTERNAS
FUENTES EXTERNAS
AGENTESDEINGESTA
BROKERMENSAJERÍA
OP STORAGE
NoSQL
HDFS HDFS HDFS
STREAMING
BATCH Y ALMACENAMIENTO
18
PLATAFORMA
We’re hiring!
¡Gracias!
¿Tenéis
Preguntas?
Tenemos
Respuestas
Calle Virgilio 25
Edificio Ayessa I, Bajo D
Pozuelo de Alarcón
28223 Madrid
@keedioinfo@keedio.comwww.keedio.com keedio

2016 ULL Cabildo KEEDIO - Arquitecturas Big Data

  • 1.
  • 2.
    RESUMEN Lo que esBig Data La cadena de valor de Big Data Casos de uso – Con éxitos y fracasos Roles de Big Data y el cambio en las organizaciones Cómo lo hacemos: Con una plataforma y metodología
  • 3.
    Solving Big DataIssues 3 LA CADENA DE VALOR BIG DATA INGESTIÓN ALMACENAMIENTO Datos en crudo, sin tratar HDFS BBDD NoSQL Almacenamiento Operacional CONSULTA VISUALIZACIÓN APLICACIONES EXTERNAS MACHINE LEARNING Y PREDICITVE TRATAMIENTO Computación y tratamiento de los datos. Batch, Tiempo Real, Streaming.
  • 4.
    Solving Big DataIssues 4 INGESTIÓN La ingesta es quizás la parte más importante en un proyecto Big Data. Puede consumir hasta un 80% de esfuerzos del proyecto. La calidad del dato en la fase de ingesta marca gran parte del éxito analítico posterior. Big Data vs Clean Data. Es muy importante el metadatado. Es un proceso iterativo que busca aumentar la calidad de la información.
  • 5.
    Solving Big DataIssues 5 INGESTIÓN Es crítico la elección de la herramienta adecuada según el caso de uso o necesidades de ingesta. Herramientas de flujo continuo o herramientas de “ELT” (no ETL) Desacoplamiento de la fuente del dato del Data Lake Apache Kafka como elemento crítico en las arquitecturas de ingesta Apache Flume y Apache NiFi son las principales opciones, pero no las únicas.
  • 6.
    Solving Big DataIssues 6 ALMACENAMIENTO PERSISTENTE Importante el concepto de almacenamiento en RAW. Información cruda sin procesar para poder ser reutilizada. Los eventos/información RAW se deben tratar como ”hechos” inmutables. Este almacenamiento de información supone una “golden source”. Se hace en almacenamientos distribuidos por SW (bajo coste). HDFS es el estándar del ecosistema Hadoop, pero hay alternativas como CEPH o GLUSTERFS En cloud imperan S3 (Amazon) y Blob Storage (Azure).
  • 7.
    Solving Big DataIssues 7 PROCESAMIENTO Dos modelos principales de procesamiento §  BATCH §  STREAMING Aunque tienen objetivos analíticos diferentes, existe una corriente en auge de convergencia entre ambos . 11 100 01 0001 11 01 001 110 11 100 01 01 001 110 11 100 01 STREAM PROCESS BATCH PROCESS horas< min OPERATIONAL STORAGE
  • 8.
    Solving Big DataIssues 8 PROCESAMIENTO: BATCH El procesamiento en Batch tiene un objetivo principal atemporal. Trabaja con grandes volúmenes de datos sin tener tanta relevancia la latencia u obtención de resultados rápidos. El origen está en el paradigma de MapReduce pero hay nuevos frameworks que lo optimizan. En estos framework de procesamiento se prima el throughput sobre la latencia. Existen herramientas de abstracción a MapReduce como Hive para establecer consultas SQL like sobre los datos.
  • 9.
    Solving Big DataIssues 9 PROCESAMIENTO: STREAMING En los frameworks de Streaming prima la baja latencia sobre el throughput. Habitualmente los resultados de los procesos son enviados a apps externas o a BBDD NoSQL de baja latencia de consulta. Según el modelo se pueden utilizar diferentes herramientas: §  Spark Streaming - Micro Batches §  Storm – Real Time, basado en eventos En ocasiones se complementa la funcionalidad de los framworks con el uso de herramientas CEP.
  • 10.
    Solving Big DataIssues LENGUAJES, FRAMEWORKS E IDES/NOTEBOOKS - ENCUESTA 10 Languages Python R Scala Frameworks Map Reduce: under the hood in most services/applications Spark §  Spark-Scala §  PySpark §  SparkR Flink (Java & Scala) IDEs/notebooks Jupyter Zeppelin RStudio Spyder Other IDEs: IntelliJ & Eclipse Reported usage & Big Data roles Python è data engineers/scientists R è data scientists (biased towards analysis) Scala è data engineers Python + {R|Scala} è data engineers/scientists No Framework: Python (pandas) or R Spark single flavor: PySpark typically Multiple Spark: PySpark + Scala-Spark Python: Jupyter (70%), Spyder (25%) Scala: Zeppelin (40%), IntelliJ (30%), Jupyter (25%) R: RStudio (75%)
  • 11.
    Solving Big DataIssues 11 MACHINE LEARNING Machine Learning Conjunto de técnicas estadístico- matemáticas que permiten aprender a sistemas informáticos las características de usuarios, procesos, fenómenos… para Predecir Anticiparse a tendencias, decisiones o demandas del mercado/clientes a partir de un modelo y unas entradas predefinidas Clasificar Reconocer el grupo/clase de individuos, sucesos o eventos para responder/ gestionarlos de forma más eficiente Sistemas de recomendación Aprendizaje contínuo para adaptar sugerencias, presentación de productos, etc. que permite amoldarse automáticamente a gustos/ necesidades del cliente
  • 12.
    Solving Big DataIssues 12 MACHINE LEARNING Analytics: Statistics, Math & Machine Learning Distributed computation Batch or stream: offline or online analytics Spark MLlib Language specific APIs •  Scala: ScalaNLP •  Python: Scikit-learn, SciPy, NumPy… •  R: CRAN packages such as caret, randomForest, glmnet MLlib Backend implementation w/ interfaces to Scala, Python & R
  • 13.
    Solving Big DataIssues 13 BBDD OPERACIONALES – NoSQL Son BBDD de baja latencia (escritura y/o lectura). Hay algunas que lo que almacenan son “documentos” y otras utilizadas para almacenar y manipular series temporales. Non ACID Existe multitud de alternativas y no necesariamente hay una mejor que otras para propósito general. Elasticsearch vs Solr (indexadores no BD), Couchbase vs MongoDB, Cassandra vs Riak
  • 14.
    Solving Big DataIssues 14 EXPLOTACIÓN Cada vez existen más conectores con el ecosistema HADOOP. Normalmente hay compatibilidad JDBC/ODBC con la mayoría de las NoSQL y frameworks de computación. Las APIs son la otra gran solución de explotación. Aquí es donde BI se convierte en un actor importante como complemento con Big Data. Hay proyectos de Big Data que no se pueden hacer con BI. Hay proyectos de BI que sí se pueden hacer con Big Data.
  • 15.
  • 16.
    Solving Big DataIssues 16 ARQUITECTURAS: LAMBDA – KAPPA – What’s next? What’s next?
  • 17.
    Solving Big DataIssues 17 ARQUITECTURA AD-HOC BI Tools Dashboard s & Reports Monitoring Services Aplicaciones Externas SUBSEQUEN T ANALISYS (Data Science Tools) FUENTES INTERNAS FUENTES EXTERNAS AGENTESDEINGESTA BROKERMENSAJERÍA OP STORAGE NoSQL HDFS HDFS HDFS STREAMING BATCH Y ALMACENAMIENTO
  • 18.
  • 19.
  • 20.
  • 21.
    Calle Virgilio 25 EdificioAyessa I, Bajo D Pozuelo de Alarcón 28223 Madrid @[email protected] keedio