bi real time analytics
Post on 24-Jan-2017
222 Views
Preview:
TRANSCRIPT
#SQSummit
Real-Time analytics
Víctor M García Sánchez
vsanchez@solidq.com
@atharky
https://es.linkedin.com/in/atharky
Contenido de la sesión
• Introducción a Real-Time analytics
• Arquitecturas• Real-Time Operational Analytics
• Real-Time Business Intelligence
• Visualización
Objetivos de la sesión
• Introducirnos en el mundo real time
• Explorar soluciones de análisis en tiempo real con SQL Server
Analítica?
• Analítica:• Estudiar datos del pasado para identificar
tendencias potenciales
• Analizar efectos de decisiones o eventos
• Analizar datos actuales/pasados para predecir resultados
• Objetivos:• Mejorar el negocio obteniendo conocimiento para
realizar mejoras o cambios
Real time analytics¿Qué es?
¿Por qué?
Escenarios de aplicación
Real time.. ¿Qué?
Análisis en tiempo real es el proceso de entrega de información en el momento que sucede.
Tiempo real significa latencia cercana a cero y acceso a la información cuando es requerida
Real time.. ¿Por qué?
El objetivo mayor del análisis en tiempo real es utilizar la información resultante para convertirla en acciones que reviertan en un mayor beneficio o rendimiento del negocio (o individual)
Real Time Analytics
Suceso
Recolección
Análisis
Informaciónaccionable
Aplicación
Escenarios Real-Time analytics
• Gestión de relación con el cliente
• Detección de fraude
• Monitorización de sistemas
• Optimización de call centers
• Ajuste de precio dinámico (yield management)
• Algorithmic Trading
• Salud ‘digital’
Escenarios Real-Time analytics
Latencias
• Latencia de datos: el tiempo empleado en recolectar el dato
• Latencia de Análisis: tiempo utilizado para analizar el dato y convertirlo en información accionable
• Latencia de Acción: tiempo de reacción y puesta en marcha de la acción
Análisis tradicional vs real time
Datos
horas/días
Análisis
días/semanas
Actuación
Datos
seg/min
Análisis
seg/min
Actuación
Batch
Real
Time
Análisis tradicional de datosEvento
Dato
Enrutamiento /
Transmisión...
Bloqueos/
transacciones
Carga Staging
ETL/
Limpieza/
Consolidación
ETL
modelado
dimensional
Procesado
Carga DW Modelo
análisis
Tiempo de
consulta
Análisis
Latencias
Procesamiento clásico de datos
• Retos para Real Time Analytics• Complejidad
patrones de carga para detección de modificados en las cargas ETL
• CosteCoste adicional de desarrollo para implementación de ETL, servidores, licencias, etc..
• Latencia de datosEjecutar ETL añade un factor de espera para obtener los análisis. Habitualmente se ejecutan en periodicidad horaria o diaria.
Arquitecturas RTon-premises
Arquitecturas Operational Analytics
• Beneficios• Sin latencia en datos
• Sin ETL
• Sin DW
• Retos• Bloqueos
• Carga en el operacional
• Ejecución de consultas no optimizadas para el esquema relacional
Arquitecturas Operational AnalyticsOperational Intelligence
Evento
Dato
Análisis
In-memory/
Columnstore
Directy Query
/
DirectQuery
/
ROLAP
Real
Time
{ T-SQL }
Técnicas con SQL 2016
Distribuir la carga de análisis• Always On Availability Groups Secondary nodes
• Réplicas
Técnicas con SQL 2016 (II)
Columnstore indexes• Eliminar índices btree creados para agilizar
análisis + crear índices nonclustered columnstore
(rowstore + columnstore)
• Cambiar tipo almacenamiento de tabla a columnstore (clustered columnstore ) *
Técnicas con SQL 2016 (III)
Columnstore indexes• Índices columnares filtrados +
btree para separar datos en proceso<->procesados
La diferencia de comportamiento entre un índice btree filtrado y uno columnar filtrado es que los primeros solo se utilizan en consultas restringidas a la condicióndel índice. Los columnares se combinan con el filtro btree para leer de ambos.
Técnicas con SQL 2016 (IV)
• Tablas en memoria• Cambiar tablas operacionales de almacenamiento en
disco por tablas en memoria
• Añadir índices columnares a tablas en memoria
• Controlando el tamaño de las tablas!
https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/03/07/real-time-operational-analytics-memory-optimized-table-and-columnstore-index/
There is insufficient system memory in the resource pool ‘default’ to run this query.
Demo
Operational Analytics en acción
Técnicas con SQL 2016 (V)
• R para análisis avanzado
Arquitecturas Operational AnalyticsOperational Intelligence
Evento
DatoModelo
análisisAnálisis
R
Real
Time
In-memory/
Columnstore
R scripting
over
operational
schema
Análisis Operacional avanzado
http://www.jenunderwood.com/2015/11/11/r-you-ready-sql-server-2016/
Análisis Operacional avanzado (II)
http://www.jenunderwood.com/2015/11/11/r-you-ready-sql-server-2016/
Arquitecturas RTBIReal Time Business Intelligence
Evento
Dato
Bloqueos/
transacciones
Carga
Staging
ETL/
Limpieza/
Consolidación
ETL
modelado
dimensional
Procesado
Carga DW Modelo
análisis
Tiempo de
consulta
Análisis
In-memory/
Columnstore/
Transacciones
diferidas/
Read-only
nodes
Estrategias de carga directa DW
- Miembros diferidos
- Limpieza/consolidación in-process
DirectQuery
/
ROLAP
mini
batches
RTBI vs RTOA
Latencia Integración Transformación Capa análisis
RTOA ms/seg No No Si/No
RTBI seg/min Si Si Si
Real Time BI
Analysis layerETL layer
Integration Services process
source data every 15 seconds
Real-Time data is stored into a in-
memory table
Transactional source
ROLAP partition with Real-Time
data
PowerBI Desktop to
publish
DB sources
OLAP cube
Business users
Integration Services process
run perically (daily, weekly) to
transfer data
Historical data is moved from the in-memory table into a partitioned
table sliced by years
Visualization layer
MOLAP partitions sliced by dates
Solution design for real time analysis
SharePoint 2013 + Power
View
Pyramids Analytics
Real Time BI
• Modelado DW + ETL • Lectura ETL Operacional > Dimensional
• alta frecuencia
• lotes pequeños
• Tabla RT + ‘Histórica’ para hechos RT• Estrategias de carga incremental o diferencial*
• Dimensiones con miembros por defecto para ‘rápidas’• + hash para claves compuestas (dimensiones junk o bag
of attributes)
Real Time BI
• Transferencia de particiones Real Time a Histórico• DELETES bajo control
• identificador/fecha
• Asumir tiempo de transferencia en consulta OLAP
Transferencia (imperceptible)
DELETE de tabla RT
(perceptible*)
Procesamiento Histórico
(perceptible)
Demo
Estrategia de carga dimensional para real time
Real Time BI
• Diseño Analysis Services• Tabular: Particiones in-memory + DirectQuery
• MD: Particiones MOLAP + ROLAP
Particiones RT: generar vistas con joins a dimensiones
Establecer almacenamiento ROLAP con caché proactiva
Real Time BI
• Diseño Analysis Services
Clientes Real Time
• Propiedad Real Time OLAP en las cadenas de conexión al cubo MD *
Demo
Diseñando un cubo para análisis en tiempo real
Arquitecturas híbridasOperational intelligence + BI para detección de fraude
Evento de
transacción
Evalua caso sobre
modelo minería
Probabilidad de
fraude
Proceso mini batches
Alimenta modelo
análisis
Proceso real time
Real-Time visuals
• Power BI Online• Permite agregar filas a un modelo creado
mediante la API.
• El dato se refresca automáticamente en cuanto entra en el modelo (Dashboards)
• Excel Destkop• Configuración de actualización automática
• 1 minutos cómo tiempo mínimo de actualización
Real-Time visuals
• La API de Power BI aún tiene que madurar• Modelos sencillos
• Sin relaciones entre tablas
• Sin posibilidad de crear medidas o columnas calculadas
• To POST Rows• 10,000 max rows per single POST rows request
• 1,000,000 rows added per hour per dataset
• 5 max pending POST rows requests per dataset
• 120 POST rows requests per minute per dataset
• 200,000 max rows stored per table in FIFO dataset
• 5,000,000 max rows stored per table in ‘none retention policy’ dataset
• 32,766 characters per value for string column in POST rows operation
Claves real time analytics
Evaluar el beneficio de implementar análisis en tiempo real
Revisar arquitectura y procesos es el comienzo del camino
Si, con SQL también es posible La latencia es inevitable
La visualización es un grado
También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.
¡Gracias!
top related