Está en la página 1de 13

BIG DATA

1. LA GESTIÓN DE DATOS
• Datos estructurados, semiestructurados y no estructurados
Descubrimiento del conocimiento en bases de datos (KDD)
Proceso que permite transformar el dato en valor en bases de datos (Knowledge Discovery in Databases)

Datos → repreentación simbolicas de los hechos acontecidos en el pasado


Información → tras el analisis de los datos (data mining), los convertimos en informaicón
Conocimiento → la experiencia en una determinada materia, facilita la interpretación de la información y su
transformación en conocimiento
Comprensión → la valoración y reflexión sobre el conocimiento, nos permite averiguar por que ocurre
Sabiduría → la evluación de la comprensión y su aplicación, inferir que es probable que ocurra (futuro)
Toma de decisión

Las tecnicas más frecuentes de KDD pueden categorizarse en:


• Descriptivas → caracterización o discriminación de conjunto de datos (agrupamiento o clustering, asociación,
analisis de patrones, detección de desviación)
• Predictivias → aprender una hipotesis que pueda clasificar nuevos individuos. Regresión y clasificación (redes
neuronales, arboels de decisión, clasificación bayesiana, algoritmos genéticos, …)
DATA MINING
• Es una etapa dentro de descubrimiento de conocmiento (KDD) → busca patrones ocultos en los datos
• El mundo empresarial también lo definde como: obtención de conocimeinto a través de BBDD que aporten un
sesgo hacia la toma de decisión
BUSINESS INTELLIGENCE
Tecnicas, procesos, herramientas y tecnologías para convertir datos en información, info en conocimiento y planes
para conducir de forma eficaz las actividades del neegocio. para extraer conocimiento

Tipo de sistemas:
• Sisteas transaccionales o operacionales
• Sistemas intermedios
• Sistemas informacioneales → almacenes de datos

DLM o ILM (Data/Information Life Cycle Management) → no es un software sino un enfoque para gestionar el flujo de
datos de un sistema de información
Ciclo de vida de los datos: captura / organización / integración / análisis / actuación

2. INTRODUCCIÓN AL BIG DATA


Hasta ahora → un investigador tenía intuición y formulaba una hipotesis. Buscar datos para coraborarla (aproximación
dirigida por hipotesis)→ en Big Data, se buscan patrones en los datos, y luego se formula hipotesis sobre lo que se
observa (aproximación dirigida por los datos).
Descubrimiento y análisis primera prioridad de la organizaicón.

RASGOS Y CARACTERÍSTICAS DEL BIG DATA


• Volumen / Velocidad / Variedad (3v)
• Veracidad / Valor (5v)

COMPONENTES DE UN SISTEMA BIG DATA


• Infraestrctura tecnologica: arquitectura distribuida,
• Gobernanza de los datos: tener documentados los datos, transformaciones a los que se han sometido,
validez,...
• Gestión de los datos
Analitica en tiempo real → implementar procesos complejos de gestión de datos (Complex Event Processing – CEP)

COMPUTACIÓN EN LA NUBE
Ordenadores paralelos (decenas)
Clusters (cientos)
Grid computing (miles) → concepto acuñado en los 90. Tener interconectados clusters de ornedadores a través de
internet, de forma que tienes un sist. Informatico con muchos procesadores

Cloud computing → concepto diferente aunque a veces puedan ser complementarios. Serviciios que se ofrecen a
través de internet. Proveedor de servicios. Se paga según se consuma: accesible + mantenimiento + elasticidad + pago
por uso

Analytics as a service AaaS y Big Data as a Service BdaaS → servicios de análisis de big data que pueden ser ofrecidos
por nubes privadas, publicas o hibridas → se paga por la cantidad de datos analizados y el tiempo

OTRAS SOLUCIONES DE PROVEEDORES → Soluciones IaaS + clusters Hadoop.


• Amazon EMR (Elastic Map Reduce) → un servicio más de amazon AWS. Ejecutar clusters Hadoop en
diferentes instancias EC2
• Microsoft Azure → ofrece Iaas + PaaS, proporciona servicio de Machine Learning, servicio event hub, modelos
hibridos de displiegue
• Google Cloud Infraestructure
• IBM Cloud
• CloudSigma
• HP Cloud
• Rackspace

CloudVertical → plataforma que ayuda a comparar costes → Cloudyn, RightScale, Teevity

3. BIG DATA EN LAS ORGANIZACIONES


