Au-delà du lambda - Programmez!

... https://www.mapr.com/ebooks/intro-to-apache-flink/chapter-6-batch-is-a-special-case-of-streaming.html … Remise ... Kafka Streams, Beam, Apex, Storm, …
展开查看详情

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