roadmap para la adopción de nuevas arquitecturas de ... · analíticas: almacenamiento de la...
TRANSCRIPT
Qué es Big Data..?
“…es el nombre que se le da a conjuntos de información que crecen de una manera tan exponencial
que resulta prohibitivo almacenarlos y/o procesarlos con métodos o técnicas tradicionales del mundo
de base de datos relacionales…”
Big Data son tres V’s y una C
Velocidad: los datos se generan a un ritmo exponencial.
Volumen: la irrupción de Big Data dejó en el pasado el Terabyte para hablar de Petabytes y
Zetabytes.
Variedad: datos estructurados y no estructurados, proveniente de la web 2.0, sensores, logs,
etc.
Complejidad: volumen de datos tal que no permite procesarlo con técnicas tradicionales
“…cuando el tamaño de los datos son parte del problema…”
“el futuro pertenece a aquellos que entienden cómo recolectar, almacenar y utilizar sus datos de
manera efectiva”
Cambio creciente en la importancia respecto del rol de los datos en nuestras actividades.
Qué es Big Data..?
“…es el nombre que se le da a conjuntos de información que crecen de una manera tan exponencial
que resulta prohibitivo almacenarlos y/o procesarlos con métodos o técnicas tradicionales del mundo
de base de datos relacionales…”
Big Data son tres V’s y una C
Velocidad: los datos se generan a un ritmo exponencial.
Volumen: la irrupción de Big Data dejó en el pasado el Terabyte para hablar de Petabytes y
Zetabytes.
Variedad: datos estructurados y no estructurados, proveniente de la web 2.0, sensores, logs,
etc.
Complejidad: volumen de datos tal que no permite procesarlo con técnicas tradicionales
“…cuando el tamaño de los datos son parte del problema…”
“el futuro pertenece a aquellos que entienden cómo recolectar, almacenar y utilizar sus datos de
manera efectiva”
Cambio creciente en la importancia respecto del rol de los datos en nuestras actividades.
Quiero Big Data!
Nuevas arquitecturas de información
El concepto de base de datos que utilizábamos hasta hace poco cambió.
En base a qué voy hacer con los datos, defino cómo almacenarlos (lógica y físicamente)
Distintas tecnologías, para distintas necesidades.
Bases de datos relacionales: para almacenar información crítica del negocio (CRM, ERP, sistemas
legacy, …)
NoSQL: agrupación incoherente de bases de datos con propósitos específicos que por lo
general: no soportan el modelo relacional, no usan esquemas, escalan horizontalmente (clusters
baratos), open-source.
Analíticas: almacenamiento de la información en forma columnar con el objetivo de dar
respuestas rápidas a consultas de agregación sobre grandes volúmenes de datos.
Hadoop (HDFS & MapReduce): para almacenar y procesar grandes volúmenes de
información no necesariamente estructurada.
Repensar algunas cosas…
Extracción de información
Nuevas fuentes (DB’s de distintos tipos y sin lenguaje estándar, Hadoop, API’s, …)
Internas como externas, con o sin control
Disponibilidad
Procesamiento y explotación
ETL? ELT? TEL?
Latencia
Escalabilidad
Almacenamiento
Si se qué quiero hacer, puedo pensar cómo almacenar y estructurar.
Si no, al menos debería pensar dónde almacenar.
Resultados al corto plazo sin perder el foco
Evitar enfoques Big Bang
Metodología ágil
Típicos problemas
Según Gartner, entre 70% y el 80% de los proyectos de BI o DM son un fracaso.
Presupuestos excedidos (x2 o x3)
Cronogramas incumplidos (x2 o x3 o …)
Alcance original incompleto, funcionalidad reducida
Usuarios poco involucrados, sin motivación y hasta en contra de la solución
En ocasiones se dificulta justificar el costo y/o los beneficios no son los esperados
Los problemas de calidad de datos aumentan en relación al uso de los datos
Malos resultados en términos de:
Performance: la velocidad es lenta lo que desalenta a los usuarios
Disponibilidad: la solución es inestable, se cae constantemente
Escalabilidad: la performance es inversamente proporcional al volumen de datos y cantidad de
usuarios
Flexibilidad: se obliga a los usuarios a trabajar de una nueva y única manera
Estructuremos y ordenemos en etapas
Objetivos concretos a desarrollar
Qué quiero hacer?
Revisión de la arquitectura actual de información
Qué tengo disponible hoy?
Arquitectura de información necesaria
Qué información voy a necesitar? La tengo?
Definiciones tecnológicas
Qué voy a necesitar?
Desarrollo iterado
Prototipos
Objetivos concretos a desarrollar
Cuál es el objetivo o el problema a atacar? (Alto nivel)
Es difícil conocer el estado real de la información con la que vamos a trabajar (calidad, disponibilidad,
etc) y los resultados que vamos a encontrar durante el análisis.
Partir el objetivo/problema en sub-problemas concretos más sencillos de resolver de manera
tal que de manera iterada se construya la solución originalmente buscada
Resultados al corto plazo
Evitar estar lejos del usuario
Asegurar que los problemas sean baratos de resolver
Arquitectura actual de datos
Con qué información contamos hoy? Formal e informal.
Fuente de información: un objeto que puede ser usado como input de un proceso de análisis
Bases de datos, logs de aplicaciones con tracks de uso, archivos, correos electrónicos, mensajes
entre aplicaciones, etc.
Relevar, catalogar y armar un mapa de información que identifique:
El origen: interno, externo
La calidad esperada de la información (análisis exploratorio?)
La periodicidad en la actualización
La estructura de los datos (estructurados? no estructurados? Estructurados con un formato
inútil?)
El volumen actual vs el crecimiento esperado
Etcétera
Esfuerzo interdisciplinario
Arquitectura de información necesaria
Qué información voy a necesitar? La tengo??? Existe..??!?!?!?
En base al mapa de información, entender el GAP entre:
Lo que tengo
Cómo está almacenado? Está almacenado? Qué procesamiento necesitaría?
Lo que necesito
Existe? Es integrable?
La calidad de lo que tengo o consigo, sirve para algo?
Definir la arquitectura necesaria en términos de capacidades actuales vs la necesaria.
Modelo de procesamiento
Infraestructura y tecnología (SW) necesaria
Definiciones tecnológicas
Qué herramientas necesito?
Posponer la elección lo más que se pueda: evitar el sesgo comercial!
Almacenamiento de información
Data Lakes (Hadoop): Almacenamiento completo de toda la información, en su estado más
crudo.
Evitar perder información que eventualmente será clave en análisis todavía no pensados.
Evitar estructurar la información de antemano siendo que el valor final de los datos se
obtendrá posterior a su análisis.
Bases de datos analíticas: almacenamiento de grandes volúmenes de información en un
formato orientado a consultas con muy bajo tiempo de respuesta.
Permitir la navegación en tiempo real de grandes volúmenes de información.
Data Warehouse: Consume y retroalimenta. Provee información a los sistemas de reporting
tradicionales (soluciones OLAP, tableros, etc), y también consume y provee información a las
bases analíticas.
Info
rmac
ión
+ e
stru
ctu
rad
a
Definiciones tecnológicas
Sistemas de explotación
Soluciones de reporting no modelado (“Visual Analytics”): evitar la predefinición del análisis,
permitir navegar e integrar información de cualquier fuente sin necesidad de modelos previos.
Capacidad de análisis adhoc sobre información no incorporada al modelo de datos de un
sistema tradicional
Soluciones de reporting Tradicional: siguen vigentes.
Respuesta a las necesidades de reporting actuales e incorporan nuevos componentes
según se transforman en cotidianos los nuevos análisis.
La calidad, trazabilidad y gobierno de los datos están garantizados.
Soluciones analíticas que facilitan el procesamiento y análisis de grandes volúmenes de
información.
Infraestructura: Local vs. cloud
...Etcétera
Desarrollo
Desarrollo iterados con versiones incrementales en cada iteración.
Acercarnos al usuario
Toda versión es funcional de manera independiente
Las nuevas versiones aportan nueva funcionalidad
En todo momento el proyecto puede frenarse o cambiar de prioridad, sin afectar la solución
El tiempo de desarrollo de una versión no puede superar los 2 meses
El alcance de cada versión está acotado
Estimación de esfuerzos realista
Los cambios son bienvenidos.
Entregables acotados, expectativas realistas
Los errores son fáciles y baratos de corregir; mayor calidad de entregables