SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Leonardo Micheloni
@leomicheloni
Azure Analytics
Quién soy?
• Desarrollador de software hace 15 años
• Trabajabo en Kinetica Solutions
• Actualmente estamos utilizando estas herramientas
De qué vamos a hablar?
• Captura y análisis de datos en tiempo real
• Azure
• Variantes
• Ventajas
• Costos
Planteo del problema
• Necesidad de recibir y analizar una gran cantidad de datos
• De diversos orígenes
• A diferentes tasas de arribo
• Manipulación de los datos (contar, agrupar, seleccionar, etc.)
• Posibles escenarios
• Análisis de tráfico en grandes ciudades
• Comportamiento de clientes
• IoT
• Medición de audiencias
Qué podríamos hacer?
• Solución custom
• Implica mucha inversión de hardware
• Si es un éxito hay que conseguir más hardware
• Si falla tenemos que arreglarlo nosotros
• Centralizado geográficamente
• Usar una solución de terceros (Azure)
• Podemos escalar a demanda
• No falla
• Disponibilidad geográfica
Qué ofrece Azure?
• Event hubs
• Hadoop
• Stream analytics
• DocumentDb
• Web sites
• Máquinas virtuales
• Otros sistemas
Qué ofrece Azure?
Por qué PAAS?
Aplicaciones
Data
Runtime
O/S
Virtualización
Servidores
Networking
IAAS
Aplicaciones
Data
Runtime
O/S
Virtualización
Servidores
Networking
Aplicaciones
Data
Runtime
O/S
Virtualización
Servidores
Networking
PAAS SAAS
Características
• Permite inyectar eventos a gran escala
• Publish / suscriber
• Millones de eventos
• Halo, Minecraft, Xbox 360
• HTTP / AMQP
• SAS
Evet hubs
Publish Suscriber
• Más adecuado para este tipo de escenarios que las colas
• Arquitectura basada en particiones en lugar de base de datos
• Existen clientes para las principales plataformas
• Es trivial crear un cliente
Event hubs
Millones de eventos
• Up to 1GB/s input
• Up to 100.000 sources / event hub
• Thoughput: 1MB per unit, up to 1000 units per secound
• Consumer groups
• Storage 84GB / day
• Retention policy 1 up to 7 day (pedidos especiales hasta 20 días)
• 2.8 c/u$s por millón de eventos
Event hubs
Particiones
• Definen las lecturas simultáneas
• Partition key
• Hasta 32
• Pedidos especiales hasta 1000
Event hubs
Retention policy
• Se retienen los eventos hasta ser consumidos
• 24 horas por defecto sin costo adicional
• Días adicionales tienen costo hasta 7 días (especial 30)
• Checkpoint en caso de falla se retoma, se puede “rebobinar”
• Up to 84GB
Event hubs
Checkpoint
HTTP / AMQP
• Soporta el estándar AMQP
• Interoperable con múltiples plataformas
• Java
• PHP
• IoT
• Posibilidad de usar HTTP
Event hubs
SAS
• Posibilidad de definir la seguridad por cadena de conexión
• Se define una key para un nivel de lectura o escritura
Event hubs
Demo
Event hubs
Stream Analytics
Qué es Stream Analytics
• PaaS (Platform as a Service)
• Motor de procesamiento a gran escala (hasta 1GB/s)
• Real-time streaming.
• Fuerte integración con EventHub (Out of the Box)
• Agrupación y agregación de datos.
Stream Analytics
Stream Analytics
Stream Analytics
Características
• Captura, procesa y agrega datos en tiempo real.
• Sin pérdida de datos.
• Troughput de hasta 1GB x seg (millones de eventos).
• Alta disponibilidad y capacidad de recuperación.
• Bajo costo en desarrollo y en administración
• 3 componentes principales:
• Inputs
• Queries
• Outputs
Stream Analytics
Captura (inputs)
• Múltiples, en simultáneo
• Tipos de input:
• Data de referencia
• Data de streaming (Event-hubs, IoT, Blobs)
Stream Analytics
Transformación (queries)
• SQL-Like queries.
• Multiple input, multiple outputs.
• Agrupamiento basado en ventanas (Tumbling, Hopping, Sliding)
Stream Analytics
Transformación (queries)
Stream Analytics
Windowing - conceptos
• Agrupamiento basado en ventanas (Tumbling, Hopping, Sliding)
• Windows de tamaño fijo
• El Timestamp de output representa el fin de la ventana
• Requiere agrupamiento.
Stream Analytics
Tumbling Windows
• Cantidad de lecturas de sensor por device cada 10 segundos.
Stream Analytics
SELECT sensorId, COUNT(*) AS Count
FROM SensorReadings TIMESTAMP BY time
GROUP BY sensorId, TumblingWindow(second, 10)
Hopping Windows
• Cada 5 segundos,
cantidad de lecturas de
sensor y la temperatura
promedio en los últimos
10 segundos
Stream Analytics
SELECT sensorId, COUNT(*) AS Count, AVG(temp)
FROM SensorReadings TIMESTAMP BY time
GROUP BY sensorId, HoppingWindow(second, 10, 5 )
Sliding Windows
• Temperatura es mayor a
75 para un total de 5
segundos
Stream Analytics
SELECT sensorId, MIN(temp) as temp
FROM SensorReadings
TIMESTAMP BY time
GROUP BY sensorId, SlidingWindow(second, 5)
HAVING MIN(temp) > 75
Outputs
• Son el resultado del procesamiento en las queries
• Múltiples posibles
Stream Analytics
Outputs
Stream Analytics
Configuración
• Event Ordering Policy
• Late Arrival tolerance Window
• Out of Order tolerance window
• Action (Adjust – Drop)
Stream Analytics
Out of Order/ Late Arrival
Stream Analytics
En query
...TIMESTAMP BY...
Por default:
Timestamp by
Enqueue timestamp
Evento 1
15:43 (-3)
Evento 2
15:42 (-3)
En query
...TIMESTAMP BY...
Evento 3
TIMESTAMP: 15:43:25 (-3)
Encolado:
15:43.26 NUEVO TIMESTAMP (AJUSTADO): 15:43:29 (-3)
Causas:
• Clock Skews
• EH Clock Skews
• Network Delay
Escalabilidad
• Escalabildad:
• Streaming Units (1 MB/s Cada SU) (Hasta 48)
• Pricing:
Stream Analytics
No tan bueno
• Esencial manejo desde el portal
• Deployment por PS con json
• El SAQL es limitado
• Puede tener latencia asociada
Stream Analytics
Demo
Event hubs
¿Qué es DocumentDB?
• Database as a service
• NoSql ->
• Key-value store
• Column store
• Graph databases
• Document store
• Diseñado para aplicaciones escalables y altamente performantes
DocumentDb
✔
Azure Data Services – antes...
DocumentDb
Fuente: http://channel9.msdn.com
Azure Data Services - después...
DocumentDb
Fuente: http://channel9.msdn.com
Alternativas de terceros:
DocumentDb
• Más orientadas a IAAS que PAAS
• "desventajas" de IAAS: sharding a mano, al igual que la replicación
• PAAS -> todo manejado dentro de Azure
• Escalabidad on-demand controlada
Modelo de recursos
DocumentDb
Interacción con DocumentDB
DocumentDb
• RESTful http interface
• SDK (.Net, Node, Python, JS)
• Queries -> gramática SQL (extensibilidad con Javascript)
Javascript para lógica de negocio
DocumentDb
• DocumentDb fue escrito pensado y optimizado para Javascript
• Se pueden escribir UDF, SP y Triggers en Javascript
• Transacciones integradas al lenguaje (los procedures se ejecutan
dentro de una transacción implícita)
Schema-free
DocumentDb
• Schema-free REAL
• No se definen índices (campos se indizan automáticamente, no hay
inferencia de schema)
• Posibilidad de customizar los índices
Digresión: el teorema CAP
DocumentDb• Un sistema distribuido no puede garantizar, simultáneamente:
• Consistency
• Availability
• Partition network tolerance
• Con esto en mente, un sistema distribuido puede ser:
• "CP" -> consistente pero NO disponible bajo una partición de red
• "AP" -> disponible pero NO consistente bajo una partición de red
• "CA" -> imposible!
{A, B, C} -> {A,B} {C}
"tunnable consistency"
DocumentDb
• 4 niveles de consistencia de datos
• Eventual consistency
• Strong consistency
• Bounded staleness consistency
• Session consistency
¿Cómo escala?
DocumentDb
• Collections -> 10gb de capacidad de storage
• Performance levels
• RequestUnit (RU) -> mide lo que tarda en procesar un request
• 1 RU -> read json de 1kb con 10 properties
• Esto asumiendo Session Consistency
• x-ms-request-charge se incluye en los responses
Quotas
DocumentDb
• 5 DocumentDB accounts
• 100 base de datos por account
• 100 colecciones por base de datos
• 500.000 usuarios (entre todas las DB)
• 25 SP, triggers y UDF (cada uno) por colección
• 10GB por colección
• Tamaño máximo de documento json: 512KB
Demo
DocumentDb
MVA
http://blog.sysfore.com/the-a-z-of-microsoft-azure-
services/
Recursos Continúa Aprendiendo
Microsoft Virtual Academy
http://aka.ms/academia
Channel 9
http://aka.ms/canal9