• Correlación no equivale a causalidad → El big data encontrará correlaciones, pero nunca nos dira que
correlaciones son significativas
• Big data es una herramienta muy importante pero no sustituye a la investigación
• Las predicciones no son infalibles
• efecto eco-camara → big data analiza info del pasado que puede ser no correcta. Circulo vicioso de errores
• Problemas de analisis comportamientos poco frecuentes → big data funciona bien con comportamientos
frecuentes.

Analisis de sentimientos
• Dificultades para identificar entre conversaciones positivas y negativas
• Las palabras claves y temáticas pueden resultar decepcionantes

CULTURA ANALITICA EN LA ORGANIZACIÓN: DATA DRIVEN BUSINESS


Sobre todo barreras culturales mas que tecnologicas → empresa dirigida por los datos
Muchos modelos basados en empresas con éxito en big data → Google, Facebook, …
DDDM (Data Driven Decission Management) → decisiones respaldadas con datos que puedan ser verificados
Data Driven Disaster → Exito (calidad datos, eficiencia del análisis e interpretacion) → desastre generado por datos

NUEVOS ROLES
Chef Financial Officer (CFO) → Director financiero
Cher Marketing Officer (CMO) → Director de Marketing
Chef Strategy Officer (CSO) → Director de estrategia
Chief Data Officer (CDO) → Director de datos (tecnico responsable gobernabilidad datos empresa). Coordina:
procesamiento+analisis+mineria de datos y gestión información
Chief Data Scientist (CDS) →cientifico de datos. No necesariamente ligado a big data siempre.
Chief Data Steward → administrador o auxiliar de datos → encargado de la gestión de todos aquellos elementos
relacionados con los datos (datos, metadatos, indices)

SEIS PILARES PRINCIPALES DEL ANALISIS DE DATOS


• Establecer nueva mentalidad
• Definir una estrategia de analitica de datos
• Determinar que se debe crear internamente, comprar o alquiler
• Contar con expertos de analisis de datos
• Movilizar los recursos
• Crear capacidades en la primera linea de gestion

4. EL TRABAJO CON DATOS


Identificacion + ETL

1. Identificación de datos
Fuentes de datos internas
• Bases de datos transaccionales (OLTP) → ERP, CRM, …
• Sistemas de información analíticos (sistemas departamentales) → presupuestos, planes de proyecto, … (info
estructurada o no estructurada)
Fuentes de datos externas → se obtiene normalmente a través de APIs
• Información de profesionales expertos
• Datos que enriquecen info de nuestros clientes
• Información de máquinas y sensores
• Dispositivos moviles
• Datos opendata (ftp, soap o rest, SQPRQL, APIs ODBC o JDBC), redes sociales
Tecnicas de profiling → análisis estadístico de los valores de los datos para evaluar su consistencia, originalidad y lógica
→ permite identificar datos erroneos o imprecisos
Tecnica de sampling →estimar la calidad de los datos mediante análisis estadístico de un subconjunto de datos, en vez
de analizar el conjunto completo → tener en cuenta representatividad

2. ETL
1. Extracción
2. Limpieza
1. Operaciones de Preparación de datos
◦ Discretización → criterio que permite dividir los valores de un atributo en varios subconjuntos
(mayores de 20, minores)
◦ Normalización → situar los datos sobre una escala de valores
1. Tratamiento de la falta de datos
2. Limpieza de datos (incompletos, redundantes, incorrectos, errores de transcripcion, datos envejecidos,
datos sesgados )
3. Transformación → definición de una serie de reglas de negocio
• De datos númericos a categoricos y viceversa
• Simplificación de valores
• Agrupación de valores continuos
• Normalizacion de datos
• Añadir una etiqueta
• Conversión de unidades
• Agregación de columnas, dividir una columna en varias
• Generalizacion
• Lookups → se toma un dato y se compara con otro dato cruzando información (ej: a través del dni)
• Unir datos de varias fuentes
4. Carga ( mover del almacen operacional o intermedio)
• Carga inicial → historicos
• Mantenimiento periodico (TAL (trunc and load)→limpia y vuelve a cargar; o incremental). Conviene
calcular los indices después de la carga.
Datos deben tener: correctitud + coherencia + completitud

5. RECOLECCIÓN DE DATOS
Modelos de datos → Modelo conceptual (identifica relaciones a más alto nivle), Modelo logico (entidades, atributos y
relaciones), Modelo físico (aplicación especifica de un modelo de datos logico)

