D'après ce que j'ai lu jusqu'à présent... voici ce que j'en pense.
Le SQL standard échange des performances inférieures contre une richesse de fonctionnalités... c'est-à-dire qu'il vous permet, entre autres, d'effectuer des jointures et des transactions sur des ensembles de données (tables/collections, si vous préférez).
Cela permet à un développeur d'applications de pousser une partie de la complexité de l'application dans la couche de base de données. Cela présente l'avantage de ne pas avoir à se soucier de l'intégrité des données et du reste des propriétés ACID de l'application en dépendant d'une technologie éprouvée. L'absence d'extensibilité extrême convient à pratiquement tous les projets, tant que l'on parvient à faire fonctionner l'application dans les délais prévus, ce qui peut parfois conduire à l'achat de systèmes de bases de données relationnelles très performants et coûteux.
D'autre part, Mongo DB exclut délibérément une grande partie de la complexité inhérente aux bases de données relationnelles, ce qui permet d'obtenir de meilleures performances évolutives.
Cette approche oblige le développeur d'applications à ré-architecturer l'application pour contourner le manque de fonctionnalités relationnelles... ce qui en soi est une bonne chose, mais l'effort impliqué n'en vaut généralement la peine que si vous avez des exigences d'évolutivité. Veuillez noter qu'avec MongoDB, selon les exigences des données en matière de propriétés ACID, l'application devra s'adapter et gérer le cas échéant.