
MongoDB est une base de données orientée documents et, à ce titre, elle ne supportait pas jusque là les propriétés ACID en particulier lorsqu'il s'agit de transactions multidocuments. Pour la plupart des utilisateurs de la base de données NoSQL, cela ne représente pas un réel handicap. En effet, pour la manipulation de documents sur lesquels MongoDB écrit ses données, l’utilisateur se contente d’écrire sur un document à la fois. En cas de nécessité, les utilisateurs avaient toujours la possibilité d’exécuter une ou plusieurs bases de données relationnelles en parallèle avec leur base de données de documents.
MongoDB a souhaité apporter cette fonctionnalité notamment pour les développeurs qui viennent de découvrir la base de données et qui pensent qu’ils puissent avoir besoin du support des transactions ACID dans le futur, selon Eliot Horowitz, cofondateur et directeur technique de MongoDB. Il ajoute cependant que le support des transactions ACID n’est pas une nécessité, car « le modèle de document élimine le besoin de transactions ACID pour la plupart » des cas d’utilisation. Mais il reconnait qu’il y a clairement des cas d'utilisation où les développeurs veulent ajouter le support des transactions pour leurs cas d'utilisation les plus critiques.
Stephen O'Grady, analyste principal chez RedMonk, a déclaré que « les garanties transactionnelles sont une caractéristique essentielle des bases de données relationnelles depuis des décennies, mais [qu’]elles ont généralement été absentes des alternatives non relationnelles, ce qui a obligé les utilisateurs à choisir entre les transactions et la flexibilité et la polyvalence offertes par les bases de données non relationnelles ». Il estime qu’avec le support des transactions ACID multidocuments, les clients de MongoDB ont désormais la possibilité de bénéficier de toutes ses caractéristiques avec leur seule base de données de documents.
Horowitz a souligné qu'il ne pense pas que les développeurs vont activer cette fonctionnalité par défaut et que la plupart ne l'activeront que pour des cas d'utilisation très spécifiques. En effet, il a déclaré qu’il ne s'attend pas à ce que ce soit « un moyen courant d'écrire sur une base MongoDB ». Développer cette nouvelle fonctionnalité était un effort pluriannuel qui a commencé avec l'acquisition de WiredTiger et le moteur de stockage de base de données de cette société il y a trois ans. Pour l'activer, l'équipe a touché pratiquement tous les composants du système de la base de données.
Source : Blog MongoDB, Découvrir la version bêta
Et vous ?

Voir aussi


