" Data for all and
all for Data "
Perspectivas y Oportunidades en la Web de Datos
Coloquio de Investigación Multidisciplinaria
21/10/2016
Dr. Jose María Alvarez-Rodríguez
Orizaba, México
Una pregunta...
¿Mujeres políticas nacidas en Orizaba en la segunda mitad del siglo XX?
Otra pregunta...
¿Actrices nacidas en Orizaba en el año 1936?
Otra pregunta...
Latitud, longitud y nombre de lugares cercanos a Orizaba en 200KM con una densidad de población mayor de 100 habitantes por KM2.
Consulta DBPedia
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?name ?birth ?description ?person WHERE {
?person dbo:birthPlace <http://dbpedia.org/resource/Orizaba>.
?person <http://purl.org/dc/terms/subject>
<http://dbpedia.org/resource/Category:Mexican_women_in_politics>.
?person dbo:birthDate ?birth .
?person foaf:name ?name .
?person rdfs:comment ?description .
FILTER (?birth > "1950-01-01"^^xsd:date AND ?birth < "1970-01-01"^^xsd:date).
FILTER (LANG(?description) = 'en') .
}
ORDER BY ?name
Respuesta
Consulta DBPedia
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?name ?birth ?description ?person WHERE {
?person dbo:birthPlace <http://dbpedia.org/resource/Orizaba>.
?person <http://purl.org/dc/terms/subject>
<http://dbpedia.org/resource/Category:Mexican_comedians>.
?person dbo:birthDate ?birth .
?person foaf:name ?name .
?person dbo:alias ?alias .
FILTER (?birth > "1936-01-01"^^xsd:date AND ?birth < "1936-12-31"^^xsd:date).
}
ORDER BY ?name
Respuesta
Consulta DBPedia
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s a onto:Place .
?s geo:lat ?lat .
?s geo:long ?long .
FILTER(
xsd:double(?lat) - xsd:double(19.6613) <= 2 && xsd:double(19.6613) - xsd:double(?lat) <= 2 &&
xsd:double(?long) - xsd:double(-96.8875) <= 2 && xsd:double(-96.8875) - xsd:double(?long) <= 2).
?s <http://dbpedia.org/ontology/PopulatedPlace/populationDensity> ?density.
FILTER(xsd:double(?density) > xsd:double(100)).
}
LIMIT 100
http://bit.ly/2dVGgeh
Respuesta
¡Explosión de datos!
... NO todo es social media!
¿En qué era estamos viviendo?
4ª Revolución Industrial
Fuente: https://goo.gl/images/8dsnlW
Transformación Digital
aplicada a la
Industria
Cyber-Physical Systems
Software
"alma" de los sistemas
Datos
"alimento" de los sistemas
Un ejemplo...
- " driven by exponential increases in computing power and by the availability of vast amounts of data "
- "...growing transparency, consumer engagement, and new patterns of consumer behavior (increasingly built upon access to mobile networks and data )..."
- These technology platforms, rendered easy to use by the smartphone, convene people, assets, and data —thus creating entirely new ways of consuming goods and services.
- New technologies make assets more durable and resilient, while data and analytics are transforming how they are maintained . A world of customer experiences, data-based services, and asset performance through analytics,
- ...
The 4th Industrial Revolution
...algunas preguntas..
¿La compañía de taxis más grande?
¿La gran tienda del mundo?
¿La cadena de hoteles con más habitaciones?
¿La universidad más grande?
¿El medio de noticias con más información?
...y la industria del automóvil?
- Renault/Nissan
- Fiat/Chrysler
- Volkswagen
- Ford
- Daimler
- BMW
- TATA
- GM
- Toyota
- Volvo
- …
-
Intel
-
Microsoft
-
Google
-
Apple
-
Uber
-
Baidu
-
Nokia
-
…
This graphic originally published June 28, 2016. It has since been updated with additional reporting. SOURCE: Data compiled by Bloomberg
ADDITIONAL WORK: John Lippert, Keith Naughton and Cedric Sam
Software
"alma" de los sistemas
Datos
"alimento" de los sistemas
¿Seguro?
Según Forbes (2012)...
Según UX-Sears (2012)...
Según Matt Turck (2014)
Según BigDataLandscape...
Según Matt Turck 2016
...Gartner 2015 Hype Cycle...
Big Data is out!
IoT Platform Citizen Data Scientist Machine Learning NLP & Question Answering
...
¡Big Data ya está en uso!
¿Por ejemplo?
Sofisticación de métodos para:
- Proceso de fabricación
- Servicios post-venta
- Engine Health Management
- ¿IoT en el futuro?
- Localización anónima de viajeros
- Predicción de carga de viajeros
- Manejo de situaciones excepcionales
- Predicción de problemas en la red (predictive analytics)
...De la empresa Teradata...
Supply Chain
Supply Chain
Policía
Crímenes
Eficiencia energética
...
UC3M y RTVE
- +29M Observaciones
- +26 Métricas
- +350K relaciones
- 6 redes sociales
- +2000 perfiles
- +130K Tweets...
¿Algunas conclusiones iniciales?
Problemas de negocio
Monitorización
Batch vs Tiempo real vs Stream
Eficiencia y mejora
Análisis predictivo
Tecnología
Conceptos Clave
¿Qué es
Big Data?
3v's
vs
8v's
(n+1 v's)
VOLUMEN
VOLUMEN
- Cantidad de datos que se han de procesar
- Crecimiento Continuo
¿Cuál es el tamaño para ser considerado Big Data?
- Al menos 1 TB hasta el orden de PB (en el futuro EB)
- ...pero también dependerá de la calidad
Ejemplo
Otro ejemplo
VARIEDAD
Tipos
- Documentos
- Imágenes
- Vídeos
- Posts en redes sociales
- Datos científicos, geográficos, etc.
Formatos
Estructurado vs
Semi-estructurado
No estructurado
- CSV, TSV, MSExcel
- PNG, JPG, MPEG, etc.
- PDF, HTML, etc.
Acceso
- Ficheros
- Lenguajes de consulta
- Streams
- BBDD
- ...
McKinsey
Tipos de Datos por Sector
VELOCIDAD
Velocidad
Actualización y tipo de procesamiento
-
Batch
-
Periódico
-
Eventos
-
Cercano a tiempo real
-
Tiempo real
Ejemplo
500M de Tweets por día
6000 por segundo de media
VERACIDAD
Veracidad
- Calidad
- Limpieza
- Fuente de datos confiable
- ...
VISCOSIDAD
Viscosidad
- Resistencia a formar parte del flujo de datos
- Capacidad de integración de los datos
- Tipos de procesamiento:
- Stream
- Bus de integración
- Procesamiento de eventos complejos (CEP)
VIRALIDAD
Viralidad
PROPAGACIÓN DE LA INFORMACIÓN
VELOCIDAD Y TIEMPO
VALOR
Valor
Datos estadísticos
Eventos
Hipótesis (estimaciones)
Correlaciones
Variabilidad
Variabilidad
¿Cuán de dinámicos son los datos?
Atomicidad
COMPLEJIDAD
COMPLEJIDAD
¿Cómo conectar?
¿Cómo correlar?
¿Capas?
¿Modos?
...
(Casi)
Todo en uno...
Big Data es...
- Es lo mismo que resolver problemas "Small Data"
- ...pero el disponer de muchos datos implica...
- Nuevas arquitecturas (distribuidas)
- Necesidades de almacenamiento
- Diferentes tipos de procesamiento
- ...
- para resolver problemas existentes con un mejor/nuevo enfoque
Old wine in new bottles!
Referencia oficial
Big Data Working Group en el NIST
NIST SP 1500-1 -- Volume 1: Definitions
NIST SP 1500-2 -- Volume 2: Taxonomies
(Instituto de Estandarización Americano)
¿Por qué
Big Data?
MEJORA EN LAS CAPACIDADES DE ALMACENAMIENTO
MAYOR CAPACIDAD DE PROCESAMIENTO
DISPONIBILIDAD DE DATOS
...para resolver problemas...
Otro caso de éxito: Walmart
Arquitectura
Necesidades
-
Almacenar grandes cantidades de datos
- Caducidad en el tiempo
- Integrar fuentes de datos
-
(Re) Procesar y consultar en
- Batch
- Tiempo real
- ...para proporcionar servicios de
- Toma de decisiones
- Informes, etc.
- ....y con capacidades de...
- Escalabilidad
- Tolerancia a fallos
- Replicación
¿Alguna idea?
¿Una BBDD relacional tradicional?
¿Un sistema de procesamiento off-line?
¿Un sistema de Inteligencia de Negocio?
¿OLAP y variantes?
...
Sistemas NoSQL
- Key /Value (Tablas)
- Documentos
- Grafos
Database Landscape
Teorema CAP
"Es imposible para un sistema de computación distribuida garantizar al mismo tiempo":
- Consistencia (Consistency)
- Disponibilidad (Availability)
- Tolerancia a fallos (Partition tolerance)
Ejemplos
AP: Cassandra y CouchDB
CP: HBase y PAXOS
CA: BBDD relacionales
CAP y Big data
Superando el teorema CAP
Las propiedades ACID de las bases de datos relacionales no encajan demasiado bien con las necesidades de un sistema Big Data (almacenar y procesar en ~tiempo real).
¿Factores Clave?
¿Arquitecturas?
¿Patrones?
Clasificación de IBM
Diferentes Arquitecturas
-
Lambda
-
Kappa
-
Zetta
-
IoT-a
-
Polyglot Processing
...dependiendo de las necesidades...
Arquitectura Lambda
Nathan Marz
Ejemplo arquitectura Lambda
Arquitectura Kappa
Arquitectura Zetta
Arquitectura Zetta en Google
Arquitectura IoT-A
Arquitectura Polyglot Processing
Referencia oficial del NIST
NIST Big Data Reference Architecture Subgroup |
5. NIST SP 1500-5 -- Volume 5: Architectures White Paper Survey |
6. NIST SP 1500-6 -- Volume 6: Reference Architecture |
¿Big Data Management Platforms?
Tecnología
Map/Reduce (M/R)
Un modelo de programación...
- Procesamiento de datos a gran escala y distribuido
- Simple pero restringido
- Programación paralela
- Extensible
- ...
Antecedentes
Programación Funcional
- Inspirado pero no equivalente
Ejemplo en Python
"Dada una lista de números entre 1 y 50 mostrar sólo los pares"
print filter(lambda x: x % 2 == 0, range(1, 50))
- Datos (una lista de números)
- Condición (ser par)
- Función de filtro
- ...
Otro ejemplo...
"Calcular la suma de los cuadrados de los números entre 1 y 50"
import operator
reduce(operator.add, map((lambda x: x **2), range(1,50)) , 0)
- reduce es equivalente a foldl en otros lenguajes como Haskell
- se deben considerar otros aspectos matemáticos (tipo de operador)
Modelo Básico de M/R
MapReduce: The Programming Model and Practice,
SIGMETRICS, Tutorials 2009, Google.
Mapping en M/R
Mapping es una función que crea una lista de salida tras la aplicación de un función a cada elemento de la lista de entrada.
Reduce en M/R
Reduce es una función que itera sobre los elementos de entrada para agregarlos en un sólo valor.
¿Qué es M/R?
Es un modelo de programación inspirado en programación funcional para resolver problemas mediante un enfoque "divide y vencerás" con procesamiento distribuido y paralelo.
¿Cuándo utilizar M/R?
- Indexado y búsqueda (índices inversos)
- Filtrado
- Clasificación
- Recomendación (clustering o filtrado colaborativo)
- Resumen y estadística
- Ordenación y "merging"
- Distribución de frecuencia
- Consultas tipo SQL (group-by, having, etc.)
- Procesamiento y generación de gráficos (histogramas)
- Algoritmos tipo : Búsqueda en anchura o PageRank,
Consulta
Análisis
Otros
¿Cómo lo utiliza Google?
- Indexado y búsqueda a escala web (pre-caché de consultas y resultados)
- Clustering para recomendación en Google News
- Informes para Google Trends
- Procesamiento de imágenes de satélites
- Machine translation
- Aprendizaje automático
- ...
Comparación M/R y otros enfoques
MapReduce: The Programming Model and Practice, SIGMETRICS, Turorials 2009, Google.
Evaluación y características M/R
MapReduce: The Programming Model and Practice, SIGMETRICS, Turorials 2009, Google.
Apache Hadoop
The Apache Hadoop software library is a framework that allows for the
distributed processing of large data sets across clusters of computers
using simple programming models.
Hadoop Ecosystem
Otro listado: https://hadoopecosystemtable.github.io/
M/R Ejemplos
Apache Hadoop
Resumen M/R
Conclusiones
- M/R es un modelo de programación
- ...para manejar grandes cantidades de datos off-line
- ...escalabilidad, replicación, tolerancia a fallos, etc.
- Apache Hadoop no es una base de datos
- Existen muchos proyectos basados en Hadoop
- Existen enfoques similares:
- Apache Storm
- Apache Spark
- Apache Flink
- Signal/Collect
- ...
¿Qué hay después?
-
Concatenación de trabajos M/R
-
En otros frameworks ya superado (ej: Flink)
-
-
Optimización de los parámetros del algoritmo
-
Pipelining con otros lenguajes de programación
-
Patrones más avanzados
-
Procesamiento en tiempo real
-
Problemas actuales: imágenes, etc.
- ...
Ejemplo completo de
arquitectura Lambda
Apache Spark
Apache Flink
vs
Apache Spark
Apache Flink
Apache Flink
Resumen
¿Qué es Big Data?
Arquitectura
M/R y Hadoop
Tecnología y frameworks
FAQ
¿Tengo un problema Big Data?
- Evaluar de acuerdo a las 3-8 V's
- Definir necesidades
-
Procesamiento
- ¿Batch? ¿Tiempo real ? ¿Ambas?
- Almacenamiento
- Tablas, documentos, grafos, etc.
- Frecuencia de actualización
-
Consulta
- Lenguaje de consulta
- Infraestructura
- ¿Local? ¿Cloud Computing?
- Seleccionar tecnología
¿Cuál es el coste?
- Se puede empezar con las herramientas ya disponibles como código abierto
- La clave está en el conocimiento y el modelado del problema
- Los datos ya están disponibles
- Gratuitos
- Otros de pago
-
Se pueden crear
- Infraestructura para procesamiento y "crawling" (http://commoncrawl.org/)
- La implementación es cuestión de tiempo y de la tecnología seleccionada
¿Existe alguna suite completa?
- Cloudera Impala
- Pentaho (ETL)
- RapidMiner
- MapR
- Hortonworks
- IBM Watson Analytics
- Palantir
- Presto
- Lambdoop
- ...
¿Existen oportunidades de negocios?
¿Existen temas abiertos?
- Privacidad
- Salto entre modelo matemático y despliegue en arquitectura Big Data
- Big Data Governance (¿Semántica?)
- Acercar o facilitar Big Data para usuarios finales
- Aplicaciones
- Recomendación
- Análisis de sentimiento, etc.
- Visualización (D3.js, Highlights.js, etc.
- ...
¿Cuál es la diferencia con BI?
No es sencillo de hacer una gran diferenciación pero caería en los siguientes puntos:
- Big Data: estadística inferencial y low-density información
- BI: estadística descriptiva y high-density información
¿Big Data vs HPC?
- Big Data trata sobre datos
- HPC trata sobre poder computacional
...pero destinados a encontrarse...
http://www.hpcuserforum.com/presentations/tuscon2013/IDCHPDABigDataHPC.pdf
¿Cómo se forma un equipo?
¿Por dónde continuar?
Entender los fundamentos de Big Data (ej: Hadoop, etc.)
Probar y ascender en el conocimiento de herramientas de mayor nivel de abstracción
- http://spark.apache.org/docs/latest/quick-start.htm
- https://ci.apache.org/projects/flink/flink-docs-release-0.10/quickstart/setup_quickstart.html
- http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_tutorial.html
-
https://www.mapr.com/services/mapr-academy/course-pricing (estos son caros)
¿Cursos on-line específicos?
- Big Data
- Data Science
¿Algún libro?
Top libros...
Tendencias
(además de las de Gartner 2015)
Microservicios y similares
Deep Learning-
Google Tensor Flow
Data Lake
Almacén de datos "en crudo" y en sus formatos nativos hasta que son procesados.
Sistemas interactivos para ciencia de Datos
Ej: Jupyter
Mitos
"Yo también quiero Big Data"
Dependiendo del problema se podrán aplicar las técnicas de forma más exitosa.
La selección debería basarse en innovación tecnológica para un proceso en negocio y no en marketing.
"Es sólo un problema técnico(IT)"
Realmente se debe buscar el problema de negocio y de ahí descender a la solución técnica. Ej: Walmart
"No se puede aplicar a grandes empresas por su diversidad"
Realmente el problema reside en la integración de datos y no en la aplicabilidad de las técnicas
"El coste de las herramientas y expertos es muy alto"
Sobre las herramientas e infraestructura ya se ha comentado y sobre los expertos el problema reside en seleccionar el perfil correcto: estadístic@, ingenier@, etc.
y más mitos...
- http://www.slideshare.net/ProphetBrandStrategy/the-myths-of-big-data
- http://www.v3.co.uk/v3-uk/analysis/2302685/top-10-big-data-myths-and-misconceptions/page/2
- Big data is new
- Big data is a commodity
- Big data is a problem
- Your data is useful only to you
- The government isn't interested in your social media data
- Big data won't land you in jail
- ...
Si con un "SMARTPHONE" no eres más "SMART"
Con"BIG DATA" no eres más "BIG"
Es muy importante contextualizar el problema de negocio tanto en necesidades como en nuestras capacidades
No es necesario diseñar/implementar una arquitectura desde el inicio, existen muchas herramientas ya disponibles
...pero...
IBM BIG DATA (Predicción)
4x more digital data than all the grains of sand on earth by 2020 #bigdata
https://twitter.com/IBMAnalytics/status/417748100217061377/photo/1
¡Explotemos Big Data!
- Ponente: Dr. Jose María Alvarez-Rodríguez
- Profesor Visitante
- Universidad Carlos III de Madrid
- E-mail: josemaria.alvarez@uc3m.es
- WWW:
Créditos
Data for all and all for Data: Perspectivas y Oportunidades en la Web de Datos
By Jose María Alvarez
Data for all and all for Data: Perspectivas y Oportunidades en la Web de Datos
Data for all and all for Data: Perspectivas y Oportunidades en la Web de Dato
- 3,333