La com­pa­rai­son entre MongoDB vs Cassandra laisse ap­pa­raître beaucoup de si­mi­li­tudes. Pour autant, les deux s’utilisent de manière très dif­fé­rente : MongoDB nous séduit avec son évo­lu­ti­vité optimale alors que le point fort de Cassandra est sa plus grande dis­po­ni­bi­lité.

MongoDB vs Cassandra : les deux bases de données NoSQL à succès

MongoDB et Cassandra sont deux des bases de données NoSQL les plus im­por­tantes. Elles sont utilisées par les en­tre­prises les plus connues et flo­ris­santes et four­nis­sent également de re­mar­quables services aux uti­li­sa­teurs ayant des besoins plus modestes.

Note

La gestion de flux de données toujours plus grand et divers a donné de l’im­por­tance aux systèmes de gestion de bases de données et aux bases de données NoSQL. Ces bases de données non re­la­tion­nelles séduisent par leur grande évo­lu­ti­vité d’une part et leur grande ré­si­lience d’autre part. Ces systèmes évoluent en même temps que le volume de données augmente, tout en con­ser­vant une structure claire.

MongoDB mise sur les col­lec­tions et les documents

Avant de s’attarder plus en détails sur MongoDB vs Cassandra et de les con­fron­ter, revenons sur les avantages de MongoDB : le nom de ce système nous vient de l’anglais « huMONGOus » (gi­gan­tesque). Cette base de données dé­ve­lop­pée en 2009 par l’en­tre­prise 10gen (aujourd’hui MongoDB Inc.) est aujourd’hui exploitée par le pro­prié­taire Server Side Public Licence. Elle est écrite en C++ et en­re­gistre les données dans des col­lec­tions et documents. MongoDB, la base de données la plus connue au monde, est dis­po­nible en version com­mu­nau­taire gratuite et en licence pro­prié­taire.

Conseil

Une base de données NoSQL qui vous ressemble : choi­sis­sez Managed MongoDB sur IONOS et profitez d’une évo­lu­ti­vité maximale, d’une analyse de données ap­pro­fon­die et du matériel optimal pour votre charge de travail. Trouvez main­te­nant l’offre qui cor­res­pond à vos besoins !

Cassandra : la base de données orientée colonnes

Même si MongoDB et Cassandra diffèrent sur de nombreux points, les deux systèmes ont vu le jour à peu près au même moment. Cassandra est apparue en 2008, mais à cette période elle était dé­ve­lop­pée uni­que­ment pour Facebook. En 2009, la Apache Software Foun­da­tion reprend les rênes du système de gestion de bases de données NoSQL mul­ti­pla­te­forme programmé en Java et qui fonc­tionne orientée colonnes.

En plus des créateurs Avinash Lakshman et Prashant Malik, des en­tre­prises telles que DataStax, IBM et Twitter ont aussi pris part au dé­ve­lop­pe­ment de Cassandra. De nos jours, le système com­mer­cia­lisé sous la licence Apache est dis­po­nible en une version gratuite et en plusieurs versions payantes. Cassandra est l’une des bases de données orientée colonnes les plus connues au monde.

Champ d’uti­li­sa­tion et évo­lu­ti­vité

Les deux options sont par­ti­cu­liè­re­ment adaptées au trai­te­ment de col­lec­tions de données im­por­tantes et misent de fait sur l’approche NoSQL. Les deux systèmes peuvent ainsi gérer des quantités de données non struc­tu­rées car ils agissent in­dé­pen­dam­ment des tableaux et misent à la place sur dif­fé­rents nœuds. Ce qui, en échange, fait grimper l’évo­lu­ti­vité des deux solutions. En com­pa­rai­son avec leurs con­cur­rents SQL, MongoDB et Cassandra sont tout à fait adaptés aux en­tre­prises qui sou­hai­tent, dès le début, traiter de grands volumes de données. Ils con­vien­nent également aux en­tre­prises dont les besoins sont évolutifs et qui aug­men­tent avec le temps.

Mieux vaut opter pour MongoDB si vous devez traiter des quantités de données ma­jo­ri­tai­re­ment non struc­tu­rées. Certes, les deux systèmes sont adaptés à cette tâche mais la flexi­bi­lité de MongoDB permet une gestion de la base de données un peu plus évolutive. Cassandre offre aussi de la flexi­bi­lité mais sa cons­truc­tion similaire au style SQL la rend plus simple pour passer à NoSQL. Cassandra utilise le langage de requête CQL qui ressemble aux bases de données tra­di­tion­nelles. Sur ce point, MongoDB est à la traîne dans notre com­pa­rai­son MongoDB vs Cassandra avec une requête propre qui doit d’abord être apprise.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

MongoDB vs Cassandra : quelle approche ?

Les objectifs de MongoDB vs Cassandra sont certes si­mi­laires, mais leur approche res­pec­tive est to­ta­le­ment dif­fé­rente. MongoDB stocke ses données dans des documents ras­sem­blés en col­lec­tions. Chaque document est constitué de paires clés-valeur. Gé­né­ra­le­ment, les clés sont cons­ti­tuées d’une chaîne de ca­rac­tères. Les valeurs sont souvent des valeurs boo­léennes, des données, d’autres documents, des chiffres ou même des suites de ca­rac­tères. À l’inverse, Cassandra travaille orientée colonnes (in Sorted String Tables) et utilise le par­ti­tion­ne­ment en fonction des lignes. Les SSTables ne peuvent pas être modifiées ul­té­rieu­re­ment. Elles con­tien­nent un ensemble trié de paires clés-valeur res­pec­tives. Bien que Cassandra soit une base de données NoSQL, son approche est plutôt « Not only SQL ». Son langage de requête est en revanche nettement plus flexible.

