Grâce à la mise à jour Cosmos DB livrée hier par Microsoft et annoncée lors de sa Build Conference (10-12 mai à Seattle), les développeurs pourront plus facilement mettre leurs applications à l’échelle afin de répondre à des besoins globaux. Cette extension de DocumentDB, le service géré de base de données NoSQL lancé en 2015 par Microsoft, va permettre aux développeurs de répliquer les données stockées dans chacune des 34 régions du cloud public Azure. Principale nouveauté : une fonction permettant aux développeurs de choisir entre cinq niveaux de cohérence échelonnés de « fort » à « éventuel ». L'outil permet aux développeurs de stocker et d'accéder aux données à l’aide d’API diverses, dont DocumentDB, MongoDB, SQL, Gremlin et Azure Tables. Microsoft garantit une disponibilité des données à 99,99%. Le fournisseur précise également que les temps de réponse de la base de données seront inférieurs à 10 millisecondes pour 99,99% des utilisateurs dans une région Azure dotée offrant la réplication de données de Cosmos DB. Cosmos promet également des garanties de cohérence et de débit de 99,99 %.

Les bases de données distribuées globalement comme Cosmos sont une des fonctions importantes promises par le cloud. En raison de la vitesse de la lumière, les requêtes envoyées par des utilisateurs situés loin du datacenter sur lequel tourne leur application prennent plus de temps. Cosmos DB doit permettre aux développeurs de tirer profit de cette capacité de mise à l'échelle des datacenters de Microsoft pour mieux servir les utilisateurs partout dans le monde. L’offre est importante, car elle permet aussi à Microsoft de concurrencer d'autres fournisseurs de cloud, comme Amazon Web Services et Google Cloud Platform. Chaque fournisseur offre un service de base de données géré globalement. Mais du fait de ses garanties de service, de son échelle globale et d'une nouvelle approche de la cohérence, Cosmos DB est différent.

Les options à cohérence forte et éventuelle boudées

La forte cohérence garantit que les utilisateurs pourront accéder aux données les plus récentes en faisant un certain compromis sur la performance. Ce mode convient aux applications financières. Mais, les clients qui choisissent la forte cohérence devront aussi renoncer à la capacité de répliquer la base de données dans plusieurs régions. À l'extrême opposé, la cohérence éventuelle signifie que la base de données répondra plus rapidement, la contrepartie étant que les utilisateurs finaux n’auront pas forcément accès aux données les plus récentes. Ce choix permet la réplication globale et son tarif par opération de lecture est le plus avantageux de tous les modèles de cohérence proposés par Cosmos DB.

Au total, moins de 10% des utilisateurs de DocumentDB ont sélectionné une de ces deux options. Ils ont préféré des options intermédiaires, par exemple la cohérence de session, qui maintient une cohérence prévisible pendant la durée d’une session utilisateur, ce qui leur permet de lire les données qu'ils écrivent dans la base de données. Ce mode est utile pour les applications qui reposent sur des sessions client pour fournir des informations aux utilisateurs. La cohérence à péremption restreinte garantit que les lectures dans la base de données seront en retard par rapport aux écritures dans une fenêtre développeur, soit en fonction de l'heure soit en fonction du nombre de versions. Une cohérence dans la consistance des préfixes garantit que les utilisateurs finaux ne verront jamais des écrits périmés, ce qui ne veut pas dire que les données seront à jour.

Des nouvelles versions de MySQL et PostgreSQL

Cosmos DB n'a pas été le seul centre d’intérêt de la Build Conference, Microsoft a également annoncé de nouvelles versions de son service de base de données géré pour MySQL et PostgreSQL. Elles offrent désormais aux développeurs la possibilité d'utiliser leurs bases de données préférées sans avoir à gérer les correctifs, la mise à l'échelle et d'autres aspects courants de la gestion de base de données. Un nouveau service de migration de base de données est également disponible dans en bêta. Il doit permettre aux entreprises de transférer des données à partir de plates-formes comme Microsoft SQL Server et Oracle Database.