Modelo multidimensional → tecnica para presentación de datos analítica (permite consulta rapida + representación
datos de manera entendible) → forma de cubos → es un modelo conceptual
• Dimensiones (dimension table)→
• Hechos (fact table)→ los elementos que se quieren medir (cantidad vendida)
Para convertir en modelo logico:
1. MOLAP → Modelo logico multidimensional: almacenamiento de dimensiones en matrices → acceso rapido a
operaciones OLAP. Problemas cuando muchas dimensiones.
(+): consultas más rápidas + menor tamaño + automatizacion procesamientos de datos agregados de mayor
nivel + indexacion natural + muy compacto cuando pocas dimensiones
2. ROLAP → Modelo logico relacinal
Modelo estrella → traduce modelo multidimensional a tablas relacionales (para bases de datos relacionales)
→ dio pupularidad Kimball (popularidad en sistemas de BI)

BIG DATA y BI → Utilizan tanto cubos OLAP (obtimización calculo, indexacion y rendimiento. → gran carga
computacional) como esquemas en estrella.

6. ALMACENAMIENTO BIG DATA


Sistema de ficheros distribuido.
Enfoque de Google (GFS)-> Google File System → sistema distribuido de Google → liberado e 2003
HDFS → Viene de NDFS → Hadoop Distributed File System → lo implemento Yahoo → implementación de código
abierto de GFS

Los dos:
• Tamaño bloque normal (4-128kb) → estos (64-128MB) → Sólo son eficientes con ficheros grandes, no con
pequeños
• Sist Fich Dist → Escalabilidad horizontal → mejorar rendimiento añadiendo nuevos nodos → más capacidad +
más entradas y salidas paralelas
• Distribución a nivel de bloque no a nivel de fichero
(-)
• La probabilidad de que falle un nodo aumenta
• HDFS utiliza factor de replicación de 3 (cada bloque 3 replicas en nodos distintos) → tiene en cuenta la
topologia → 2 replicas en el mismo rack y 3 en rack diferente

BBDD NO RELACIONALES
NoSQL (Not only SQL) → la mayoría no utilizan SQL pero existen algunos que lo utilizan
• Relacionales → datos estructurados, NoSQL → datos semiestructurados
• Relacionales → ideadas para ser transaccionales (OLTP) → garantizan principios ACID (atomicidad,
consistencia, aislamiento, durabilidad), las no relacionales no ofrecen esto.
• Relacionales permiten combinación a través de JOIN, las no realcionales NO
• Las relacionales no escalan bien (no escalabilidad horizontal), las NoSQL SI
(*) ACID y Join aumenta tiempos de respuesta en BBDD no relacionales

Tipos BBDD no relacionales:


