Sommaire

Introduction

Les transactions multidocuments constituent indubitablement une des nouveautés majeures de la version 4 de MongoDB. Elles garantissent l’intégrité des données, car si une seule des opérations qu’elles contiennent échoue, alors c’est toute la transaction qui échoue ; il est ainsi impossible de laisser notre base de données dans un état intermédiaire qui menacerait la cohérence même des informations qu’elle contient. On dit pour cette raison qu’une transaction est atomique (c’est tout ou rien).

Ces transactions sont indépendantes les unes des autres et exécutées de manière parfaitement isolée, ce qui signifie que tout changement intervenant durant une transaction ne sera visible à l’extérieur de celle-ci qu’une fois qu’elle sera validée et ses données enregistrées de façon durable.

Nous venons d’énoncer ce que l’on appelle dans le jargon des bases de données les « propriétés ACID » : Atomicité - Cohérence - Isolation - Durabilité.

Apparues avec la version 4.0 de MongoDB et ciblant uniquement les replica sets, les transactions se sont étendues aux clusters shardés dans la version 4.2, où elles ont été rebaptisées transactions distribuées.

Créons à présent notre première transaction ! ...