Este documento presenta StreamInsight, una plataforma de Microsoft para el desarrollo y despliegue de aplicaciones de procesamiento de eventos complejos (CEP). Explica los conceptos básicos de CEP y proporciona ejemplos de escenarios de uso como mercados financieros, manufactura y logística. También describe las características y beneficios clave de StreamInsight como su rendimiento, arquitectura basada en .NET y capacidades de administración y monitoreo integradas.
StreamInsight: Una nueva forma de trabajar con notificaciones
1. StreamInsight: Una nueva forma
de trabajar con notificaciones
John Alexander Bulla Torres
MVP SQL Server
PASS – Regional Mentor Latin America
http://bit.ly/johnbulla
Twitter: @johnbulla
1
2. Agenda
Aplicaciones orientadas a eventos
Comparativo CEP vs Database Applications
Escenarios CEP
Microsoft StreamInsight
Flujo de datos de StreamInsight
Arquitectura de StreamInsight
Beneficios de StreamInsight
3. Qué es CEP ?
Complex Event Processing (CEP) es un proceso continuo e incremental de eventos,
desde múltiples orígenes basados en consultas declarativas y patrones con la menor
latencia posible en tiempos.
Event
Input
Output
stream
Stream
4. CEP vs Database Applications
Aplicaciones de BD Aplicaciones orientadas a
Eventos
Paradigma de Consultas y Solicitudes Consultas Continuas
Consultas Ad-hoc
Latencia Segundos , horas y días. Milisegundos o menos
# Eventos/ Cientos de eventos/seg Decenas de miles de
Tiempo (Seg) eventos/seg
Event
request output
input stream
response stream
4
5. Escenarios CEP
Meses
Días CEP Target Scenarios
Aplicaciones bases de datos
Horas relacionales Aplicaciones de Operación
Analítica y Logística etc.
Minutos Aplicaciones de Data
Warehousing
Segundos
Aplicaciones Web Analíticas
100 ms Aplicaciones
Aplicaciones de Manufactura Aplicaciones
de Monitoreo
Financieras
< 1ms
0 10 100 1000 10000 100000 ~1million
Datos agregados (Events/sec.)
5
6. Principales Escenarios CEP
Mercado de Capitales
Comunicaciones
Manufactura
Industrias Petroleras, Gas, Energía
Logística
6
7. Ejemplo de Uso: Mercado de Capitales
Comercio Algorítmico
Ordenes de enrutamiento inteligente
Ganancias y perdidas en tiempo real
Rápido análisis de los costos de transacción
Detección de fraudes
Gestión de riesgos
7
8. Ejemplo de uso: Analisis Click-Stream
A menudo 100000 eventos por segundos
Automatizar
Diseño de página
Navegación
Presentación
Publicidad orientada
8
9. Ejemplo de uso: Comunicaciones
Red de monitoreo en tiempo real
Calidad de la supervisión del servicio
Servicios basados en la ubicación
Detección de fraudes
Detección de intrusos
9
10. Ejemplo de uso: Comando de
Inteligencia
Control del campo de batalla
Control de ubicaciones de recursos
Detección de intrusiones
Análisis de tráfico de red
Emails
Tráfico de Red
Movimientos financieros
10
11. Ejemplo de uso: Manufactura
Seguimiento de activos
Agregación de datos de sensores basados en la
maquina.
Generación de alertas en las condiciones de error
Identificación de “golden batch”
11
12. Ejemplo de uso: Control de Casino
Análisis de eventos de máquina de juegos de azar.
Análisis de la tabla de tarjeta
Detección de fraudes
Ganancias y perdidas en tiempo real
Publicidad dirigida
Reproductor de comportamiento
Implementación de sistema de lealtad
12
13. Ejemplo de uso: Mundos virtuales
Monitorio en tiempo real
Gestión del interés del jugador
Análisis del trafico de web
Detectar y eliminar comportamientos
Estudio de los patrones de comportamiento
13
14. Ejemplo de uso: Salud
Tratamiento de pacientes
Administración de brote
Detección de tendencias
Análisis de riesgo de seguros
14
15. Ejemplo de uso: Logística
Gestión de vehículos
Cadena de suministros de prevención y seguimiento
Logística marítima
Seguimiento de GPS
15
16. Ejemplo de uso: Administración de
energía
Monitoreo
Consumo
Variaciones
Detección de interrupciones
Gestión inteligente de la red
Agregación de datos a través de la red
16
17. Microsoft StreamInsight
Plataforma para el desarrollo y despliegue de
aplicaciones CEP
Arquitectura de procesamiento de secuencia de
alto rendimiento
Basado en el entorno de desarrollo .NET
18. Objetivos de StreamInsight
Supervisar los datos provenientes de múltiples
fuentes y detectar:
Patrones significactivos
Tendencias
Excepciones
Oportunidades
Analizar los datos antes de almacenarlos
Proporcionar un procesamiento de baja latencia
Acciones de respuesta para Trigger
19. Beneficio: Entorno de desarrollo .NET
Uso de lenguajes como C#
Uso de consultas con LINQ
Familiriadad con el IDE de Visual Studio .Net
Reducir los tiempos de desarrollo (y costos)
Extender StreamInsight con código .NET code
20. Beneficio: Performance y rendimiento
de datos
Plataforma de ejecución altamente paralela
En memoria cache
Calculo de resultado incremental
Todo el proceso de desencadenado es por eventos
entrates
Evita la sobrecarga de sondeo
Puede controlar los eventos out-of-order
Puede incorporar referencia estática o datos
históricos
21. Beneficio: Implementación y
administración
Múltiples escenarios de implementación
Completamente integrado a través de la DLL
embebido
Servidor independiente (múltiples aplicaciones y
usuarios)
Administración y monitoreo integrado
Interfaz de administración
Vistas de diagnósticos
Marco de la facilidad de uso permite para
monitoreo remoto
Depurador de flujo de eventos independiente
22. Flujo de Datos de StreamInsight
Data Sources, Operations, Assets, Feeds, Sensors, Devices
Input Input Output
Data Streams Data Streams Data Streams
CEP Engine
Monitor Mine Manage
f(x) f'(x)
& & &
Record Design Benefit
g(y) h(x,y)
CEP Engine
Operational Data Results f(x) g(y)
Store & Archive f'(x) h(x,y)
22
22
24. Circulo: Monitoreo, administración, extracción
CEP Ventajas
Tendencias de la
• Procesa datos
industria incrementalmente
Manage ej. Datos al vuelo
• Bajos costos de Monitor KPIs
adquirir datos business via
Record raw • Evita cargar datos
KPI-triggered
• Costos de Raw data (history) mientras se hace
storage pequeños y actions otro proceso
en continuo descenso
• Perfecta consulta
• Costos de para poder
procesamiento no administrar,
son insignificantes gestionar y hacer
Mine historical data minería de datos.
• Costos de captura de Devise new KPIs
datos siguen siendo
significantes
24
25. Capacidades de SQL Server 2008 R2 por Edición
Parallel Data
Workload Standard Enterprise Datacenter Warehouse
4 procs, 8 procs, >8 procs,
Custom/Packaged 64GB RAM, 2TB RAM, OS Max,
N/A
OLTP Apps Backup Adv. Security, Adv. Security,
Compression Backup Compression Backup Compression
4 VMs/license, Unlimited Virtualization,
Resource Governor Resource Governor, App &
Server Consolidation 1 VM/license App & Multi-Server Mgmt N/A
Multi-Server Mgmt (> 25
(up to 25 instances) instances)
Scale-Up DW, Scale-Up DW,
Data Compression Scale-Out DW
Data Compression
Data Warehousing
10s of TBs, Up to 30 TB 10s - 100s of TBs
with FastTrack 10s of TBs
Enterprise-Scale BI, Enterprise-Scale BI, Master Integrated with
Business Intelligence Dept/Team BI Master Data Services, Data Services, PowerPivot SSIS, SSAS and
PowerPivot Mgmt Mgmt SSRS
Complex Event <5000 >5000 events/sec &
<5000 events/sec &
Processing events/sec & Future coverage
> 5 s latency < 5 s latency
(StreamInsight) > 5 sec latency
25
26. Elementos de Consulta
Projection
Filtering
Joins
Unions
Aggregations
Event Windows
Snapshot Window
26
27. Ejemplo LINQ Query
LINQ Example – JOIN, PROJECT, FILTER:
from e1 in MyStream1
join e2 in MyStream2 Join
on e1.ID equals e2.ID
where e1.f2 == “foo” Filter
select new { e1.f1, e2.f4 }; Project
LINQ Example – GROUP & APPLY, WINDOW:
from e3 in MyStream3
group e3 by e3.i into SubStream
Grouping
from win in SubStream.HoppingWindow(
FiveMinutes,ThreeSeconds) Window
select new { i = SubStream.Key, Project &
a = win.Avg(e => e.f) };
Aggregate
27
29. Escenario: Highway Monitor
Principales
Carreteras
8 Carriles
2 Direcciones
6 Puntos de Peaje
Tipos de Vehículos
Carro
Bus
Camión
Ambulancia
Taxi
29
33. Recursos
StreamInsight Website
http://www.microsoft.com/sqlserver/2008/en/us/R2-complex-event.aspx
StreamInsight Books Online
http://msdn.microsoft.com/en-us/library/ee362541(SQL.105).aspx
StreamInsight Forums
http://social.msdn.microsoft.com/Forums/en-US/streaminsight/threads
StreamInsight Whitepaper
http://download.microsoft.com/download/F/D/5/FD5E855C-D895-45A8-9F3E-
110AFADBE51A/Microsoft%20CEP% 20Overview.docx
SQL Server 2008 R2 Update for Developers Training Kit (June2010 Update)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=fffaad
6a-0153-4d41-b289-a3ed1d637c0d
Introducing Microsoft SQL Server 2008 R2 (Free ebook)
http://blogs.msdn.com/microsoft_press/archive/2010/04/14/free-ebook-
introducing-microsoft-sql-server-2008-r2.aspx
34. Más recursos
www.microsoft.com/teched www.microsoft.com/learning
http://microsoft.com/technet http://microsoft.com/msdn
35. Recursos para los desarrolladores
http://microsoft.com/spanish/msdn/latam/mediacenter/
Microsoft MSDN Latinoamérica te ofrece los últimos recursos multimedia en
español para desarrolladores: presentaciones y demostraciones en directo o
diferido, vía Internet, brindadas por expertos de Microsoft, las cuales te ayudarán
a mantenerte al día con información sobre los productos y tecnologías que utilizas
a diario en el desarrollo de tus aplicaciones.
40. John Alexander Bulla Torres
MVP SQL Server
Core Group BogotaDotNet
PASS – Regional Mentor Latin America
Blog: http://bit.ly/johnbulla
Email: john.bulla@bogotadotnet.org
Twitter: @johnbulla
40