SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Architecture « Big Data » Open
Source SMACK
Julien Anguenot
VP Software Engineering, iland cloud
Datastax MVP for Apache Cassandra
www.iland.comDRaaS, Cloud Backup, Secure Cloud
Les challenges du Big Data
● Sources multiples de données (internes / externes)
● Taille des données augmente
● Scalabilité et disponibilité
● Les systèmes doivent être distribués (multi-datacenters)
● Hybride (Cloud et sur site)
● Traitement dynamique des données (donnée à un temps « t »)
● Chaîne de traitement de données (pipeline)
● Gestion de systèmes complexes (clusters) distribués
● Coût (technologique et humain)
S.M.A.C.K
● Spark (moteur)
● Mesos (conteneur)
● Akka (modèle)
● Cassandra (stockage)
● Kafka  (agent de
message)
https://www.apache.org/
Kafka
● https://kakfa.apache.org
● Système de messaging distribué
● Publication – Abonnement (« pub-sub »)
● Rapide, durable, évolutif, performant, faible latence
● Développé par Linkedin
● Apache Foundation
Kafka : cas d’utilisation
● Agrégation de logs
● Files d’attente
● Monitoring
● Traitement « temps réel »
Kafka : APIs core (1/2)
● API « producer » 
● API « consumer »
● API « stream »
● API « connector »
https://kafka.apache.org/intro
Kafka : APIs core (2/2)
● API « producer » : publication de données vers un ou
plusieurs brokers (topics) 
● API « consumer » : abonnement et récupération de données
depuis un ou plusieurs brokers
● API « stream » application consomme des données depuis 1
ou plusieurs topics et publient en sortie sur un ou plusieurs
topics. (Processing et transformation)
● API « connector » composants extensibles réutilisables (Akka
Stream par exemple)
Kafka : concepts de base (1/2)
● Les producteurs publient des données vers les
brokers
● Les consommateurs s’abonnent et récupèrent les
données depuis les brokers
Kafka : concepts de base (2/2)
● Kafka tourne en mode cluster
● Le cluster stocke des « streams » de données dans des
topics
● Les topics sont divisés en partitions et répliqués
fonction du facteur de réplication. (configurable)
● Chaque enregistrement contient : clef, valeur et
timestamp
Kafka : les garanties
● Les messages sont ordonnés dans l’ordre dans lequel ils
sont envoyés par le producteur
● Les consommateurs reçoivent les messages dans
l’ordre dans lequel ils sont insérés par le producteur
dans le log
● Les messages sont délivrés au moins 1x
● Si RF = N, N-1 pannes serveurs sans perde de
messages commîtes
Cassandra
● Base de données distribuée « orientée colonnes »
● Google Big Table (modèle de données)
● Amazon's Dynamo (architecture distribuées)
● Réplication multi data-center native (Cloud et sur site)
● Fini le sharding
● Faible latence en écriture
● Large volume de données
● Élasticité : scalabilité linéaire
● Haute dispo : Pas de master / slave == pas de SPOF
● http://cassandra.apache.org/
Pourquoi utiliser Cassandra ?
● Déploiements massifs
● Beaucoup d’écritures
● Application distribuée géographiquement
● Application a besoin d’évoluer
http://www.datastax.com/
Comment ça marche ?
● Écriture séquentielle dans un commit log (fichier)
● Indexation et écriture en mémoire dans des memtables
● Sérialisation des données sur disque dans des SSTables
● Les données sont alors partitionnées et répliquer
automatiquement dans le cluster
● SSTables sont consolidées (fonction de la stratégie) par des
compactions et nettoie les tombsones
● Les repairs garantissent la consistance du cluster
Cassandra : l’abstraction
● Cluster
● Data-center
● Racks
● Serveurs (l’instance Cassandra)
● Vnodes (Abstraction de stockage)
Cassandra : modèle de données
● Keyspace
● Table
● Primary Key
● Index
Cassandra : CQL
● Cassandra Query Language (CQL)
● Remplace Thrift
● CQL ressemble à du SQL
● DDL (CREATE, ALTER, DROP)
● DML (INSERT, UPDATE, DELETE, TRUNCATE)
● Query (SELECT)
● Types assez riches et similaires à SQL
● Drivers et cqlsh
lectures
● Dynamo: Amazon’s Highly Distributed Key-Value
Store:)
http://www.allthingsdistributed.com/2007/10/amazons_
dynamo.html
● Brewer's CAP theorem :
https://fenix.tecnico.ulisboa.pt/downloadFile/11265183
82178117/10.e-CAP-3.pdf
Spark
● Moteur générique performant pour larges sources de
données distribuées
● Framework complet et unifié (type de données et sources de
données)
● MapReduce ++
● Utilisation mémoire et CPU vs disque et réseau (Hadoop)
● Java, Scala, Python, Closure et R
● https://spark.apache.org/
https://databricks.com/spark/about
Spark : l’écosystème
● Spark Streaming : traitement temps-réel des données
en flux (Dstream, RDD (Resilient Distributed Dataset)
● Spark SQL : expose des données Spark par API JDBC –
SQL, BI etc. - données extraite en JSON, Parquet, etc.
● Spark Mlib : bibliothèque de machine learning –
classification, regression, clustering, reduction etc.
● Spark GraphX : API pour traitement graphs –
extensions des RDD
En particulier
● Spark Cassandra Connector :
https://github.com/datastax/spark-cassandra-con
nector
● Spark Streaming + Kafka :
http://spark.apache.org/docs/latest/streaming-kaf
ka-0-10-integration.html
Spark : les jobs
● Standalone
● Mesos
● YARN
Spark & Hadoop
● Spark ne remplace pas Hadoop
● Spark et Hadoop fonctionne très bien ensemble
● Hadoop peut être utiliser comme stockage de données
distribuées (vs Cassandra)
● Spark beaucoup plus rapide que Hadoop pour les
traitement en mémoire
● « fast-data> vs « slow-data »
Akka
● http://akka.io/
● Toolkit et runtime pour applications concurrentes,
distribuées, résilientes et « event-driven » sur JVM
● Java & Scala : bibliothèque (JAR) ou natif SBT
● Reactive manifesto : http://www.reactivemanifesto.org/
● « Actor model »
● http://akka.io/
« Actor model »
● Distribué
● Parallèle
● Async
● « Non-blocking »
● Tolérant à la panne : superviseur et « let it crash » sémantique
● Le système peut tourner en multi-JVM
● Changements d’état du système peuvent être sauvegardés
● Peu de place en HEP pour des millions d’acteurs
Akka et Kafka
● Akka Streams : Kafka « Connector »
http://doc.akka.io/docs/akka-stream-and-http-experiment
al/current/
● Reactive Kafka :
https://github.com/softwaremill/reactive-kafka
Mesos
● Gestion de cluster pour environnements distribués
● Abstraction (Physique, VM, Conteneur Docker) et unification de
l’ensemble des ressources : CPU, mémoire, disque
● Allocation dynamique de ressources
● Gestion de l’exécution des tâches
● Isolation des ressources
● Tolérant à la panne
● Optimisation des ressources et des coûts
● http://mesos.apache.org/
Google « Borg »
● Google « Borg » white paper :
http://research.google.com/pubs/pub43438.
html
● Site Reliability Engineering - How Google
Runs Production Systems :
http://shop.oreilly.com/product/0636920041
528.do
Mesos : concepts de base (1/2)
● Le master daemon gère des agents (slaves) qui tournent sur chaque
nœuds du cluster
● Le master gère le partage des ressources (CPU, RAM, Disque) entre les
frameworks et leur fait des « resource offer » (CPU : X, RAM : Y,
DISQUE : Y)
● Le framework a 2 composants : scheduler et executor
● Scheduler : s’inscrit sur le master pour recevoir des offres de
ressources
● Executor : exécuté sur l’agent par le master et lance les tâches du
framework
Mesos : concepts de base (2/2)
http://mesos.apache.org/documentation/latest/architecture/
Mesos : resource offer
http://mesos.apache.org/documentation/latest/architecture/
Services (vs tâches) ?
● Apache Aurora :
● http://aurora.apache.org/
Mesos & conteneurs ?
● Marathon : orchestration de conteneurs
https://github.com/mesosphere/marathon
● cgroups ou Docker
● DC/OS :
https://dcos.io/get-started/#marathon
● Google Kubernete :
● https://github.com/mesosphere/kubernetes-mesos
En résumé, SMACK c’est …
● Un ensemble de logiciels stables et Open Source
● Déploiement Cloud ou sur site
● Une plateforme unique pour adresser une multitudes de cas
d’utilisation pour des applications orientées vers le traitement
« temps réel » de large volume de données
● Scalabilité et réplication des données avec une faible latence
● Gestion unifiée du cluster
● Prototypage rapide et à moindre coût
Questions
@anguenot www.iland.com
http://slideshare.net/anguenot/

Contenu connexe

Tendances

MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
 
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...Cathrine Wilhelmsen
 
Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi
 Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi
Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng ShiDatabricks
 
How Kafka Powers the World's Most Popular Vector Database System with Charles...
How Kafka Powers the World's Most Popular Vector Database System with Charles...How Kafka Powers the World's Most Popular Vector Database System with Charles...
How Kafka Powers the World's Most Popular Vector Database System with Charles...HostedbyConfluent
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfSrirakshaSrinivasan2
 
Four Things to Know About Reliable Spark Streaming with Typesafe and Databricks
Four Things to Know About Reliable Spark Streaming with Typesafe and DatabricksFour Things to Know About Reliable Spark Streaming with Typesafe and Databricks
Four Things to Know About Reliable Spark Streaming with Typesafe and DatabricksLegacy Typesafe (now Lightbend)
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialKenny Gryp
 
bigquery.pptx
bigquery.pptxbigquery.pptx
bigquery.pptxHarissh16
 
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~Shinnosuke Akita
 
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...Streamline Data Governance with Egeria: The Industry's First Open Metadata St...
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...DataWorks Summit
 
Data discovery & metadata management (amundsen installation)
Data discovery & metadata management (amundsen installation)Data discovery & metadata management (amundsen installation)
Data discovery & metadata management (amundsen installation)창언 정
 
Stumbling stones when migrating from Oracle
 Stumbling stones when migrating from Oracle Stumbling stones when migrating from Oracle
Stumbling stones when migrating from OracleEDB
 
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...Cloudera, Inc.
 
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドオラクルエンジニア通信
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerDatabricks
 

Tendances (20)

DataGuard体験記
DataGuard体験記DataGuard体験記
DataGuard体験記
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
 
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...
Pipelines and Data Flows: Introduction to Data Integration in Azure Synapse A...
 
Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi
 Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi
Apache Kylin: Speed Up Cubing with Apache Spark with Luke Han and Shaofeng Shi
 
How Kafka Powers the World's Most Popular Vector Database System with Charles...
How Kafka Powers the World's Most Popular Vector Database System with Charles...How Kafka Powers the World's Most Popular Vector Database System with Charles...
How Kafka Powers the World's Most Popular Vector Database System with Charles...
 
FLiP Into Trino
FLiP Into TrinoFLiP Into Trino
FLiP Into Trino
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Four Things to Know About Reliable Spark Streaming with Typesafe and Databricks
Four Things to Know About Reliable Spark Streaming with Typesafe and DatabricksFour Things to Know About Reliable Spark Streaming with Typesafe and Databricks
Four Things to Know About Reliable Spark Streaming with Typesafe and Databricks
 
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )
 
MySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn TutorialMySQL Group Replication - HandsOn Tutorial
MySQL Group Replication - HandsOn Tutorial
 
bigquery.pptx
bigquery.pptxbigquery.pptx
bigquery.pptx
 
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
障害とオペミスに備える! ~Oracle Databaseのバックアップを考えよう~
 
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...Streamline Data Governance with Egeria: The Industry's First Open Metadata St...
Streamline Data Governance with Egeria: The Industry's First Open Metadata St...
 
Data discovery & metadata management (amundsen installation)
Data discovery & metadata management (amundsen installation)Data discovery & metadata management (amundsen installation)
Data discovery & metadata management (amundsen installation)
 
Stumbling stones when migrating from Oracle
 Stumbling stones when migrating from Oracle Stumbling stones when migrating from Oracle
Stumbling stones when migrating from Oracle
 
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
Part 2: Apache Kudu: Extending the Capabilities of Operational and Analytic D...
 
Oracle GoldenGate FAQ
Oracle GoldenGate FAQOracle GoldenGate FAQ
Oracle GoldenGate FAQ
 
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイドOracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate for Big Data 12.2 セットアップガイド
 
Building Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics PrimerBuilding Lakehouses on Delta Lake with SQL Analytics Primer
Building Lakehouses on Delta Lake with SQL Analytics Primer
 

