URL: https://linuxfr.org/news/sortie-de-mongodb-20-rc Title: Sortie de MongoDB 2.0 RC Authors: Grégoire Seux Date: 2011年08月30日T22:22:07+02:00 License: CC By-SA Tags: mongodb, nosql et agpl Score: 19 Moins de dix mois après la sortie de sa dernière version stable, l'entreprise 10gen a sorti la nouvelle mouture de sa base de données : MongoDB 2.0. Cette version ne propose rien de révolutionnaire, mais apporte tout de même un certain nombre de fonctionnalités appréciables. On retrouvera notamment : * la journalisation activée par défaut ; * l'amélioration de l'efficacité spatiale et temporelle des index ; * la gestion plus fine des priorités pour la réplication ; * et la _datacenter awereness_ de certaines opérations. NdM : MongoDB est publiée sous licence AGPL v3.0. NdM : la version 2.0 de MongoDB n'est encore qu'en _release candidate_. ---- [[0] Release Notes 2.0](http://www.mongodb.org/display/DOCS/2.0+Release+Notes) [[1] Journaling and performance](http://www.adathedev.co.uk/2011/03/mongodb-journaling-performance-single.html) [[2] B-Tree introduction](http://www.bluerwhite.org/btree/) [[3] Replica Sets - Priority](http://www.mongodb.org/display/DOCS/Replica+Sets+-+Priority) [Site officiel](http://www.mongodb.org/) [Télécharger MongoDB](http://www.mongodb.org/downloads) [LinuxFr : les contenus parlant de MongoDB](http://linuxfr.org/tags/mongodb/public) ---- Détaillons : - MongoDB a été critiquée, dans sa jeunesse, pour son manque de stabilité et la perte des données dûe aux crashs. En effet, afin de gagner en performance, MongoDB stocke les données en RAM et _flushe_ sur disque de façon asynchrone. Lors d'un crash les données non sauvées sur disques sont perdues. Le _journaling_ a donc été développé comme une option permettant de stocker temporairement les données dans un journal en attendant l'écriture en bonne et due forme dans les fichiers de MongoDB. Cette option permet ainsi de ne perdre qu'un minimum de données lors d'un crash pour une perte de performance contrôlée [1]. L'option --journal est désormais activée par défaut (mais peut bien sûr être déactivée). - MongoDB permet d'optimiser certaines requêtes (comme la plupart des RDBMS) en utilisant des index. Ces index sont représentés par des B-Trees [2] qui permettent un accès rapide aux données. Le choix des B-Tree face aux tables de hashage (plus courantes) peut s'expliquer par la volonté d'optimiser les requêtes ensemblistes (du type : x in [0..18]). La structure de ces index a été améliorée afin de gagner jusqu'à 25 % en espace (des index plus petits permettent d'en stocker davantage en RAM) et en vitesse (nul besoin d'expliquer ce que ça implique !). - Afin de mieux satisfaire les utilisateurs en entreprise de MongoDB, 10gen a dévoilé un certain nombre de fonctionnalités dites _datacenter aware_. Il est désormais possible de _tagger_ les machines afin d'imposer l'écriture des données sur au moins N répliques (ou _slaves_) ou plus intéressant sur X datacenters (ou Y serveurs portant un tag donné). Cette fonctionnalité permettra aux administrateurs de bases de données de mieux contrôler la réplication de leurs données et notamment de valider certaines écritures importantes. - MongoDB utilise un modèle 1-N pour la réplication c'est-à-dire un maître et plusieurs esclaves répliquant les opérations du maître. À tout moment, le maître peut cesser de répondre et les esclaves déclencher une élection d'un nouveau maître. Jusqu'alors deux niveaux de hiérarchie existaient : éligibles et non éligibles. Or, la réalité est souvent plus complexe et on désire hiérarchiser parmi les serveurs éligibles lesquels sont plus susceptibles d'être élus : c'est désormais possible [3]. La voie prise par MongoDB montre que le projet gagne en maturité et se concentre également sur des fonctionnalités d'administration permettant ainsi à des entreprises de l'utiliser plus facilement en production. Pour tester MongoDB, rien de plus simple http://www.mongodb.org/, ou mieux http://www.mongodb.org/downloads.