Comparatif des bases de données NoSQL Comparatif des bases NoSQL : tableau de synthèse

Terminons ce chapitre par un tableau comparatif synthétique qui, pour chaque moteur traité dans ce livre, offre quelques pistes d'utilisation.

Tableau 12-1. Comparatif des bases NoSQL
Moteur NoSQLType de donnéesIntérêtUtilisation
Source : Eyrolles
HBaseColonnesBig DataExcellentes performances sur de très grands volumes.
CassandraColonnesBig DataMontée en charge linéaire sur des grands volumes de données.
CouchDBDocuments JSONFonctionnalitésDéveloppements web sans besoin de très bonnes performances.
MongoDBDocuments JSONSharding et réplicationMontée en charge facilitée sur des données semi-structurées.
Riakclé-valeurDécentraliséExcellentes performances et montée en charge très aisée en ajoutant des noeuds.
Redisclé-valeurPerformancesEntre le système de cache et la base de données. Assure d'excellentes performances sur des traitements de données simples.


Conclusion

Le choix d'un moteur de base de données se fait à partir des besoins, et certainement pas à partir d'un a priori technologique. Autant que possible, ce choix doit aussi se baser sur des tests réalisés en interne et prenant en compte les contraintes du business. C'est à la fois un choix décisif, car il est difficile de revenir en arrière lorsque toutes vos données sont gérées dans un système, mais c'est aussi un choix qui n'est pas forcément fatal, car il est possible d'adapter son traitement, jusqu'à un certain point, au moteur choisi.

Les axes de choix comportent les fonctionnalités, les performances et la solidité du produit. Il est par exemple possible de faire le choix, pour un système de production, d'un moteur NoSQL encore jeune, mais il faut alors pouvoir contourner les problèmes rencontrés lors de l'utilisation. Nous pensons notamment à des outils, comme Couchbase Server, dont nous n'avons pas parlé dans ce livre, parce qu'ils sont trop jeunes, mais qui sont parfois mis en production dans des entreprises qui essuient les plâtres.

Donc, votre choix devra se faire selon les axes que nous avons indiqués dans ce chapitre, mais aussi après des tests aussi sérieux que possible pour vous assurer que le moteur réponde à vos besoins, et qu'il est capable de tenir la charge solidement, comme vous le souhaitez. Souvenez-vous en plus d'une chose : dans le monde NoSQL, un moteur correspond souvent à une application cliente, vous pouvez donc tout à fait mettre en place plusieurs solutions de gestion de données selon vos besoins, et établir des fertilisations croisées entre les SGBDR, les moteurs NoSQL et des outils comme ElasticSearch pour ajouter les fonctionnalités voulues.