En vedette

Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...
Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...
Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...Anton Kirillov
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonStreaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonSpark Summit
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...DataStax
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsJulien Anguenot
 
SMACK Stack 1.1
SMACK Stack 1.1SMACK Stack 1.1
SMACK Stack 1.1Joe Stein
 
Data processing platforms with SMACK: Spark and Mesos internals
Data processing platforms with SMACK:  Spark and Mesos internalsData processing platforms with SMACK:  Spark and Mesos internals
Data processing platforms with SMACK: Spark and Mesos internalsAnton Kirillov
 
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...DataStax
 
Laying down the smack on your data pipelines
Laying down the smack on your data pipelinesLaying down the smack on your data pipelines
Laying down the smack on your data pipelinesPatrick McFadin
 
Kick-Start with SMACK Stack
Kick-Start with SMACK StackKick-Start with SMACK Stack
Kick-Start with SMACK StackKnoldus Inc.
 
Sa introduction to big data pipelining with cassandra & spark west mins...
Sa introduction to big data pipelining with cassandra & spark   west mins...Sa introduction to big data pipelining with cassandra & spark   west mins...
Sa introduction to big data pipelining with cassandra & spark west mins...Simon Ambridge
 
Real-Time Anomaly Detection with Spark MLlib, Akka and Cassandra
Real-Time Anomaly Detection  with Spark MLlib, Akka and  CassandraReal-Time Anomaly Detection  with Spark MLlib, Akka and  Cassandra
Real-Time Anomaly Detection with Spark MLlib, Akka and CassandraNatalino Busa
 
