1
BenchmarkingNoSQL DataBase dans le cadre d’un projet IoT
2
Système IoT
IoT représente l'extension d'Internet à des choses et à des lieux du monde physique. Alors qu'Internet ne se...
3
Les modèles de données Big-Data
Colonne – Clé/Valeur – Document -Graphe
Colonne
Apache Cassandra,
Hbase, BigTable
Key-Va...
4
Modèles des données en détails
Extensibiltés des modèles
Modèle “Colonne”
Ce modèle ressemble à première vue à une table...
5
mongoDB
mongoDB est un produit
De MongoDB, Inc
Version actuelle : 2.6.7
www.mongodb.org
Cassandra
Cassandra est un produ...
6
MongoDB vs Cassandra vs Couchbase
Caractèristiques techniques
MongoDB Cassandra Couchbase
Catégorie Base de données Base...
7
MongoDB
FLEXIBILITE – SCALABILITE – PERFORMANCE- EXPRESSIVE – INDEXATION - COMMUNITE
FLEXIBILITE
Le modèle de données de...
8
Apache Cassandra
FLEXIBILITE - SCALABILITE – PERFORMANCE - DISTRIBUTION – SIMPLICITE - TRANSACTION
FLEXIBILITE
Avec des ...
9
Couchbase
FLEXIBILITE - SCALABILITE – PERFORMANCE – MOBILITE – TEMPS REEL - ADMINISTRATION
FLEXIBILITE
Des cross-data co...
10
Environnement documentale de test
Fichiers JSON - Fichiers CSV
10.000 Documents
10 Milles documents, avec un
fichier de...
11
Env-logiciels
Les logiciels utilisés sont:
MongoVue, DevOpsCenter, la
console Web de Couchebase
en mode graphique, la
c...
12
Nombre total de documents importer en occurence
Comportement des databases pendant l’import massive de données
13
Import des fichiers CSV dans la base de données
Latence pour les operations d’imports des données au format CSV
14
Lecture d’un flot de données - Read
Latence des réponses pour les operations de lecture des résultats d’un flot de donn...
15
Lecture d’un seul document – Find By
Latence des réponses pour les operations de lecture des résultats d’un seul élément
16
Insertion d’un document – Create
Latence des réponses pour les operations de création d’un élément
17
Mise à jour d’un document - Update
Latence des réponses pour les operations de mise à jour d’un document
18
Suppression d’un document - Delete
Latence des réponses pour les operations de suppression d’un document
19
Récapitulatif des résultats
Classement des moteurs NoSQL selon leurs statistiques pour un déployement dans un système I...
20
Bibliographies
Liens externes – Téléchargement - Mots clés
MongoDB: www.mongodb.org
Téléchargement: www.mongodb.org/dow...
21
A propos
Pour vos remarques et suggéstions
ALLAOUI Chaker
Senior MEAN & Big Data Developer
Mail: chaker.allaoui@opcma-t...
Prochain SlideShare
Chargement dans…5
×

Benchmarking NoSQL DataBase dans le cadre d'un projet IoT

1 250 vues

Publié le