Contenu connexe

Tendances

Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorEnrique Catala Bañuls
 
Sql azure data warehouse gab jorge muchaypina
Sql azure data warehouse gab   jorge muchaypinaSql azure data warehouse gab   jorge muchaypina
Sql azure data warehouse gab jorge muchaypinaMUG Perú
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Introducción R - Primeros pasos
Introducción R - Primeros pasosIntroducción R - Primeros pasos
Introducción R - Primeros pasosSolidQ
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónSolidQ
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022Eduardo Castro
 
SQL Server Analysis Services
SQL Server Analysis ServicesSQL Server Analysis Services
SQL Server Analysis Servicesjorge Muchaypiña
 
Global azure bootcamp SQL Azure End to End
Global azure bootcamp   SQL Azure End to End Global azure bootcamp   SQL Azure End to End
Global azure bootcamp SQL Azure End to End jorge Muchaypiña
 
Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Enrique Catala Bañuls
 
Novedades SQL Azure v12
Novedades SQL Azure v12Novedades SQL Azure v12
Novedades SQL Azure v12SolidQ
 
Column stored index
Column stored index Column stored index
Column stored index SolidQ
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017dbLearner
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)SolidQ
 
Novedades en SSAS 2016
Novedades en SSAS 2016Novedades en SSAS 2016
Novedades en SSAS 2016SolidQ
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12SolidQ
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidadElasticsearch
 