Reactive dashboard’s using apache spark
Reactive dashboard’s using apache sparkReactive dashboard’s using apache spark
Reactive dashboard’s using apache sparkRahul Kumar
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaHelena Edelson
 
[若渴計畫2015.8.18] SMACK
[若渴計畫2015.8.18] SMACK[若渴計畫2015.8.18] SMACK
[若渴計畫2015.8.18] SMACKAj MaChInE
 
Hundreds of queries in the time of one - Gianmario Spacagna
Hundreds of queries in the time of one - Gianmario SpacagnaHundreds of queries in the time of one - Gianmario Spacagna
Hundreds of queries in the time of one - Gianmario SpacagnaSpark Summit
 
Apache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentialsApache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentialsJulien Anguenot
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostAlexander DEJANOVSKI
 
eBay Experimentation Platform on Hadoop
eBay Experimentation Platform on HadoopeBay Experimentation Platform on Hadoop
eBay Experimentation Platform on HadoopTony Ng
 
Apache phoenix: Past, Present and Future of SQL over HBAse
Apache phoenix: Past, Present and Future of SQL over HBAseApache phoenix: Past, Present and Future of SQL over HBAse
Apache phoenix: Past, Present and Future of SQL over HBAseenissoz
 
Cassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentialsCassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentialsJulien Anguenot
 

En vedette (20)

Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...
Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...
Data processing platforms architectures with Spark, Mesos, Akka, Cassandra an...
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena EdelsonStreaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
Streaming Analytics with Spark, Kafka, Cassandra and Akka by Helena Edelson
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 
SMACK Stack 1.1
SMACK Stack 1.1SMACK Stack 1.1
SMACK Stack 1.1
 
Data processing platforms with SMACK: Spark and Mesos internals
Data processing platforms with SMACK:  Spark and Mesos internalsData processing platforms with SMACK:  Spark and Mesos internals
Data processing platforms with SMACK: Spark and Mesos internals
 
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...
Webinar - How to Build Data Pipelines for Real-Time Applications with SMACK &...
 
Laying down the smack on your data pipelines
Laying down the smack on your data pipelinesLaying down the smack on your data pipelines
Laying down the smack on your data pipelines
 
Kick-Start with SMACK Stack
Kick-Start with SMACK StackKick-Start with SMACK Stack
Kick-Start with SMACK Stack
 
