- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Au-delà du lambda - Programmez!
展开查看详情
1 .Au-delà du lambda Benjamin Guinebertière Technical Evangelist, Microsoft France @benjguin Vincent Heuschling Fondateur et Architecte , Affini -Tech @vhe74
2 .Introduction
3 .Introduction
4 .L’architecture lambda et sa remise en cause
5 .Big Data / ML - Architecture typique Data Lake Big Data Engines Relational Databases NoSQL Databases API Web Mobile … Machine Learning API BI / DataViz … IOT Social Web logs Enter- prise Sens dans lequel va la donnée (vs sens des appels RPC)
6 .Ingestion données poussées vers un broker: approche de type streaming / « hot path » Donnée poussée vers un stockage: approche compatible avec la plupart des systèmes existants, souvent de type batch / « cold path »
7 .Traitement Plusieurs instances de traitement peuvent travailler sur le même « broker ». Cas d’usages: indexation pour tableau de bord, transformation, curation, file d’attente avant stockage, … Plusieurs instances de traitement peuvent travailler sur le stockage non structuré. Cas d’usages: requêtes ad-hoc sur donnée non préparée, Transformation, …
8 .Préparation Le broker peut être vu comme un “log” que plusieurs solutions peuvent traiter. Cas d’usages: ETL, traitement en continu pour réduction de la latence d’observation En mettant la donnée dans du stockage non structuré, on peut disposer de toute la donnée (pas de schéma), afin d’alimenter les bases SQL et noSQL dont le schéma peut évoluer en ajoutant des champs qui recevront aussi la donnée passée. Un des types de traitement peut être de pousser la donnée vers le stockage
9 .Mise à disposition La mise à disposition via des bases SQL ou noSQL est optimisée ici pour la latence d’observation, mais peut avoir d’autres contraintes. La mise à disposition via des bases SQL, noSQL ou sur les données brutes permet un plus grand nombre de scénarios, au prix d’une latence un peu plus importante.
10 .cold path hot path Architecture Lambda Events storage Near Real Time DB SQL/ noSQL batch query & merge Storage, DB SQL/ noSQL
11 .Schéma à la lecture => je peux tout écrire Schéma à l’écriture => je peux lire rapidement Big Data vs Business Intelligence
12 .broker data lake moteurs de traitement bases de données dataViz Composants fondamentaux du Big Data
13 .broker Event Producers Azure Event Hub > 1M Producers > 1GB/sec Aggregate Throughput Up to 32 partitions via portal, more on request Partitions Direct PartitionKey Hash Throughput Units: 1 ≤ TUs ≤ Partition Count TU: 1 MB/s writes, 2 MB/s reads Consumer Group(s) Receivers AMQP 1.0 Credit-based flow control Client-side cursors Offset by Id or Timestamp Event Processor Host IEventProcessor
14 .HDFS MapR FS Amazon s3 Google File System Azure Blob Storage Azure Data Lake Store data lake Co localité des données cluster à cluster
15 .moteurs de traitement
16 .SQL moteur relationnel permettant tout type de requêtes langage de requêtes SQL noSQL (CQL, …) Hive, Presto, Drill, SparkSQL , … Bases de données NoSQL Scale out colonnes documents clefs/valeurs graphes réparties rapides en écriture rapides en lecture
17 .dataviz
18 .aka.ms/ hellodata
19 .http://bigdatahebdo.azurewebsites.net/episodes/2016/05/16/EP23_Kafka_a_Devoxxfr/ https://engineering.linkedin.com/blog/2016/06/stream-processing-hard-problems-part-1-killing-lambda http://imply.io/post/2016/07/05/exactly-once-streaming-ingestion.html https://www.mapr.com/ebooks/intro-to-apache-flink/chapter-6-batch-is-a-special-case-of-streaming.html … Remise en cause
20 .cold path hot path Architecture non lambda Events events log Near Real Time DB SQL/ noSQL batch query
21 .le streaming et ses challenges
22 .Evénements: Exemple Heure Objet A Objet B 10:00:00 100 2000 10:00:03 1800 10:00:04 85 10:00:07 40 2500 10:00:08 100 10:00:09 3000 Aggrégations : Fenêtre de temps Objet A (somme) Objet B (moyenne) 10:00:05 185 1900 10:00:10 140 2750
23 .un système distribué objet A objet B broker broker broker Moteur de traitement
24 .cas idéal 10:00:00 10:00:01 10:00:02 10:00:03 10:00:04 10:00:05 10:00:06 10:00:07 10:00:08 10:00:09 10:00:10 10:00:11 10:00:12 A,m1,100 A,m4,85 A,m5,40 A,m7,100 B,m2,2000 B,m3,1800 B,m6,2500 B,m8,3000
25 .événements dupliqués 10:00:00 10:00:01 10:00:02 10:00:03 10:00:04 10:00:05 10:00:06 10:00:07 10:00:08 10:00:09 10:00:10 10:00:11 10:00:12 A,m1,100 A,m4,85 A,m5,40 A,m7,100 B,m2,2000 B,m3,1800 B,m6,2500 B,m8,3000 B,m2,2000 A,m1,100 A,m5,40 B,m8,3000 B,m8,3000
26 .événements dans le désordre 10:00:00 10:00:01 10:00:02 10:00:03 10:00:04 10:00:05 10:00:06 10:00:07 10:00:08 10:00:09 10:00:10 10:00:11 10:00:12 A,m1,100 A,m4,85 A,m5,40 A,m7,100 B,m2,2000 B,m3,1800 B,m6,2500 B,m8,3000
27 .événements en retard 10:00:00 10:00:01 10:00:02 10:00:03 10:00:04 10:00:05 10:00:06 10:00:07 10:00:08 10:00:09 10:00:10 10:00:11 10:00:12 A,m1,100 A,m4,85 A,m5,40 A,m7,100 B,m2,2000 B,m3,1800 B,m6,2500 B,m8,3000
28 .Apache Flink
29 .Apache Flink