Benchmarking NoSQL DataBase dans le cadre d'un projet IoT: MongoDB, Apache Cassandra, CouchBase

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 250
Sur SlideShare
0
Issues des intégrations
0
Intégrations
133
Actions
Partages
0
Téléchargements
42
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Benchmarking NoSQL DataBase dans le cadre d'un projet IoT

  1. 1. 1 BenchmarkingNoSQL DataBase dans le cadre d’un projet IoT
  2. 2. 2 Système IoT IoT représente l'extension d'Internet à des choses et à des lieux du monde physique. Alors qu'Internet ne se prolonge habituellement pas au-delà du monde électronique, l'internet des objets (IdO, ou IoT pour Internet of Things en anglais) représente les échanges d'informations et de données provenant de dispositifs présents dans le monde réel vers le réseau Internet. L'internet des objets est considéré comme la troisième évolution de l'Internet, baptisée Web 3.0 (parfois perçu comme la généralisation du Web des Objets mais aussi comme celle du Web sémantique) qui fait suite à l'ère du Web Social. L'internet des objets est en partie responsable de l'accroissement du volume de données générées sur le réseau, à l'origine du Big Data. L'internet des objets revêt un caractère universel pour désigner des objets connectés aux usages variés, dans le domaine de la e-santé, de la domotique ou du Quantified Self. fr.wikipedia.org
  3. 3. 3 Les modèles de données Big-Data Colonne – Clé/Valeur – Document -Graphe Colonne Apache Cassandra, Hbase, BigTable Key-Value Couchbase, Redis, Memcached Document mongoDB, Couchbase, Riak Graphe Model: Ce modèle de représentation des données se base sur la théorie des graphes. Il s’appuie sur la notion de nœuds, de relations et de propriétés qui leur sont rattachées. Ce modèle facilite la représentation du monde réel, ce qui le rend adapté au traitement des données des réseaux sociaux. La principale solution est Neo4J. Remarque: ce modèle semble n’est pas être celui qui réponds aux mieux aux attentes exigés des systèmes IoT.
  4. 4. 4 Modèles des données en détails Extensibiltés des modèles Modèle “Colonne” Ce modèle ressemble à première vue à une table dans un SGBDR à la différence qu’avec une BD NoSQL orientée colonne, le nombre de colonnes est dynamique. En effet, dans une table relationnelle, le nombre de colonnes est fixé dés la création du schéma de la table et ce nombre reste le même pour tous les enregistrements dans cette table. Modèle “Clé-Valeur” Ce modèle peut être assimilé à une hashmap distribuée. Les données sont, donc, simplement représentées par un couple clé/valeur. La valeur peut être une simple chaîne de caractères, un objet sérialisé… Cette absence de structure ou de typage ont un impact important sur le requêtage. Modèle “Document” Ce modèle se base sur le paradigme clé valeur. La valeur, dans ce cas, est un document de type JSON ou XML. L’avantage est de pouvoir récupérer, via une seule clé, un ensemble d’informations structurées de manière hiérarchique. La même opération dans le monde relationnel impliquerait plusieurs jointures.
  5. 5. 5 mongoDB mongoDB est un produit De MongoDB, Inc Version actuelle : 2.6.7 www.mongodb.org Cassandra Cassandra est un produit de DATASTAX & Apache foundation Version actuelle : 2.0.12 www.planetcassandra.org Couchbase Couchbase est un produit de Couchbase, Inc, Version actuelle : 3.0.2 www.couchbase.com NoSQL DataBase Open sources et leaders
  6. 6. 6 MongoDB vs Cassandra vs Couchbase Caractèristiques techniques MongoDB Cassandra Couchbase Catégorie Base de données Base de données Base de données Licence AGPLv3 Apache Licence 2 Apache Licence 2 Model des données Document Colonnes, key/Value Key/Value, Document Storage des données Système de fichiers RAM, Disque dûr Système de fichiers Langage de manipulation API, REST, JavaScript API, Thrift protocol Memcached, REST, JavaScript Types de données JSON, BSON, BLOB JSON, BLOB JSON, BLOB Map Reduce OK OK OK Compression OK OK OK Intégrité de modèle Base Base MVCC Atomicité NON OK Conditionnel Indexation OK OK OK Recherche Full text OK NON OK Replication & Sharding OK OK OK
  7. 7. 7 MongoDB FLEXIBILITE – SCALABILITE – PERFORMANCE- EXPRESSIVE – INDEXATION - COMMUNITE FLEXIBILITE Le modèle de données de document de MongoDB rend facile pour vous le stockage des données de n'importe quelle structure et permet de modifier dynamiquement vos schémas de base de données NoSQL. SCALABILITE Augmentez proportionnellement ou à l'échelle horizontale, un simple serveur aux milliers de nœuds. Déployez dans le Cloud et à travers des multiples data-centers. PERFORMANCE Systèmes très performants exécutés à échelle. Réalise des millions d'opérations par seconde. Il diminue ainsi le charge du travail pour les opérations de lectures ou écritures des données. EXPRESSIVE Le langage d'interrogation de données de MongoDB fournit des opérateurs de niveau de supérieur pour des mises à jour sur place. Les conducteurs pour à peu près tout les langages de programmation informatiques, tels que: Java, PHP, NodeJS, C#... INDEXATION L'accès rapide, au grain fin aux données, y compris des index entièrement cohérents sur n'importe quel champ, aussi bien que géospatial, qu’un texte de recherche et des index de types TTL. COMMUNITE MongoDB à l’avantage de possèder une grande communauté de développeurs et DBA connaissant une forte croissance, celle la plus rapide du monde de NoSQL, et scindé derrière leur logiciel pour assurer son succès, fournissant le logiciel des services pour rendre la vie plus facile aux développeurs. www.mongodb.org
  8. 8. 8 Apache Cassandra FLEXIBILITE - SCALABILITE – PERFORMANCE - DISTRIBUTION – SIMPLICITE - TRANSACTION FLEXIBILITE Avec des données, semi-structuré et peu structuré, qui passe en courant dans des demandes des applications modernes d'aujourd'hui. Aussi satisfait dynamiquement des changements de vos structures de données quand vos besoins de données se développent. SCALABILITE Vous permet de facilement ajouter la capacité en ligne pour accueillir plus de clients et plus de données quand vous avez besoin. Ajout des nœuds et des clusters à la volée sans le besoin de redémarrer un serveur Cassandra PERFORMANCE Avec des réponse ultra-court face aux opérations de CRUD et avec une courbe linéaire de montée en charge par rapport à l’axe de temps qui permet de doublez les nœuds pour garantir une réponse conformes aux attentes de vos clients. DISTRIBUTION Vous donne la flexibilité maximale pour distribuer des données où vous avez besoin en reproduisant des données à travers des data- centers multiples, comme dans le Cloud public et privés dans lesquels deviennent des environnements de déploiement extrêmement communs. SIMPLICITE Avec tous l’incorporation des plusieurs nœuds dans un groupe ou cluster master, il n'y a aucune configuration complexe a mettre en œuvre, ainsi la gérance des rôles d'administration devient grandement simplifiée. TRANSACTION L'atomicité, l'isolement et la durabilité conforme au modèle ACID par le biais des journaux de logs assurent la durabilité de données en cas des échecs de matériel, aussi bien que l'isolement de transaction, l'atomicité, avec une cohérence et consistance élevée. www.planetcassandra.org
  9. 9. 9 Couchbase FLEXIBILITE - SCALABILITE – PERFORMANCE – MOBILITE – TEMPS REEL - ADMINISTRATION FLEXIBILITE Des cross-data configurables pour une réplication, y compris actif/actif, pour une implémentation à grand échelle dans des cloud publics ou privés. SCALABILITE Ajoutez ou enlevez des nœuds dans un cluster à la demande grâce à un partage de l'architecture et avec aucun point d'échec. PERFORMANCE Un système de cache intégré, en occurrence Memcached qui assure pendant une basse latence l'accès aux données avec ou sans verrouillage pour assurer les opérations d’I/O au niveau des différents nœuds et cluster. MOBILITE Une base de données incorporée pour portable et demandes des applications IoT pour accès hors connexion et synchronisation automatique. TEMPS REEL L'intégration avec Hadoop, Elasticsearch et une API pour des données en continu pour prendre d'assaut pour l'analytique en temps réel. ADMINISTRATION Une administration intégrée en console et l'API scripting avec un large de groupe contrôle pour gérer de grands déploiements. www.couchbase.com
  10. 10. 10 Environnement documentale de test Fichiers JSON - Fichiers CSV 10.000 Documents 10 Milles documents, avec un fichier de taille: 950 Ko Fichier JSON d’origine: 2,58 Mo Modèles pour les tests: Document et Clé-Valeur 1.000.000 Documents 1 Millions documents, avec un fichier de taille: 95 Mo Fichier JSON d’origine: 258 Mo Modèles pour les tests: Clé-Valeur 10.000.000 Documents 10 Millions documents, avec un fichier de taille 958 Mo Fichier JSON d’origine: 2,46 Go Modèles pour les tests: Clé-Valeur 100.000 Documents 100 Milles documents, avec un fichier de taille: 0.95 Mo Fichier JSON d’origine: 25,8 Mo Modèles pour les tests: Document et Clé-Valeur
  11. 11. 11 Env-logiciels Les logiciels utilisés sont: MongoVue, DevOpsCenter, la console Web de Couchebase en mode graphique, la console mongo, la console cassandra et couchbase-cli. Env-matériels Ces tests sont effectués sur un PC de type Intel Core i5 de 8 Go de RAM, CPU 33,30 GHz, 500Go d’espace de stockage et Windows 7 Profesional 64 bits. Pour assurer un environnement équitable, les mêmes structures et données pour tous les documents, Key/Value sont utilisés pour les opérations de lecture, mise à jour, suppression ou création (CRUD: Create, Read, Update, Delete). Plusieurs tests sont réalisés pour chaque opération pour s’assurer que les réponses des nos systèmes NoSQL soient homogènes. Environnement matériels et logiciels Caractèristiques matérielles - Interfaces de tests
  12. 12. 12 Nombre total de documents importer en occurence Comportement des databases pendant l’import massive de données
  13. 13. 13 Import des fichiers CSV dans la base de données Latence pour les operations d’imports des données au format CSV
  14. 14. 14 Lecture d’un flot de données - Read Latence des réponses pour les operations de lecture des résultats d’un flot de données
  15. 15. 15 Lecture d’un seul document – Find By Latence des réponses pour les operations de lecture des résultats d’un seul élément
  16. 16. 16 Insertion d’un document – Create Latence des réponses pour les operations de création d’un élément
  17. 17. 17 Mise à jour d’un document - Update Latence des réponses pour les operations de mise à jour d’un document
  18. 18. 18 Suppression d’un document - Delete Latence des réponses pour les operations de suppression d’un document
  19. 19. 19 Récapitulatif des résultats Classement des moteurs NoSQL selon leurs statistiques pour un déployement dans un système IoT Analyse des résultats Suite à ces résultats et constats, et en prenant compte des circonstances applicatives d’un système IoT, le moteur de base de données Apache Cassandra peut constituer un meilleur choix, avec une alternative MongoDB intéressante au niveau de gérance de grande quantité et flot de données en mêmes temps. En ce qui concernat Couchbase, son comportement et ces performances sont proportionnelles par rapport aux aspects matériels et la quantité mémoire allouée pour les instance Buckets pour manipuler les données dans une situation normal exercé par les deux autres moteurs NoSQL. Couchbase à crasher 2 fois de suite pour un import massive de données. Contrairement à MongoDBb qui ne gère pas la tâche d’administration du cache et laisse cette approche pour une couche bas niveau du système d’exploitation pour la gérée. Apache cassandra fait des meilleures performances au niveau Read, Insert, Update et Delete, càd les opérations de CRUD nécessairement employées en masse dans une architecture moderne IoT.
  20. 20. 20 Bibliographies Liens externes – Téléchargement - Mots clés MongoDB: www.mongodb.org Téléchargement: www.mongodb.org/downloads Apache Cassandra: www.planetcassandra.org Téléchargement: www.datastax.com/download Couchbase: www.couchebase.com Téléchargement: www.couchbase.com/nosql-databases/downloads Liens externes Mots clés Benchmarking NoSQL DataBase, IoT System, IoT Architecture, MongoDB, Apache Cassandra, Couchbase, Big-Data, Colonne, Clé/Valeur, Document, CSV Format, MongoVue, DevOpsCenter, Couchbase Web Console, Diagrammes de comparaisons, NoSQL Classement, import, operations CRUD, Create, Read, Update, Delete
  21. 21. 21 A propos Pour vos remarques et suggéstions ALLAOUI Chaker Senior MEAN & Big Data Developer Mail: chaker.allaoui@opcma-tunisie.com Visit my profile in LinkedIn http://tn.linkedin.com/in/chakerallaoui Visit my web site http://allaoui-chaker.github.io

×