Sa introduction to big data pipelining with cassandra & spark west mins...
Sa introduction to big data pipelining with cassandra & spark   west mins...Sa introduction to big data pipelining with cassandra & spark   west mins...
Sa introduction to big data pipelining with cassandra & spark west mins...
 
Real-Time Anomaly Detection with Spark MLlib, Akka and Cassandra
Real-Time Anomaly Detection  with Spark MLlib, Akka and  CassandraReal-Time Anomaly Detection  with Spark MLlib, Akka and  Cassandra
Real-Time Anomaly Detection with Spark MLlib, Akka and Cassandra
 
Reactive dashboard’s using apache spark
Reactive dashboard’s using apache sparkReactive dashboard’s using apache spark
Reactive dashboard’s using apache spark
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and Akka
 
[若渴計畫2015.8.18] SMACK
[若渴計畫2015.8.18] SMACK[若渴計畫2015.8.18] SMACK
[若渴計畫2015.8.18] SMACK
 
Hundreds of queries in the time of one - Gianmario Spacagna
Hundreds of queries in the time of one - Gianmario SpacagnaHundreds of queries in the time of one - Gianmario Spacagna
Hundreds of queries in the time of one - Gianmario Spacagna
 
Apache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentialsApache Cassandra multi-datacenter essentials
Apache Cassandra multi-datacenter essentials
 
Big Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez ChronopostBig Data Paris 2015 - Cassandra chez Chronopost
Big Data Paris 2015 - Cassandra chez Chronopost
 
eBay Experimentation Platform on Hadoop
eBay Experimentation Platform on HadoopeBay Experimentation Platform on Hadoop
eBay Experimentation Platform on Hadoop
 
Apache phoenix: Past, Present and Future of SQL over HBAse
Apache phoenix: Past, Present and Future of SQL over HBAseApache phoenix: Past, Present and Future of SQL over HBAse
Apache phoenix: Past, Present and Future of SQL over HBAse
 
Cassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentialsCassandra multi-datacenter operations essentials
Cassandra multi-datacenter operations essentials
 

Similaire à Architecture Big Data open source S.M.A.C.K

Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingVictor Coustenoble
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesosebiznext
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.xDr Hajji Hicham
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribuesLê Anh
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in ParisTed Drake
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysVictor Coustenoble
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxAnass Nabil
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.pptIdriss22
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptxmajdoulineaitabdelal
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big dataacogoluegnes
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackMicrosoft Décideurs IT
 

Similaire à Architecture Big Data open source S.M.A.C.K (20)

Datastax Cassandra + Spark Streaming
Datastax Cassandra + Spark StreamingDatastax Cassandra + Spark Streaming
Datastax Cassandra + Spark Streaming
 
Realtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et MesosRealtime Web avec Kafka, Spark et Mesos
Realtime Web avec Kafka, Spark et Mesos
 
Distributed computing with Spark 2.x
Distributed computing with Spark 2.xDistributed computing with Spark 2.x
Distributed computing with Spark 2.x
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribues
 
Hadoop Introduction in Paris
Hadoop Introduction in ParisHadoop Introduction in Paris
Hadoop Introduction in Paris
 
DataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft TechdaysDataStax et Cassandra dans Azure au Microsoft Techdays
DataStax et Cassandra dans Azure au Microsoft Techdays
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Spark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptxSpark - An In-Memory Distributed Computing Engine.pptx
Spark - An In-Memory Distributed Computing Engine.pptx
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.ppt
 
160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx160813-technology-template-16x9.pptx
160813-technology-template-16x9.pptx
 
Cartographie du big data
Cartographie du big dataCartographie du big data
Cartographie du big data
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
REX Ansible
REX AnsibleREX Ansible
REX Ansible
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
 
Inf208
Inf208Inf208
Inf208
 

