Conceptos de Analítica de Datos y Big Data
Módulo 2: Conceptos de Big Data
Prof. Alejandro Bianchi
ATAM Evaluator Certificate
Software Architecture Professional Certificate
Software Engineering Institute, CMU University
1
AGENDA DE LA JORNADA
• Conceptos generales de Big Data y relación con el negocio
• Tecnologías relacionadas con Big Data
• Conceptos de Arquitecturas de Software orientados a Big Data
• Intercambio
.
2
3
Contexto de la clase
• Disponibilidad de distintas fuentes de datos, en formatos
heterogéneos
• Aplicaciones que procesan estos datos para obtener
información
• Relacionado con la satisfacción
de objetivos de negocio
• Necesidades de infraestructura
• Atributos de calidad DECISIONES
TÉCNICAS
• Requiere una arquitectura subyacente, que no proviene Y DE NEGOCIO
de un diseño ”emergente” sino que (más y más) debe ser
planificada y evaluada previo a su construcción
4
Relación con Sistemas Inteligentes
• Sistemas conducidos por datos
Incorporar “inteligencia” en
procesos de operación/negocio Inteligencia Artificial
Minería de
Diferenciación en términos de valor Datos ML
agregado Ciencia de
Datos
Personalización de capacidades y
funciones del sistema
Big Data
Soporte a la toma de decisiones Arquitecturas
de Software
Foco en experiencias de usuario
“inteligentes”
5
El Diseño de Software (para Big Data)
• Planificar antes de construir
• Facilitar la comunicación con múltiples stakeholders
• Proveer con un modelo de análisis “manejable” para sistemas complejos
• Brindar prescripciones para la implementación del sistema
• La arquitectura es un artefacto, pero también parte del proceso de desarrollo (architecting)
6
Elementos “arquitecturales” de Big Data
• Escalabilidad, tolerancia a fallas
• Fuentes de datos
• Ingreso de mensajes real-time
• Analítica de datos
• Análisis y reportes
• Almacenamientos de datos
• Procesamiento batch
• Procesamiento streaming
• Arquitecturas de referencia (Lambda, Kappa, etc.)
• Pipelines
• Orquestación
7
Conceptos de Big Data
INTRODUCCIÓN
8
Una definición de Big Data
• Es el campo dedicado al análisis, procesamiento y almacenamiento de grandes
conjuntos de datos, que frecuentemente se originan en distintas fuentes.
• Las soluciones y prácticas de Big Data son necesarias cuando las técnicas y
tecnologías tradicionales para análisis, procesamiento y almacenamiento no son
suficientes
• Los requerimientos típicos para Big Data incluyen:
• Combinación de distintos conjuntos de datos con distinta estructura
• Procesamiento en lotes o tiempo real de grandes volúmenes de datos
• Identificación de patrones “ocultos” en los datos (data mining, ML)
• Toma de decisiones basadas en datos
• Integración de las características anteriores en sistemas “tradicionales”
9
¿De dónde provienen los datos?
• Generados por humanos
• Son el resultado de una interacción humana
con sistemas de SW
• Por ej., servicios online y digitales tales como
redes sociales, e-mails, mensajería, etc.
• Generados por computadoras/dispositivos
• Son el resultado de eventos generados por
programas (SW) o dispositivos (HW)
• Por ej., Web logs, datos de sensores,
telemetría, información de uso de
dispositivos, etc.
10
Terminología básica de Datos
• Conjunto de datos
• Análisis de datos
• Analítica
• Inteligencia de negocios (BI)
• Indicadores claves de desempeño (KPIs)
• Conductores de negocio (drivers)
• Cloud Computing
11
Conjunto de Datos
• Son colecciones o grupos de datos relacionados
• Todas las instancias comparten el mismo conjunto de atributos (esquema)
• Algunos ejemplos incluyen:
• Tweets almacenados en un archivo plano
• Una colección de archivos de imágenes
• Un extracto de columnas de una tabla (SQL)
• Un conjunto de observaciones meteorológicas
almacenadas como archivos XML
1
12
Análisis de Datos
• Es el proceso de examinar datos para encontrar hechos, relaciones, patrones,
insights, o tendencias. El objetivo normalmente es dar soporte a la toma de
decisiones
• Un ejemplo simple puede ser el análisis de históricos de ventas en relación a ciertos
períodos de tiempo, estacionalidad, condiciones climáticas, etc.
• El análisis de datosde
Casos ayuda a establecer
uso en general. patrones y relaciones entre los datos
Ejemplo: Recolección de MAC addresses (datos
semi-estructurados)
Usos
de dispositivos móviles, para
Existen incontables casos de uso que se puede ir
construir tableros en casos de uso relacionados con COVID-19
complementando con el crecimiento de las fuentes de
información.
Seguridad, Hábitat, Turismo, Población, Emergencias, Salud,
Cultura, etc.
Presentación
Es posible también representar la información, casi de
cualquier forma que sea requerida, gráficos interactivos, en
tiempo real, completamente dinámicos. Este tipo de
soluciones son practicas a la hora de armar estrategias para 13
dispersión de aglomeraciones, manejo de emergencias
Analítica (de datos)
• Es la disciplina que busca lograr un entendimiento de los datos mediante técnicas científicas de
análisis y herramientas automatizadas, donde el foco está en identificar patrones y correlaciones
• En ambientes de Big Data, la analítica se realiza utilizando tecnologías y frameworks distribuidos para
analizar grandes volúmenes de datos y con diferentes formatos
• A menudo se utilizan conjuntos de datos “crudos” y no estructurados, a fin de obtener información
“útil” que puede servir para:
• Identificar patrones
• Enriquecer bases de datos empresariales existentes
• Realizar búsquedas a gran escala
• Y en última instancia tomar decisiones en base a datos
Ejemplo: Patrones de movimiento contagio,
”cercas” electrónicas, niveles de cumplimiento
de cuarentena, etc.
14
Inteligencia de Negocios (BI)
• Es el proceso de extraer insights sobre el funcionamiento de una empresa con el fin
de mejorar la toma de decisiones en la misma, analizando fuentes de datos
externas y datos generados por los procesos de negocio
• La inteligencia de negocios aplica analítica sobre grandes conjuntos
de datos que abarcan la empresa
• También puede utilizar
los datos consolidados
en un data warehouse
8c
para ejecutar consultas
de analítica (por ej.,
para construir tableros)
15
Indicadores claves de desempeño (KPIs)
• Un KPI es una métrica para determinar “éxito” en un contexto particular
• Los KPIs están estrechamente vinculados a los objetivos de negocio (o misión) de una
empresa, y a menudo se usan para:
• Identificar áreas problemáticas, a fin de tomar acciones correctivas
• Adherir a normativas o regulaciones
• Los KPIs actúan como “puntos de referencia” para medir
el desempeño del negocio desde distintas perspectivas
8d
• Cada KPI se basa en la identificación de un indicador
cuantificable y consensuado por los stakeholders
• Por ej., número de llamadas atendidas por día
16
Ejemplo:
Tableros
17
Ejemplo:
Call Center Monitoring - 5 Second Auto Refresh
Resolution Status Summary Average Duration (sec) Average Wait Time (sec)
Tableros 2,032 0 10 ● 06m 09s 01m 55s
Calls Handled Calls in Queue Queue Threshold All day average All day average
Click toset
Clik to set
Real Time Agent Status
Automatically refreshing agent sit chart. Green agents are in conversation. Size illustrate
Top 10 Longest Avg Duration Top 10 by Transferred Calls
Top 5 By Calls Handled Top 5 by Shortest Duration
18
Drivers de Negocio y Tecnología (Big Data)
• Big Data emerge como una combinación de
necesidades de negocio e innovaciones tecnológicas Los conceptos de objetivos de
negocio y drivers se relacionan
• Los principales conductores (drivers) incluyen: también con atributos de calidad
• Analítica y ciencia de datos en arquitecturas de software
• Digitalización
• Tecnologías accesibles y hardware de bajo costo
• Medios sociales
• Hiper-conectividad de comunidades y dispositivos
15x
19
(Big) Data Analytics
El diseño de arquitectura es
relativamente trivial
Las principales decisiones
tienen que ver con:
- Usar una arquitectura de
referencia (por ej., 3 tier)
- Diseño tradicional de BD
relacional
- Patrones para estilo cliente-
servidor
“Agile Big Data Analytics for Web-Based Systems:
An Architecture-Centric Approach”
H-M. Chen, R. Kazman, S. Haziyev (2016)
20
El valor del Análisis de datos
VALOR PARA EL NEGOCIO
DESCRIPTIVO PREDICTIVO PRESCRIPTIVO
QUE PASO? QUE PUEDE PASAR? QUE DEBE PASAR?
Es un tipo de análisis predictivo
El caso más simple de análisis. Consiste en la utilización de una
que no solo predice lo que puede
Consiste en sumarizar los datos y variedad de técnicas estadísticas y
pasar sino además cuando y
DESCRIPCION derivar información de machine learning para generar
porqué. Puede sugerir el mejor
diagnóstico para describir y predicciones: “múltiples futuros”
curso de acción a seguir en
explicar lo sucedido. probables.
función de una predicción.
Business Intelligence, Reportes, Machine Learning, técnicas Motores de Reglas, Bases de
TECNICAS Y
HERRAMIENTAS
Dashboards. estadísticas, modelos predictivos, datos deductivas, optimización.
Query, Drill-around. simulación, alertas, forecasts. Close-loop action feedback.
Métricas de reclamos, Adaptación del proceso y equipos
EJEMPLO distribución de esfuerzos por Análisis estadístico de procesos al producto; estímulos para el
ventas y/o atención. éxito.
21
Características de los Datos
• Son los que normalmente diferencian una aplicación o solución Big Data
18a
22
Volumen
• Se relaciona con la capacidad de generar datos
• Ejemplos típicos de fuentes generadoras de datos incluyen:
• Transacciones online
• Datos científicos (por ej., el Large Hadron Collider, un telescopio gigante)
• Sensores (por ej., RFIDs, GPS)
• Redes sociales
• Grandes volúmenes de documentos
• ¿Cuando un cierto volumen se vuelve “big data”?
23
Velocidad
• Tiene que ver con la velocidad a la que se ingresan los datos al sistema
• Los datos pueden ingresar a “diferentes velocidades”, por ejemplo:
• Tweets
• Emails
• Videos subidos a Internet
• Datos recibidos de sensores
• El sistema generalmente debe ser capaz de capturar los datos recibidos
24
Variedad
• Se refiere a los múltiple formatos y tipos de datos que el sistema debe soportar
• Las categorías incluyen:
• Datos estructurados (por ej., tablas SQL)
• Semi-estructurados (por ej., archivos JSON)
• Datos no estructurados (por ej., imágenes)
• La variedad de los datos trae aparejados desafíos relacionados con:
• Integración de datos
• Transformación de datos
• Procesamiento de datos
• Almacenamiento de datos
25
Veracidad
• Se refiere a la calidad o fidelidad de los datos
• Algunos datos puede tener un significado o estar “limpios”, mientras que otros datos
pueden tener “ruido” y no agregar valor
• Relación señal/ruido
• Los datos que se adquieren de manera controlada (por ej., transacciones de clientes)
suelen contener menos ruido que los datos que se adquieren de fuentes “no
controladas” (por ej. blogs)
• El grado de ruido de un conjunto de datos depende del tipo de datos
26
Valor
• Se define en términos de la utilidad de los datos para la empresa
• Esta característica se relaciona directamente con la veracidad, ya que una alta fidelidad en los
datos implica generalmente mayor valor para el negocio
• El valor es dependiente de cuanto tiempo lleva procesar los datos, ya que valor y tiempo se
consideran
inversamente
proporcionales
• Cuanto más tiempo
lleve extraer información
útil de los datos, menor
será el valor para el 18h 18i
negocio, ya que se afecta
la capacidad para tomar
“buenas” decisiones
27
Tipos de Datos
• De acuerdo a la organización interna de los datos, se dividen en las siguientes
categorías
• estructurados
• no estructurados
• semi-estructurados
• Y también meta-datos
(que no se considera técnicamente un tipo de datos,
pero que está relacionado a la estructura de los datos)
• Los datos no estructurados pueden constituir hasta el 80%
de los datos de una empresa, y tiene un ritmo mayor de
crecimiento que los datos estructurados
28
Datos estructurados
• Sus características son:
• Adhieren a un modelo de datos o esquema
• Se almacenan en forma de tabla
• Pueden ser relacionales
• Los datos estructurados generalmente se almacenan
en bases de datos relacionales, y se generan por
aplicaciones de la empresa
• Por ej., sistemas de tipo ERP, CRM, a algún otro tipo de sistema core
• No suelen tener ningún requerimiento especial respecto a pre-
procesamiento y almacenamiento
29
Datos no estructurados
• Son características son:
• No adhieren a un modelo de datos o esquema
• Pueden tolerar inconsistencia
• Son no relacionales
• Los datos no estructurados existen en formato textual o binario
• Por ej., imágenes, video, audio
• Técnicamente, estos archivos tiene una estructura definida
por el mismo formato de archivo
• Suelen tener requerimientos especiales o lógica especial
para el procesamiento y el almacenamiento
• No son tratables con mecanismos SQL
30
Datos semi-estructurados
• Son características se refieren a:
• Nivel de estructura y consistencia (aunque no llega a ser relacional)
• Por ej., formatos XML, JSON
• Suelen ser más fácilmente procesables que los datos no
estructurados
• Pueden tener requerimientos especiales de almacenamiento
y procesamiento
31
Meta-datos
• Provee información sobre las características y la estructura del conjunto de datos
• Este tipo de datos generalmente lo genera la misma computadora o algoritmo y lo
adjunta a los datos
• En Big Data los meta-datos son importantes para procesar, almacenar y analizar los
conjuntos de datos. También sirven para determinar provenance
• Ejemplos incluyen:
• Tags XMLs
• Tamaño y resolución, en imágenes
32
Importancia de la Metadata
• Básicamente la implantación de Big Data debe:
• Ofrecer una buena visibilidad de los datos en todo la estructura de
clusters
• Capturar y visibilizar el “linaje” de los datos a través de los sistemas
de origen y en la plataforma
• Las operaciones de auditoría y registro que se realizan en la
plataforma
• Aplicar las directivas definidas por los administradores de la
plataforma
• Ayuda a reducir la redundancia de datos en la plataforma
• Proveer información complementaria que genere confianza en los
usuarios de la plataforma.
33
Niveles de Metadata
• Metadata del negocio empresariales
• Suministra el contexto empresarial en torno a los datos, como el nombre, la
definición, los propietarios o los administradores, y los datos de referencia
asociados
• Metadata técnica
• Proporciona información técnica sobre los datos, como el nombre de la tabla de
origen, el nombre de columna de la tabla de origen y el tipo de datos y sus reglas
• Metadata Operacional
• Proporciona información sobre el uso de los datos, como la fecha de última
actualización, el número de veces que se accedió o la fecha en que se accedió
por última vez. También provee información sobre los procedimientos de
ejecución y análisis.
34
Tipos de datos y Veracidad
• Los datos semi-estructurados y no estructurados tiene una mayor relación señal-
ruido que los datos estructurados
• Esto hace que a menudo requieran un
mayor esfuerzo de limpieza
y verificación de los datos,
al realizar por ejemplo
procesos ETL (extract-transform-load)
35
Tecnologías relacionadas con Big Data
• Las siguientes son tecnologías que hace tiempo están disponibles en el
mercado y que al mismo tiempo son relevantes para soluciones y
ecosistemas de Big Data:
• Online Transaction Processing (OLTP)
• Online Analytical Processing (OLAP)
• Extract Transform Load (ETL)
• Data Warehouse
• Data Marts
• Hadoop
36
Tecnologías relacionadas con Big Data
• OLTP son sistemas de software que procesan datos orientados a
transacciones
• El procesamiento es en tiempo real, (near real time)
• Los datos procesados por este tipo de aplicaciones están totalmente
normalizados.
• Para Big Data esas aplicaciones representan un input de datos
estructurados
• Ejemplos:
• Sistemas bancarios
• Reserva de pasajes
• Transacciones POS
37
Tecnologías relacionadas con Big Data
• OLAP es una aplicación utilizada para procesar análisis de datos a partir de
queries
• Es un elemento esencial para procesos de BI, Data mining y de máquinas de
aprendizaje
• Este tipo de aplicaciones son importantes para Big Data porque pueden
servir como fuentes de datos y también receptores de los mismos
38
Tecnologías relacionadas con Big Data
• OLAPs son utilizadas para diagnóstico, analytics predictivo y prescriptivo
• Almacenan datos históricos y que están desnormalizados para mejorar
performance al momento de armar reportes y consultas
• Pueden responder consultas complejas basadas en múltiples dimensiones
de los datos.
39
Tecnologías relacionadas con Big Data –OLTP vs. OLAP
Características OLTP OLAP
Fuente de Datos Datos originales de la operación Se reciben de las apps OLTP
Propósito de los datos Procesos del negocio Planificación, toma de decisión
Cantidad de datos por transacción Pocos Grandes volúmenes
Tipo de datos Detallados Sumarizados
Tiempo de los datos Tiempo real Tiempo real e históricos
Diseño de la base de datos Normalizados – muchas tablas Des normalizados, pocas tablas
Número de Muchas, centenas a miles por día Pocas, decenas
transacciones/usuarios
Tiempo de respuesta Rápido, baja latencia No es un atributo crítico
Queries Estándar, simples Complejos, Grandes agregaciones
Operaciones Agregar, modificar, eliminar, leer Leer
Tipo de procesamiento Bien definido Ad - hoc
40
Tecnologías relacionadas con Big Data
• Una ETL es una herramienta, (y/o un proceso), que toma datos desde una fuente bien
identificada y los carga en un sistema destino
• La fuente de datos puede ser una base de datos, un archivo plano o una aplicación
• El sistema destino puede ser una base de datos o algún otro tipo de sistema de
información
• Una ETL es la operación básica a través de la cual un Data Warehouse obtiene sus
datos. Una aplicación de Big Data utiliza ETLs para convertir datos de diferentes tipos,
(no es la única)
41
Tecnologías relacionadas con Big Data
Base de datos relacionales Data Warehouse
Diseño ETL: Proceso
identificar y
Sistema 1 Mapear fuente
Datos desde diferentes fuentes
Data Mart 1
y destino
Sistema 2 Extracción
Proceso para ETL
Limpieza Data Mart 2
Sistema n Perfilar
Transformación
Data Mart n
Excel Agregación
PDF
TXT, XML Filtrado
Join
Otras fuentes
ERP Ordenamiento
CRM
Carga
SCM Creación de
workflows para carga
42
Tecnologías relacionadas con Big Data
• Un Data Warehouse es un repositorio central, focalizado en la empresa en toda su amplitud
que consiste de información vigente e histórica. Este repositorio es utilizado para resolver
consultas a través de BI.
• Tiene una fuerte interacción con OLAP para resolver queries de analytics
• También suele tomar datos desde otras fuentes, (CRM, SCM, ERP, OLTP), para consolidación
en un único dataset.
• Los Data Marts son un subconjunto de los datos almacenados en un DW que, típicamente,
responden a un departamento, división o línea particular del negocio
• Un DW puede tener varios Data Marts
43
Tecnologías relacionadas con Big Data
Tomado Big Data Fundamentals, Tomas Erl 44
Tecnologías para Big Data
• Modelo relacional y la reglas ACID:
• Atomic
• Consistent
• Isolated
• Durable
• Sistemas distribuidos y sus atributos:
• Escalabilidad
• Recursos compartidos
• Flexibilidad
• Velocidad
• Performance
• Sistema abierto
45
Tecnologías para Big Data: Bases de datos NoSQL
• Creados para soportar las nuevas necesidades de
almacenamiento, procesamiento y recuperación
• Los modelos de base de datos NoSQL
• Clave valor
• Basadas en documentos
• Orientados a columnas
• Basadas en grafos
Each record: UserID1, UserID2
Separate records: UserID, first_name,last_name, age, gender,...
Task: Find all friends of friends of friends of ... friends of a given
user.
Large collection of documents
Combination of structured and unstructured data
Task: Retrieve all pages regarding athletics of Summer Olympic before
1950.
46
Tecnologías para Big Data: Teorema de CAP
• Consistencia
• Cada lectura recibe la más reciente
actualización o un error
• Disponibilidad
• Cada requerimiento recibe una respuesta, (no
error), sin garantizar la última actualización
• Particionado
• El sistema continúa funcionando a pesar de un
número arbitrario de mensajes que son
descartados (o retrasados por los nodos de la
red)
47
Tecnologías para Big Data: Teorema de CAP
• No es posible proveer los 3
atributos
• Combinaciones posibles:
• CA
• CP
• AP
http://www.w3resource.com/mongodb/nosql.php
Tecnologías para Big Data: Hadoop
• Hadoop es un framework open source creado para almacenar y procesar grandes volúmenes de
datos que puede ser ejecutado en hardware no demasiado sofisticado, (hardware comodity).
• Hadoop se ha convertido en un estándar de facto para el desarrollo de soluciones de Big Data
• Puede ser utilizado como un motor de ETLs o como un motor de analytics para procesar
grandes volúmenes de datos estructurados, semi estructurados o no estructurados.
• Hadoop es una arquitectura distribuida
• Esta escrito en JAVA
Tecnologías para Big Data: Hadoop
Big Data y Metadata
• Metadata provee información acerca de las características y estructura de un Dataset. Este
tipo de información es generada en forma automática y “pegada” a los datos. Disponer de
meta data es crucial para almacenamiento y análisis de Big Data
• Por ejemplo:
• Tags XML proveen información del autor y fecha de creación de un documento
• Atributos que proveen el tamaño del archivo o resolución de una fotografía digital
• Las soluciones de Big Data deben confiar
en la metadata cuando procesan
datos no estructurados o semi estructurados
BI y Big Data
• El BI tradicional utiliza analytics descriptivo/diagnóstico para proveer información sobre
eventos presentes o históricos
• El BI tradicional no es “inteligente”, dado que solo provee respuestas a preguntas bien
formuladas
• Y las preguntas bien formuladas requieren una clara comprensión de los problemas del
negocio y no de los datos en si mismo.
• BI reporta en base a KPI:
• Reportes ad hoc
• Tableros de comando.
BI y Big Data
• BI Tradicional utiliza
DW y Data Marts para
reportes y análisis de
datos
Tomado Big Data Fundamentals, Tomas Erl
BI y Big Data
• Big Data BI elabora, sobre el BI tradicional y el DW consolidado y depurado, una integración de
este último con los datos semi estructurado y no estructurados provenientes de otras fuentes.
• Big Data BI conjuga ambos analytics: predictivo y prescriptivo para facilitar una visión
integradora para poder entender cómo esta operando el negocio
• Mientas que el BI tradicional se focaliza en un proceso de negocios en particular, Big Data BI
pone foco en múltiples procesos de negocios de manera simultanea.
• Esto permite la identificación de patrones y/o anomalías en un conjunto bien concreto de
procesos del negocio, facilitando la obtención de información que en otros contextos podría
estar ausente o desconocida
BI y Big Data
• Big Data BI requiere una nueva generación de DW que incorpore nuevas facilidades y
tecnologías para almacenar datos provenientes de diferentes fuentes en un formato
uniforme y depurado.
• La resultante de esta nueva generación son DW híbridos, los cuales actúan como un
repositorio uniforme y central de todos los tipos de datos que fluyen en la organización.
Este repositorio está disponible para ser explotado por herramientas de BI.
• Esta nueva tecnología evita que las herramientas de Big Data BI deban acceder a múltiples
fuentes de información para recibir y/o acceder a datos.
BI y Big Data
Tomado Big Data Fundamentals, Tomas Erl
Sintetizando…
RESULTADOS DE ACCIONES
ANALISIS TOMA DE EJECUTAR
DECISIONES ACCIONES
INTERVENCION
DESCRIPTIVO HUMANA
EJECUCION MANUAL
BIG
DATA PREDICTIVO INTERVENCION HUMANA EJECUCION MANUAL
SOPORTE A LAS DECISIONES EJECUCION MANUAL
PRESCRIPTIVO
AUTOMATIZACION DE LAS DECISIONES
BIG LOGIC
ESPACIO COMPARTIDO DE CONOCIMIENTO
Tomado de LIVEWARE IS - Big Data process
Arquitectura de Software
PENSANDO EN BIG DATA
58
Una definición
“La arquitectura de un programa o sistema es la
estructura o las estructuras del sistema que
contienen a los componentes, las propiedades
visibles de esos componentes y las relaciones entre
ellos”
Software Architecture in Practice
(Bass, Clements and Kazman, 1998)
¿Qué tiene que ver con Big Data?
59
Arquitecturas como “blueprints”
60
Arquitecturas para Procesamiento de Datos
61
Algunos casos de la vida real
• Un sistema de procesamiento de logs (de películas) para crear un dashboard funciona
correctamente, pero presenta problemas cuando se quiere incrementar el número de dispositivos
que envían sus logs para procesar.
• Un sistema de recuento automático de votos a nivel nacional tiene problemas de desempeño
cuando varios fiscales de partidos políticos quieren consultar simultáneamente los resultados
parciales, y el sistema no logra entregar los resultados finales a tiempo.
• Un sistema de BI existente debe integrar fuentes de datos no estructuradas (e importantes para el
negocio), y el esfuerzo para implementar dicha integración se demora 6 meses más de lo previsto.
• Un sistema de reservas turísticas presenta fallas en ciertos servicios
(en tiempo de ejecución), que hace que se pierdan las consultas
previas a distintos proveedores, y degrada la experiencia de usuario.
62
¿Qué tienen en común?
• Toma de decisiones técnicas
• Algunas pobres o malentendidas
• Algunas de estas decisiones son arquitecturalmente relevantes
• Identificación de requerimientos no funcionales - o atributos de calidad
• Afectados por decisiones técnicas
• No pueden satisfacerse todos los atributos al 100%
63
Atributos de Calidad
• Sin atributos de calidad • Con atributos de calidad
• El sistema implementa la funcionalidad • Hablan sobre la calidad esperada del
correcta pero: sistema
• “Anda lento” • Están definidos desde el punto de vista
• permite que los hackers roben datos de los stakeholders
• Está caído la mayor parte del tiempo • De manera precisa (no ambigua)
• No escala • Permite “testear” si el requerimiento de
• Es difícil realizar cambios o integraciones
atributo de calidad se satisface o no
• …
64
Atributos de Calidad (en general)
• Propiedades (sistémicas) de un producto de software a través de las cuales los
stakeholders juzgan la calidad del producto
• Performance
• Seguridad
• Modificabilidad
• Disponibilidad
• Usabilidad
• Portabilidad
• Estabilidad
• Escalabilidad
• “Webifyability”
• “Greenability”
• …
65
Atributos de Calidad en Big Data
• Cómo se relacionan las Vs (de Big Data) con los atributos de calidad?
• Principales atributos en sistemas Big Data
• Performance
• Disponibilidad
• Escalabilidad
18a
• Seguridad (y privacidad)
• Extensibility (multiple sources)
• “Reproducibility”/“Explainability”
• Accuracy (de ciertos algoritmos)
• “Data quality”
• “Self-service”
• …
66
CONSULTAS