Tendances (20)

Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Sql azure data warehouse gab jorge muchaypina
Sql azure data warehouse gab   jorge muchaypinaSql azure data warehouse gab   jorge muchaypina
Sql azure data warehouse gab jorge muchaypina
 
Polybase
PolybasePolybase
Polybase
 
SQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql serverSQLCLR: .NET en el core de sql server
SQLCLR: .NET en el core de sql server
 
Introducción R - Primeros pasos
Introducción R - Primeros pasosIntroducción R - Primeros pasos
Introducción R - Primeros pasos
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Toolbox SQL Server para optimización
Toolbox SQL Server para optimizaciónToolbox SQL Server para optimización
Toolbox SQL Server para optimización
 
Novedades en sql server 2022
Novedades en sql server 2022Novedades en sql server 2022
Novedades en sql server 2022
 
#avanttic_webinar: Actualiza tu Oracle Exadata
  #avanttic_webinar: Actualiza tu Oracle Exadata  #avanttic_webinar: Actualiza tu Oracle Exadata
#avanttic_webinar: Actualiza tu Oracle Exadata
 
SQL Server Analysis Services
SQL Server Analysis ServicesSQL Server Analysis Services
SQL Server Analysis Services
 
Global azure bootcamp SQL Azure End to End
Global azure bootcamp   SQL Azure End to End Global azure bootcamp   SQL Azure End to End
Global azure bootcamp SQL Azure End to End
 
Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014Escenarios híbridos con SQL Server 2014
Escenarios híbridos con SQL Server 2014
 