Architecture Big Data open source S.M.A.C.K

  • 1. Architecture « Big Data » Open Source SMACK
  • 2. Julien Anguenot VP Software Engineering, iland cloud Datastax MVP for Apache Cassandra
  • 4. Les challenges du Big Data ● Sources multiples de données (internes / externes) ● Taille des données augmente ● Scalabilité et disponibilité ● Les systèmes doivent être distribués (multi-datacenters) ● Hybride (Cloud et sur site) ● Traitement dynamique des données (donnée à un temps « t ») ● Chaîne de traitement de données (pipeline) ● Gestion de systèmes complexes (clusters) distribués ● Coût (technologique et humain)
  • 5. S.M.A.C.K ● Spark (moteur) ● Mesos (conteneur) ● Akka (modèle) ● Cassandra (stockage) ● Kafka  (agent de message)
  • 7.
  • 8. Kafka ● https://kakfa.apache.org ● Système de messaging distribué ● Publication – Abonnement (« pub-sub ») ● Rapide, durable, évolutif, performant, faible latence ● Développé par Linkedin ● Apache Foundation
  • 9. Kafka : cas d’utilisation ● Agrégation de logs ● Files d’attente ● Monitoring ● Traitement « temps réel »
  • 10. Kafka : APIs core (1/2) ● API « producer »  ● API « consumer » ● API « stream » ● API « connector » https://kafka.apache.org/intro
  • 11. Kafka : APIs core (2/2) ● API « producer » : publication de données vers un ou plusieurs brokers (topics)  ● API « consumer » : abonnement et récupération de données depuis un ou plusieurs brokers ● API « stream » application consomme des données depuis 1 ou plusieurs topics et publient en sortie sur un ou plusieurs topics. (Processing et transformation) ● API « connector » composants extensibles réutilisables (Akka Stream par exemple)
  • 12. Kafka : concepts de base (1/2) ● Les producteurs publient des données vers les brokers ● Les consommateurs s’abonnent et récupèrent les données depuis les brokers
  • 13. Kafka : concepts de base (2/2) ● Kafka tourne en mode cluster ● Le cluster stocke des « streams » de données dans des topics ● Les topics sont divisés en partitions et répliqués fonction du facteur de réplication. (configurable) ● Chaque enregistrement contient : clef, valeur et timestamp
  • 14. Kafka : les garanties ● Les messages sont ordonnés dans l’ordre dans lequel ils sont envoyés par le producteur ● Les consommateurs reçoivent les messages dans l’ordre dans lequel ils sont insérés par le producteur dans le log ● Les messages sont délivrés au moins 1x ● Si RF = N, N-1 pannes serveurs sans perde de messages commîtes
  • 15. Cassandra ● Base de données distribuée « orientée colonnes » ● Google Big Table (modèle de données) ● Amazon's Dynamo (architecture distribuées) ● Réplication multi data-center native (Cloud et sur site) ● Fini le sharding ● Faible latence en écriture ● Large volume de données ● Élasticité : scalabilité linéaire ● Haute dispo : Pas de master / slave == pas de SPOF ● http://cassandra.apache.org/
  • 16. Pourquoi utiliser Cassandra ? ● Déploiements massifs ● Beaucoup d’écritures ● Application distribuée géographiquement ● Application a besoin d’évoluer
  • 18. Comment ça marche ? ● Écriture séquentielle dans un commit log (fichier) ● Indexation et écriture en mémoire dans des memtables ● Sérialisation des données sur disque dans des SSTables ● Les données sont alors partitionnées et répliquer automatiquement dans le cluster ● SSTables sont consolidées (fonction de la stratégie) par des compactions et nettoie les tombsones ● Les repairs garantissent la consistance du cluster
  • 19. Cassandra : l’abstraction ● Cluster ● Data-center ● Racks ● Serveurs (l’instance Cassandra) ● Vnodes (Abstraction de stockage)
  • 20. Cassandra : modèle de données ● Keyspace ● Table ● Primary Key ● Index
  • 21. Cassandra : CQL ● Cassandra Query Language (CQL) ● Remplace Thrift ● CQL ressemble à du SQL ● DDL (CREATE, ALTER, DROP) ● DML (INSERT, UPDATE, DELETE, TRUNCATE) ● Query (SELECT) ● Types assez riches et similaires à SQL ● Drivers et cqlsh
  • 22. lectures ● Dynamo: Amazon’s Highly Distributed Key-Value Store:) http://www.allthingsdistributed.com/2007/10/amazons_ dynamo.html ● Brewer's CAP theorem : https://fenix.tecnico.ulisboa.pt/downloadFile/11265183 82178117/10.e-CAP-3.pdf
  • 23. Spark ● Moteur générique performant pour larges sources de données distribuées ● Framework complet et unifié (type de données et sources de données) ● MapReduce ++ ● Utilisation mémoire et CPU vs disque et réseau (Hadoop) ● Java, Scala, Python, Closure et R ● https://spark.apache.org/
  • 25. Spark : l’écosystème ● Spark Streaming : traitement temps-réel des données en flux (Dstream, RDD (Resilient Distributed Dataset) ● Spark SQL : expose des données Spark par API JDBC – SQL, BI etc. - données extraite en JSON, Parquet, etc. ● Spark Mlib : bibliothèque de machine learning – classification, regression, clustering, reduction etc. ● Spark GraphX : API pour traitement graphs – extensions des RDD
  • 26. En particulier ● Spark Cassandra Connector : https://github.com/datastax/spark-cassandra-con nector ● Spark Streaming + Kafka : http://spark.apache.org/docs/latest/streaming-kaf ka-0-10-integration.html
  • 27. Spark : les jobs ● Standalone ● Mesos ● YARN
  • 28. Spark & Hadoop ● Spark ne remplace pas Hadoop ● Spark et Hadoop fonctionne très bien ensemble ● Hadoop peut être utiliser comme stockage de données distribuées (vs Cassandra) ● Spark beaucoup plus rapide que Hadoop pour les traitement en mémoire ● « fast-data> vs « slow-data »
  • 29. Akka ● http://akka.io/ ● Toolkit et runtime pour applications concurrentes, distribuées, résilientes et « event-driven » sur JVM ● Java & Scala : bibliothèque (JAR) ou natif SBT ● Reactive manifesto : http://www.reactivemanifesto.org/ ● « Actor model » ● http://akka.io/
  • 30. « Actor model » ● Distribué ● Parallèle ● Async ● « Non-blocking » ● Tolérant à la panne : superviseur et « let it crash » sémantique ● Le système peut tourner en multi-JVM ● Changements d’état du système peuvent être sauvegardés ● Peu de place en HEP pour des millions d’acteurs
  • 31. Akka et Kafka ● Akka Streams : Kafka « Connector » http://doc.akka.io/docs/akka-stream-and-http-experiment al/current/ ● Reactive Kafka : https://github.com/softwaremill/reactive-kafka
  • 32. Mesos ● Gestion de cluster pour environnements distribués ● Abstraction (Physique, VM, Conteneur Docker) et unification de l’ensemble des ressources : CPU, mémoire, disque ● Allocation dynamique de ressources ● Gestion de l’exécution des tâches ● Isolation des ressources ● Tolérant à la panne ● Optimisation des ressources et des coûts ● http://mesos.apache.org/
  • 33. Google « Borg » ● Google « Borg » white paper : http://research.google.com/pubs/pub43438. html ● Site Reliability Engineering - How Google Runs Production Systems : http://shop.oreilly.com/product/0636920041 528.do
  • 34. Mesos : concepts de base (1/2) ● Le master daemon gère des agents (slaves) qui tournent sur chaque nœuds du cluster ● Le master gère le partage des ressources (CPU, RAM, Disque) entre les frameworks et leur fait des « resource offer » (CPU : X, RAM : Y, DISQUE : Y) ● Le framework a 2 composants : scheduler et executor ● Scheduler : s’inscrit sur le master pour recevoir des offres de ressources ● Executor : exécuté sur l’agent par le master et lance les tâches du framework
  • 35. Mesos : concepts de base (2/2) http://mesos.apache.org/documentation/latest/architecture/
  • 37. Services (vs tâches) ? ● Apache Aurora : ● http://aurora.apache.org/
  • 38. Mesos & conteneurs ? ● Marathon : orchestration de conteneurs https://github.com/mesosphere/marathon ● cgroups ou Docker ● DC/OS : https://dcos.io/get-started/#marathon ● Google Kubernete : ● https://github.com/mesosphere/kubernetes-mesos
  • 39. En résumé, SMACK c’est … ● Un ensemble de logiciels stables et Open Source ● Déploiement Cloud ou sur site ● Une plateforme unique pour adresser une multitudes de cas d’utilisation pour des applications orientées vers le traitement « temps réel » de large volume de données ● Scalabilité et réplication des données avec une faible latence ● Gestion unifiée du cluster ● Prototypage rapide et à moindre coût