45
#SQSummit Real-Time analytics Víctor M García Sánchez [email protected] @atharky https://es.linkedin.com/in/atharky

BI real time analytics

  • Upload
    solidq

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BI real time analytics

#SQSummit

Real-Time analytics

Víctor M García Sánchez

[email protected]

@atharky

https://es.linkedin.com/in/atharky

Page 2: BI real time analytics

Contenido de la sesión

• Introducción a Real-Time analytics

• Arquitecturas• Real-Time Operational Analytics

• Real-Time Business Intelligence

• Visualización

Page 3: BI real time analytics

Objetivos de la sesión

• Introducirnos en el mundo real time

• Explorar soluciones de análisis en tiempo real con SQL Server

Page 4: BI real time analytics

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

Page 5: BI real time analytics

Real time analytics¿Qué es?

¿Por qué?

Escenarios de aplicación

Page 6: BI real time analytics

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

Page 7: BI real time analytics
Page 8: BI real time analytics

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)

Page 9: BI real time analytics

Real Time Analytics

Suceso

Recolección

Análisis

Informaciónaccionable

Aplicación

Page 10: BI real time analytics

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’

Page 11: BI real time analytics

Escenarios Real-Time analytics

Page 12: BI 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

Page 13: BI real time analytics

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

Page 14: BI real time analytics

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

Page 15: BI real time analytics

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.

Page 16: BI real time analytics

Arquitecturas RTon-premises

Page 17: BI real time analytics

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

Page 18: BI real time analytics

Arquitecturas Operational AnalyticsOperational Intelligence

Evento

Dato

Análisis

In-memory/

Columnstore

Directy Query

/

DirectQuery

/

ROLAP

Real

Time

{ T-SQL }

Page 19: BI real time analytics

Técnicas con SQL 2016

Distribuir la carga de análisis• Always On Availability Groups Secondary nodes

• Réplicas

Page 20: BI real time analytics

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 ) *

Page 21: BI real time analytics

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.

Page 22: BI real time analytics

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.

Page 23: BI real time analytics

Demo

Operational Analytics en acción

Page 24: BI real time analytics
Page 25: BI real time analytics

Técnicas con SQL 2016 (V)

• R para análisis avanzado

Page 26: BI real time analytics

Arquitecturas Operational AnalyticsOperational Intelligence

Evento

DatoModelo

análisisAnálisis

R

Real

Time

In-memory/

Columnstore

R scripting

over

operational

schema

Page 27: BI real time analytics

Análisis Operacional avanzado

http://www.jenunderwood.com/2015/11/11/r-you-ready-sql-server-2016/

Page 28: BI real time analytics

Análisis Operacional avanzado (II)

http://www.jenunderwood.com/2015/11/11/r-you-ready-sql-server-2016/

Page 29: BI real time analytics

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

Page 30: BI real time analytics

RTBI vs RTOA

Latencia Integración Transformación Capa análisis

RTOA ms/seg No No Si/No

RTBI seg/min Si Si Si

Page 31: BI real time analytics

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

Page 32: BI real time 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)

Page 33: BI real time analytics

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)

Page 34: BI real time analytics

Demo

Estrategia de carga dimensional para real time

Page 35: BI real time analytics

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

Page 36: BI real time analytics

Real Time BI

• Diseño Analysis Services

Page 37: BI real time analytics

Clientes Real Time

• Propiedad Real Time OLAP en las cadenas de conexión al cubo MD *

Page 38: BI real time analytics

Demo

Diseñando un cubo para análisis en tiempo real

Page 39: BI real time analytics

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

Page 40: BI real time analytics

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

Page 41: BI real time analytics

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

Page 42: BI real time analytics
Page 43: BI real time analytics

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

Page 44: BI real time analytics
Page 45: BI real time analytics

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!