bi real time analytics

Download BI real time analytics

Post on 24-Jan-2017

212 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

  • #SQSummit

    Real-Time analytics

    Vctor M Garca Snchez

    vsanchez@solidq.com

    @atharky

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

  • Contenido de la sesin

    Introduccin a Real-Time analytics

    Arquitecturas Real-Time Operational Analytics

    Real-Time Business Intelligence

    Visualizacin

  • Objetivos de la sesin

    Introducirnos en el mundo real time

    Explorar soluciones de anlisis en tiempo real con SQL Server

  • Analtica?

    Analtica: 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 analyticsQu es?

    Por qu?

    Escenarios de aplicacin

  • Real time.. Qu?

    Anlisis en tiempo real es el proceso de entrega de informacin en el momento que sucede.

    Tiempo real significa latencia cercana a cero y acceso a la informacin cuando es requerida

  • Real time.. Por qu?

    El objetivo mayor del anlisis en tiempo real es utilizar la informacin resultante para convertirla en acciones que reviertan en un mayor beneficio o rendimiento del negocio (o individual)

  • Real Time Analytics

    Suceso

    Recoleccin

    Anlisis

    Informacinaccionable

    Aplicacin

  • Escenarios Real-Time analytics

    Gestin de relacin con el cliente

    Deteccin de fraude

    Monitorizacin de sistemas

    Optimizacin de call centers

    Ajuste de precio dinmico (yield management)

    Algorithmic Trading

    Salud digital

  • Escenarios Real-Time analytics

  • Latencias

    Latencia de datos: el tiempo empleado en recolectar el dato

    Latencia de Anlisis: tiempo utilizado para analizar el dato y convertirlo en informacin accionable

    Latencia de Accin: tiempo de reaccin y puesta en marcha de la accin

  • Anlisis tradicional vs real time

    Datos

    horas/das

    Anlisis

    das/semanas

    Actuacin

    Datos

    seg/min

    Anlisis

    seg/min

    Actuacin

    Batch

    Real

    Time

  • Anlisis tradicional de datosEvento

    Dato

    Enrutamiento /

    Transmisin...

    Bloqueos/

    transacciones

    Carga Staging

    ETL/

    Limpieza/

    Consolidacin

    ETL

    modelado

    dimensional

    Procesado

    Carga DW Modelo

    anlisis

    Tiempo de

    consulta

    Anlisis

    Latencias

  • Procesamiento clsico de datos

    Retos para Real Time Analytics Complejidad

    patrones de carga para deteccin de modificados en las cargas ETL

    CosteCoste adicional de desarrollo para implementacin de ETL, servidores, licencias, etc..

    Latencia de datosEjecutar ETL aade un factor de espera para obtener los anlisis. 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

    Ejecucin de consultas no optimizadas para el esquema relacional

  • Arquitecturas Operational AnalyticsOperational Intelligence

    Evento

    Dato

    Anlisis

    In-memory/

    Columnstore

    Directy Query

    /

    DirectQuery

    /

    ROLAP

    Real

    Time

    { T-SQL }

  • Tcnicas con SQL 2016

    Distribuir la carga de anlisis Always On Availability Groups Secondary nodes

    Rplicas

  • Tcnicas con SQL 2016 (II)

    Columnstore indexes Eliminar ndices btree creados para agilizar

    anlisis + crear ndices nonclustered columnstore

    (rowstore + columnstore)

    Cambiar tipo almacenamiento de tabla a columnstore (clustered columnstore ) *

  • Tcnicas con SQL 2016 (III)

    Columnstore indexes ndices columnares filtrados +

    btree para separar datos en procesoprocesados

    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 condicindel ndice. Los columnares se combinan con el filtro btree para leer de ambos.

  • Tcnicas con SQL 2016 (IV)

    Tablas en memoria Cambiar tablas operacionales de almacenamiento en

    disco por tablas en memoria

    Aadir ndices columnares a tablas en memoria

    Controlando el tamao 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.

    https://blogs.msdn.microsoft.com/sqlserverstorageengine/2016/03/07/real-time-operational-analytics-memory-optimized-table-and-columnstore-index/

  • Demo

    Operational Analytics en accin

  • Tcnicas con SQL 2016 (V)

    R para anlisis avanzado

  • Arquitecturas Operational AnalyticsOperational Intelligence

    Evento

    DatoModelo

    anlisisAnlisis

    R

    Real

    Time

    In-memory/

    Columnstore

    R scripting

    over

    operational

    schema

  • Anlisis Operacional avanzado

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

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

  • Anlisis Operacional avanzado (II)

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

    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/

    Consolidacin

    ETL

    modelado

    dimensional

    Procesado

    Carga DW Modelo

    anlisis

    Tiempo de

    consulta

    Anlisis

    In-memory/

    Columnstore/

    Transacciones

    diferidas/

    Read-only

    nodes

    Estrategias de carga directa DW

    - Miembros diferidos

    - Limpieza/consolidacin in-process

    DirectQuery

    /

    ROLAP

    mini

    batches

  • RTBI vs RTOA

    Latencia Integracin Transformacin Capa anlisis

    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 pequeos

    Tabla RT + Histrica para hechos RT Estrategias de carga incremental o diferencial*

    Dimensiones con miembros por defecto para rpidas + hash para claves compuestas (dimensiones junk o bag

    of attributes)

  • Real Time BI

    Transferencia de particiones Real Time a Histrico DELETES bajo control

    identificador/fecha

    Asumir tiempo de transferencia en consulta OLAP

    Transferencia (imperceptible)

    DELETE de tabla RT

    (perceptible*)

    Procesamiento Histrico

    (perceptible)

  • Demo

    Estrategia de carga dimensional para real time

  • Real Time BI

    Diseo 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

    Diseo Analysis Services

  • Clientes Real Time

    Propiedad Real Time OLAP en las cadenas de conexin al cubo MD *

  • Demo

    Diseando un cubo para anlisis en tiempo real

  • Arquitecturas hbridasOperational intelligence + BI para deteccin de fraude

    Evento de

    transaccin

    Evalua caso sobre

    modelo minera

    Probabilidad de

    fraude

    Proceso mini batches

    Alimenta modelo

    anlisis

    Proceso real time

  • Real-Time visuals

    Power BI Online Permite agregar filas a un modelo creado

    mediante la API.

    El dato se refresca automticamente en cuanto entra en el modelo (Dashboards)

    Excel Destkop Configuracin de actualizacin automtica

    1 minutos cmo tiempo mnimo de actualizacin

  • Real-Time visuals

    La API de Power BI an 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 anlisis en tiempo real

    Revisar arquitectura y procesos es el comienzo del camino

    Si,