Novedades SQL Azure v12
Novedades SQL Azure v12Novedades SQL Azure v12
Novedades SQL Azure v12
 
Column stored index
Column stored index Column stored index
Column stored index
 
Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017Data Amp 2017 - Whats New in SQL Server 2017
Data Amp 2017 - Whats New in SQL Server 2017
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 
Novedades en SSAS 2016
Novedades en SSAS 2016Novedades en SSAS 2016
Novedades en SSAS 2016
 
Oracle GG presentacion
Oracle GG presentacionOracle GG presentacion
Oracle GG presentacion
 
Novedades en SQL Azure V12
Novedades en SQL Azure V12Novedades en SQL Azure V12
Novedades en SQL Azure V12
 
Un viaje a la observabilidad
Un viaje a la observabilidadUn viaje a la observabilidad
Un viaje a la observabilidad
 

En vedette

Tareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con GradleTareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con GradleSoftware Guru
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSAmazon Web Services LATAM
 
DukeScript: HTML5 y JavaScript desde Java
DukeScript: HTML5 y JavaScript desde JavaDukeScript: HTML5 y JavaScript desde Java
DukeScript: HTML5 y JavaScript desde JavaSoftware Guru
 
Vuelvete un desarrollador de primer mundo
Vuelvete un desarrollador de primer mundoVuelvete un desarrollador de primer mundo
Vuelvete un desarrollador de primer mundoSoftware Guru
 
Desarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y TestdroidDesarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y TestdroidSoftware Guru
 
Taller práctico de reportería con Eclipse BIRT
Taller práctico de reportería con Eclipse BIRTTaller práctico de reportería con Eclipse BIRT
Taller práctico de reportería con Eclipse BIRTSoftware Guru
 
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoft
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoftPropuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoft
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoftSoftware Guru
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Amazon Web Services
 
DevOps con Seguridad - Administrando Riesgos
DevOps con Seguridad - Administrando RiesgosDevOps con Seguridad - Administrando Riesgos
DevOps con Seguridad - Administrando RiesgosSoftware Guru
 

En vedette (11)

Tareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con GradleTareas automatizadas y eficientes para la construcción de software con Gradle
Tareas automatizadas y eficientes para la construcción de software con Gradle
 
Creando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWSCreando su primera aplicación de Big Data en AWS
Creando su primera aplicación de Big Data en AWS
 
DukeScript: HTML5 y JavaScript desde Java
DukeScript: HTML5 y JavaScript desde JavaDukeScript: HTML5 y JavaScript desde Java
DukeScript: HTML5 y JavaScript desde Java
 
Vuelvete un desarrollador de primer mundo
Vuelvete un desarrollador de primer mundoVuelvete un desarrollador de primer mundo
Vuelvete un desarrollador de primer mundo
 
Desarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y TestdroidDesarrollo y testing de apps móviles con Intel XDK y Testdroid
Desarrollo y testing de apps móviles con Intel XDK y Testdroid
 
Forget about Agile
Forget about AgileForget about Agile
Forget about Agile
 
Taller práctico de reportería con Eclipse BIRT
Taller práctico de reportería con Eclipse BIRTTaller práctico de reportería con Eclipse BIRT
Taller práctico de reportería con Eclipse BIRT
 