• Clave-Valor → datos valores identificados por una clave. Las claves no se repiten y cada una un valor. No
soporta JOIN, ni claves ajenas. Acceder a un valor usando su clave. Aporta: escalabilidad horizontal y
redundancia de datos. La clave y valor es opaca para la BBDD (no sabe lo que hay dentro)
• Valdemort: codigo abierto. Basado en Linkedin. Sencillo y util como almacen Big Data: Escalabilidad +
Rendimiento (10-20 mil operaciones/sg) + Operaciones (recuperar un valor, actualizar, eliminar un
valor). Valores pueden ser datos complejos: XML, Json, ...
• Redis (carga todos los datos en memoria principal. Muy rapido)
• Documentales → Orientado a documentos, no sujetos a estructura fija. No necesario describir a priori la
estructura de los datos. Cuando modelo de datos en constante evolución. La clave y valor no es opaca para la
BBDD)
▪ MongoDB: más extendida. Almacena en BSON (Binary Json) → extensión de JSON que permite
fechas y datos binarios. Todos los documentos tienen un _id, y pueden contener subdocumentos
(modelo incrustado → accediendo a documento accedes a subdocumentos). No soporta JOIN, debe
ser la aplicación la encargada de realizarlo.
Rendimiento (_id indexado)+ Escalabilidad (escalabilidad horizontal a través de sharding (cada
documento en un nodo o shard diferentes. Pude ser según rango o función hash), y replicación de
datos) + Operaciones (mayores operaciones que la anterior: consultar documentos que tengan un
valor concreto en un campo, calcular medias,etc.)
• Orientada a grafos: compuesta por nodos (vertices, representan una entidad o registro) y enlaces (aristas,
resprestan una relación)
▪ Neo4j: más conocido utilizado por infojobs
Modelo de datos (grafo: nodos y enlaces de tipos diferentes y pueden tener campos asociados,
permite almacenar datos semiestructurados y realizar JOIN) + Rendimiento (permite crear indices) +
Escalabilidad (community y enterprise. La segunda permite replicación en varios nodos de un cluster.
NO permite distribuir datos, total de datos a almacenar condicionado a la capacidad del servidor).
• Orientada a columnas:
▪ el problema de GFS es que es un sistema de ficheros y la información no está indexada. → 2006
Google presenta BigTable, BBDD que funciona sobre GFS (este ofrece indexación y aprovecha
escalabilidad horizontal y replicación de GFS) → BBDD orientada a columnas. Los valores de la misma
columna se almacenan juntos en disco. Aunque existen grupos de columnas fijos, las columnas de
cada registro pueden ser variables → datos semiestructurados
▪ Hbase → igual que el anterior
Rendimiento (indexación las claves de cada fila (row_key). No permite crear otros indices +
Escalabilidad (funciona sobre HDFS → escalabilidad horizontal y replicación)

Nuevo paradigma → NewSQL


Combinar: transaccionalidad y garantias ACID de Relacionales + escalabilidad de no relacionales
Spanner → introducida por Google, evolución de BigTable. Permite transacciones de forma
distribuida

EN LA NUBE → PaaS (gestores de BBDD) e IaaS (almacenamiento)


Almacenamiento de ficheros → Amazon S3 (permite crear cubos (buckets) y subir documentos a estos cubos. Permite
acceder a los cubos desde las instacias Amazon EC2

BBDD relacionales → Amazon RDS (Relational Database Service) → servicio amazon para DB relacionales
Google Cloud → CloudSQL

BBDD NoSQL → Amazon DynamoDB (bbdd clave valor)


7. PROCESAMIENTO DE DATOS
Dos enfoques: Batch processing , Stream processing (tiempo real)
Batch processing → el tiempo de procesamiento no es un factor apremiante → principal desafio volumen de datos
historicos
MapReduce → intruducido por Google para dar respuesta a esta necesidad de procesamiento por lotes

Stream processing → además de gran volumen puede haber demanda de gran velocidad (ejemplo: calcular el trend
topic en Twitter)
Storm → desarrollada por Twitter para dar respuesta a estas necesidades

MAP REDUCE
Es un paradigma para resolver un tipo de problema. Surge de la necesidad de Google de dar respuesta a una necesidad
de procesamiento masivo de datos. Procesamiento distribuido, tareas se dividen en subtareas que se reparten en
diferentes nodos de un cluster. Cada uno ejectua la suyo y finalmenet los resultados se agregan.
Los programas que emplean este paradigma tienen dos rutinas: rutina map y reduce. Entre ambas, el sistema ejecuta
una fase llamada shuffle.

Rutina map → mapping (mapeo) de los datos de entrada, cambio de dominio. Conversión de la entrada y si fuera
necesario un filtrado de los datos. Por cada tupa <A,B> devuelve un conjunto n de tupas <An, Bn>

Fase shuffle → tudas las tuplas generadas como salida de rutina map se ordenan y agrupan por clave. Tuplas que
contienen una clave y un conjunto de valores. Se asemeja a GROUP BY

Rutina reduce → agregación de los datos mapeados con anterioridad (parecido a SUM, COUNT, AVG)

Hadoop = HDFS + MapReduce


Las entradas y salidas de MapReduce se almacenan en HDFS. Las salidas temporales de MAP se almacenan en sistema
de ficheros local (datos temporales).
Los nodos del cluster de Hadoop pueden tener diferentes roles → JobTracker (comprobar que trabajo MapReduce se
completa correctamente: divide trabajo, en tareas map y reduce, asignar tareas a los Task Trackers (normalmente
recibiran entradas de bloque de ese nodo, evitando trafico de red innecesario: principio de localidad). Despues se
ejecuta rutina combine en cada nodo que simula reduce con la infor de cada nodo, evitando así trafico innecesario.
Finalmente suffle y ejecutar reduce.
STORM
Nacio en empresa BackType, codigo liberado bajo licencia eclipse → Apache Storm
Principal problema en tiempo real → escalabilidad de la solución → en escalabilidad horizontal, problema productor-
consumidor (lo dificil es poner orden en todo esto) → solución más común poner una cinta o cola circular para que
todos accedan a estos → STORM implementa esto haciendo transparente para el usuario (logica de productor-
consumidor y de la cinta).

Nodo nimbus → se ocupa de la gestión del trabajo (igual que el JobTracker de Hadoop). Este distribuye las tareas sobre
el resto de nodos de la topologia (igual que el TaskTracker de Hadoop) → también llamado nodo maestro. No ejecuta
trabajo.
Nodo supervisor → se encarga de iniciar o parar trabajos que envía nodo nimbus → también conocidos como nodos
esclavos
Zookeeper → guarda el estado del trabajo en cada momento para garantizar que si ocurre un fallo, este se replique en
otro nodo.
Storm es más toleranto a fallos que Hadoop

Topologias en STORM → nodos Spouts (encargados de obtención y preprocesado de datos: siempre son nodos de
origen, nunca intermedios ni finales) y Bolts (procesado intermedio o final de las tuplas. Nunca origen).

SIMPLFICANDO EL PROCESO DE BIG DATA → APACHE SPARK


Permite: procesamiento batch y tiempo real + analisis interactivo de datos + tareas de aprendizaje automatic
Partes del producto:
• Spark Core → core. Permite MapReduce
• Spark Streamming → tiempo real. Enfoque utilizado <<micro-batching>>
• SparkMlib → librería para funciones de aprendizaje automatico
• Spark SQL → permite trabajar con datos estructurados permitiendo consultas sobre estos
• Spark GraphX → librería permite operaciones sobre grafos
Puede integrarse con Hadoop para usar clusters ya desplegados, acceder a HDFS, Hbase, Hive, …
Pretende ser hasta 100 veces más rápido que Hadoop

EN LA NUBE
• Amazon Elastic MapReduce (EMR)
• Google BigQuery → permite realizar analisis Big Data usando consultas SQL. Permite hacer JOIN entre tablas.
• Azure Spark → permite usar plataforma HDInsights para crar clustes

8. ANALISIS BIG DATA


Proceso por el que se hace un examen de los datos para obtener un determinado valor.

Machine Learning: conjunto de tecnicas de la inteligencia artificial que permite descubrir patrones y aprender
modelos a partir de los datos.

Aprendizaje supervisado: una rema de ML, en los que los datos están etiquetados (aprender un modelo a través de
datos que están etiquetados. A partir de aquí debe poder asignar la etiqueta a ciertos datos cuya etiqueta se
desconoce. Instancia = cada uno de los elementos que conforman nuestros datos.
Modelos de aprendizaje supervisado:
• Modelos probabilisticos (distribución de probabilidades que permiten inferir el valor de una clase).
• Modelos logicos (buscar reclas para determinar el valor de una clase)
• Modelos geometricos
Técnicas de clasificación
• Arboles de decisión → inferir la clase de una instancia mediante realización de preguntas sobre atributos
(Modelo logico)
• Naive Bayes → tecnica de aprendizaje aut supervisado, aprende modelos probabilisticos para poder realizar
una predicción de clas (Modelo probabilistico)
• k-neareste neighboards → tecnica de clasificación vaga (exige entrenamiento del modelo)
• Tecnicas de regresión → se busca predecir un valor númerico en funcuón de los valores de atributos de una
instancia.
◦ Regresión lineal
◦ Arboles de regresión → iguales a arboles de decision, pero las hojas no contienen una clase sino un valor
numérico.
• Redes neuronales

Aprendizaje no supervisado
Las instancias no dotadas de una etiqueta → objetivo no predecir clase, sino detectar que varias instancias son
similares en función de una medida de distancia dada. Ha esto se le llama clustering
Funciones de distancia:
• Distancia euclidea → longitud del segmento de linea recta entre dos puntos, en espacio euclideo. Importante
normalizar los valores para que todos los atributos el mismo peso.
• Distancia manhattan → mínima suma de las longitudes de los segmentos que habría que cruzar en una rejilla
para unir dos puntos.
• Distancia coseno → angulo que forman las dos distancias si se consideran vectores en un espacio geométrico.
Técnicas de clustering
• Basadas en conexiones (clustering jerárquico)
• Basadas en centroides
• Basadas en distribuciones
• Basadas en densidades

9. VISUALIZACIÓN Y CONSUMO
Herramientas de cuadros de mando como : Weka, RapidMiner, Tableau, QlickView

HERRAMIENTAS ORIENTADAS A LA VISUALIZACIÓN


Librerías para ayudar a desarrolladores a crear sus propias visualizaciones:
No comerciales → Google Chart Tools, D3.js (biblioteca javascript permite crear visualizaciones complejas y gráficos
interactivos), Recline.js
Comerciales → Pentaho y Zoomdata (utiliza la capacidad de las tecnologías de Apache Spark: visualizaciones en tiempo
real, …)

HERRAMIENTAS ORIENTADAS A INFORMES


Ejemplo: pentaho

CUADRO DE MANDOS INTEGRAL Y KPI (indicador clave de rendimiento)


KPI: lo bien o mal de un proceso empresarial. Deben ser relevantes para el negocio y medibles

También podría gustarte