Modèle de données

Dans notre com­pa­rai­son MongoDB vs Cassandra, il apparaît nettement que MongoDB offre plus de flexi­bi­lité dans le modèle de données. MongoDB fonc­tionne sans schéma et utilise un format JSON similaire au format BSON. Un registre des employés pourrait par exemple res­sem­bler à cela :

Employé : [
{
Employé_ID : "1",
Nom : "Marie Durand",
Ville : "Paris"
},
{
Employé_ID : "2",
Domaine : "IT",
Email : "jdupont@exemple.fr"
}]
bson

Cassandra se fie à l’inverse aux tableaux qui peuvent être divisés de manière classique en lignes et en colonnes. Les données sont en­re­gis­trées sous forme de paires clés-valeur. Un registre des employés com­pa­rable pourrait res­sem­bler à peu près à cela :

Employé_ID 1 Colonne - Nom		Colonne - Ville
		Valeur - Marie Durand	Valeur - Paris
Employé_ID 2 Colonne - Nom		Colonne - Domaine		Colonne - Email
		Valeur - Jean Dupont	Valeur - IT		Valeur - jdupont@exemple.fr
text

Dis­po­ni­bi­lité

Con­cer­nant la dis­po­ni­bi­lité des données stockées, la com­pa­rai­son MongoDB vs Cassandra laisse aussi ap­pa­raître des points communs et des dif­fé­rences. Les deux systèmes sé­cu­ri­sent les données en ré­par­tis­sant la charge sur dif­fé­rents nœuds de serveur. Cependant, MongoDB n’utilise qu’un seul nœud primaire qui est répliqué afin de pouvoir faire face à d’éven­tuelles pannes. Toutes les écritures sont dirigées vers ce nœud maître, puis trans­mises à ses répliques. Si le nœud maître tombe en panne, un nouveau prend la relève. Dans Cassandra en revanche, il est possible de con­fi­gu­rer plusieurs nœuds maîtres à l’aide de l’in­fras­truc­ture adéquate. En cas de panne d’un ou plusieurs nœuds, ces derniers sont im­mé­dia­te­ment remplacés pour assurer la con­ti­nuité du service.

Com­pa­ti­bi­lité et langages de pro­gram­ma­tion

Cassandra et MongoDB sont tous deux com­pa­tibles avec dif­fé­rents systèmes d’ex­ploi­ta­tion serveur. Les deux fonc­tion­nent avec Linux, macOS et Windows. Cassandra supporte également BSD et MongoDB supporte Solaris.

Les deux solutions de gestion de base de données prennent en charge les langages de pro­gram­ma­tion suivants :

Langage de pro­gram­ma­tion Soutenu par Mongo DB Soutenu par Cassandra
Ac­tions­cript
C
C#
C++
Clojure
Cold­Fu­sion
D
Dart
Delphi
Erlang
Go
Groovy
Haskell
Java
Ja­vaS­cript
Kotlin
Lisp
Lua
MatLab
Perl
PHP
Po­wer­Shell
Prolog
Python
R
Ruby
Scala
Smalltalk
Swift

Sécurité

Les uti­li­sa­teurs de MongoDB et Cassandra ont entre leurs mains la sécurité du système pour les versions de base res­pec­tives. En plus d’un cer­ti­fi­cat SSL ou d’un cer­ti­fi­cat TLS pour les con­nexions clients ainsi que les au­then­ti­fi­ca­tions d’uti­li­sa­teurs, d’autres mesures ren­for­cées sont re­com­man­dées comme l’uti­li­sa­tion d’un pare-feu adéquat. Les solutions com­mer­ciales telles que MongoDB Atlas offrent en revanche des fonctions de sécurité étendues comme X.509, des chif­fre­ments côté client et serveur et in­té­gra­tion Kerberos et LDAP.

Version mobile

Aucune version spéciale de Cassandra n’est dédiée à l’uti­li­sa­tion mobile. Les outils pour le dé­ve­lop­pe­ment (continu) sur smart­phone n’existent pas non plus. De fait, MongoDB dispose de plus d’options pour l’uti­li­sa­tion mobile dans notre com­pa­ra­tif MongoDB vs Cassandra. Realm est le système de gestion de base de données conçu par MongoDB pour les systèmes d’ex­ploi­ta­tion mobiles. La version Atlas payante offre aussi des solutions pour l’uti­li­sa­tion mobile.

Quelles en­tre­prises utilisent MongoDB et Cassandra ?

Si MongoDB et Cassandra ont des fonc­tion­ne­ments distincts, la liste des en­tre­prises qui utilisent res­pec­ti­ve­ment l’un ou l’autre est plutôt équi­li­brée. Les en­tre­prises les plus connues qui utilisent MongoDB sont :

  • Adobe
  • Amadeus
  • AppScale
  • Craftbase
  • Disney
  • Etsy
  • Fours­quare
  • Lyft
  • MTV
  • The New York Times
  • Via Varejo

Les en­tre­prises qui utilisent Cassandra sont tout autant renommées. Certes, Facebook (ou Meta) n’a plus recours aux services de Cassandra mais nous avons malgré tout listé les en­tre­prises suivantes :

  • Apple
  • Discord
  • Digg
  • Hulu
  • Intuit
  • Instagram
  • Netflix
  • Reddit
  • Spotify
  • X (an­cien­ne­ment Twitter)
Conseil

Notre Digital Guide comporte de nombreux articles sur le sujet des bases de données. Consultez par exemple nos articles qui comparent MariaDB vs MySQL, pré­sen­tent les meil­leures bases de données en open source ou vous aident pour vos premiers pas avec MongoDB.

Aller au menu principal