The Red Hat Way
The Red Hat WayThe Red Hat Way
The Red Hat Way
 
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoft
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoftPropuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoft
Propuestas de mejoras y actualizaciones al Modelo de Procesos MoProSoft
 
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
Easy Analytics on AWS with Amazon Redshift, Amazon QuickSight, and Amazon Mac...
 
DevOps con Seguridad - Administrando Riesgos
DevOps con Seguridad - Administrando RiesgosDevOps con Seguridad - Administrando Riesgos
DevOps con Seguridad - Administrando Riesgos
 

Similaire à Azure Analytics Herramientas

Esp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real timeEsp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real timeLeonardo Micheloni
 
Streaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoStreaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoJose Antonio Arroba Gonzalez
 
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...Amazon Web Services LATAM
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TIManolo Crespo
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSpanishPASSVC
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Denodo
 
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 2
MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 2MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 2
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 2MongoDB
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesSergio Borromei
 
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisions
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisionsMadrid DataEng - LeanXcale, Simplifying architectures for real time decisions
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisionsMiguel Angel Fajardo
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseJoseph Lopez
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDBJoseph Lopez
 
Monitoreo de infraestructura facilitado, desde la ingesta hasta la información
Monitoreo de infraestructura facilitado, desde la ingesta hasta la informaciónMonitoreo de infraestructura facilitado, desde la ingesta hasta la información
Monitoreo de infraestructura facilitado, desde la ingesta hasta la informaciónElasticsearch
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarloscarlos_eduardo_84
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresGermán Küber
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...SolidQ
 

Similaire à Azure Analytics Herramientas (20)

ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Serverless Wars
Serverless WarsServerless Wars
Serverless Wars
 
Esp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real timeEsp8266 iothub Azure data analysis in real time
Esp8266 iothub Azure data analysis in real time
 
Streaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoStreaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendo
 
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
Innovation Track AWS Cloud Experience Argentina - Novedades de Distribución d...
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Introducción a Big Data en AWS
Introducción a Big Data en AWSIntroducción a Big Data en AWS
Introducción a Big Data en AWS
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
 
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 2
MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 2MongoDB Atlas: La mejor forma de utilizar  MongoDB en la nube 2
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 2
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisions
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisionsMadrid DataEng - LeanXcale, Simplifying architectures for real time decisions
Madrid DataEng - LeanXcale, Simplifying architectures for real time decisions
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
Introducción a Azure DocumentDB
Introducción a Azure DocumentDBIntroducción a Azure DocumentDB
Introducción a Azure DocumentDB
 
Monitoreo de infraestructura facilitado, desde la ingesta hasta la información
Monitoreo de infraestructura facilitado, desde la ingesta hasta la informaciónMonitoreo de infraestructura facilitado, desde la ingesta hasta la información
Monitoreo de infraestructura facilitado, desde la ingesta hasta la información
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
Gánale la partida a tu SQL Server, configuración ideal para que todo vaya bie...
 

Plus de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Plus de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Azure Analytics Herramientas

  • 2. Quién soy? • Desarrollador de software hace 15 años • Trabajabo en Kinetica Solutions • Actualmente estamos utilizando estas herramientas
  • 3. De qué vamos a hablar? • Captura y análisis de datos en tiempo real • Azure • Variantes • Ventajas • Costos
  • 4. Planteo del problema • Necesidad de recibir y analizar una gran cantidad de datos • De diversos orígenes • A diferentes tasas de arribo • Manipulación de los datos (contar, agrupar, seleccionar, etc.) • Posibles escenarios • Análisis de tráfico en grandes ciudades • Comportamiento de clientes • IoT • Medición de audiencias
  • 5. Qué podríamos hacer? • Solución custom • Implica mucha inversión de hardware • Si es un éxito hay que conseguir más hardware • Si falla tenemos que arreglarlo nosotros • Centralizado geográficamente • Usar una solución de terceros (Azure) • Podemos escalar a demanda • No falla • Disponibilidad geográfica
  • 6. Qué ofrece Azure? • Event hubs • Hadoop • Stream analytics • DocumentDb • Web sites • Máquinas virtuales • Otros sistemas
  • 9. Características • Permite inyectar eventos a gran escala • Publish / suscriber • Millones de eventos • Halo, Minecraft, Xbox 360 • HTTP / AMQP • SAS Evet hubs
  • 10. Publish Suscriber • Más adecuado para este tipo de escenarios que las colas • Arquitectura basada en particiones en lugar de base de datos • Existen clientes para las principales plataformas • Es trivial crear un cliente Event hubs
  • 11. Millones de eventos • Up to 1GB/s input • Up to 100.000 sources / event hub • Thoughput: 1MB per unit, up to 1000 units per secound • Consumer groups • Storage 84GB / day • Retention policy 1 up to 7 day (pedidos especiales hasta 20 días) • 2.8 c/u$s por millón de eventos Event hubs
  • 12. Particiones • Definen las lecturas simultáneas • Partition key • Hasta 32 • Pedidos especiales hasta 1000 Event hubs
  • 13. Retention policy • Se retienen los eventos hasta ser consumidos • 24 horas por defecto sin costo adicional • Días adicionales tienen costo hasta 7 días (especial 30) • Checkpoint en caso de falla se retoma, se puede “rebobinar” • Up to 84GB Event hubs Checkpoint
  • 14. HTTP / AMQP • Soporta el estándar AMQP • Interoperable con múltiples plataformas • Java • PHP • IoT • Posibilidad de usar HTTP Event hubs
  • 15. SAS • Posibilidad de definir la seguridad por cadena de conexión • Se define una key para un nivel de lectura o escritura Event hubs
  • 18. Qué es Stream Analytics • PaaS (Platform as a Service) • Motor de procesamiento a gran escala (hasta 1GB/s) • Real-time streaming. • Fuerte integración con EventHub (Out of the Box) • Agrupación y agregación de datos. Stream Analytics
  • 20. Características • Captura, procesa y agrega datos en tiempo real. • Sin pérdida de datos. • Troughput de hasta 1GB x seg (millones de eventos). • Alta disponibilidad y capacidad de recuperación. • Bajo costo en desarrollo y en administración • 3 componentes principales: • Inputs • Queries • Outputs Stream Analytics
  • 21. Captura (inputs) • Múltiples, en simultáneo • Tipos de input: • Data de referencia • Data de streaming (Event-hubs, IoT, Blobs) Stream Analytics
  • 22. Transformación (queries) • SQL-Like queries. • Multiple input, multiple outputs. • Agrupamiento basado en ventanas (Tumbling, Hopping, Sliding) Stream Analytics
  • 24. Windowing - conceptos • Agrupamiento basado en ventanas (Tumbling, Hopping, Sliding) • Windows de tamaño fijo • El Timestamp de output representa el fin de la ventana • Requiere agrupamiento. Stream Analytics
  • 25. Tumbling Windows • Cantidad de lecturas de sensor por device cada 10 segundos. Stream Analytics SELECT sensorId, COUNT(*) AS Count FROM SensorReadings TIMESTAMP BY time GROUP BY sensorId, TumblingWindow(second, 10)
  • 26. Hopping Windows • Cada 5 segundos, cantidad de lecturas de sensor y la temperatura promedio en los últimos 10 segundos Stream Analytics SELECT sensorId, COUNT(*) AS Count, AVG(temp) FROM SensorReadings TIMESTAMP BY time GROUP BY sensorId, HoppingWindow(second, 10, 5 )
  • 27. Sliding Windows • Temperatura es mayor a 75 para un total de 5 segundos Stream Analytics SELECT sensorId, MIN(temp) as temp FROM SensorReadings TIMESTAMP BY time GROUP BY sensorId, SlidingWindow(second, 5) HAVING MIN(temp) > 75
  • 28. Outputs • Son el resultado del procesamiento en las queries • Múltiples posibles Stream Analytics
  • 30. Configuración • Event Ordering Policy • Late Arrival tolerance Window • Out of Order tolerance window • Action (Adjust – Drop) Stream Analytics
  • 31. Out of Order/ Late Arrival Stream Analytics En query ...TIMESTAMP BY... Por default: Timestamp by Enqueue timestamp Evento 1 15:43 (-3) Evento 2 15:42 (-3) En query ...TIMESTAMP BY... Evento 3 TIMESTAMP: 15:43:25 (-3) Encolado: 15:43.26 NUEVO TIMESTAMP (AJUSTADO): 15:43:29 (-3) Causas: • Clock Skews • EH Clock Skews • Network Delay
  • 32. Escalabilidad • Escalabildad: • Streaming Units (1 MB/s Cada SU) (Hasta 48) • Pricing: Stream Analytics
  • 33. No tan bueno • Esencial manejo desde el portal • Deployment por PS con json • El SAQL es limitado • Puede tener latencia asociada Stream Analytics
  • 35. ¿Qué es DocumentDB? • Database as a service • NoSql -> • Key-value store • Column store • Graph databases • Document store • Diseñado para aplicaciones escalables y altamente performantes DocumentDb ✔
  • 36. Azure Data Services – antes... DocumentDb Fuente: http://channel9.msdn.com
  • 37. Azure Data Services - después... DocumentDb Fuente: http://channel9.msdn.com
  • 38. Alternativas de terceros: DocumentDb • Más orientadas a IAAS que PAAS • "desventajas" de IAAS: sharding a mano, al igual que la replicación • PAAS -> todo manejado dentro de Azure • Escalabidad on-demand controlada
  • 40. Interacción con DocumentDB DocumentDb • RESTful http interface • SDK (.Net, Node, Python, JS) • Queries -> gramática SQL (extensibilidad con Javascript)
  • 41. Javascript para lógica de negocio DocumentDb • DocumentDb fue escrito pensado y optimizado para Javascript • Se pueden escribir UDF, SP y Triggers en Javascript • Transacciones integradas al lenguaje (los procedures se ejecutan dentro de una transacción implícita)
  • 42. Schema-free DocumentDb • Schema-free REAL • No se definen índices (campos se indizan automáticamente, no hay inferencia de schema) • Posibilidad de customizar los índices
  • 43. Digresión: el teorema CAP DocumentDb• Un sistema distribuido no puede garantizar, simultáneamente: • Consistency • Availability • Partition network tolerance • Con esto en mente, un sistema distribuido puede ser: • "CP" -> consistente pero NO disponible bajo una partición de red • "AP" -> disponible pero NO consistente bajo una partición de red • "CA" -> imposible! {A, B, C} -> {A,B} {C}
  • 44. "tunnable consistency" DocumentDb • 4 niveles de consistencia de datos • Eventual consistency • Strong consistency • Bounded staleness consistency • Session consistency
  • 45. ¿Cómo escala? DocumentDb • Collections -> 10gb de capacidad de storage • Performance levels • RequestUnit (RU) -> mide lo que tarda en procesar un request • 1 RU -> read json de 1kb con 10 properties • Esto asumiendo Session Consistency • x-ms-request-charge se incluye en los responses
  • 46. Quotas DocumentDb • 5 DocumentDB accounts • 100 base de datos por account • 100 colecciones por base de datos • 500.000 usuarios (entre todas las DB) • 25 SP, triggers y UDF (cada uno) por colección • 10GB por colección • Tamaño máximo de documento json: 512KB
  • 48. MVA http://blog.sysfore.com/the-a-z-of-microsoft-azure- services/ Recursos Continúa Aprendiendo Microsoft Virtual Academy http://aka.ms/academia Channel 9 http://aka.ms/canal9