web-dev-qa-db-fra.com

Quelles sont les différences entre CosmoDB et DocumentDB?

Autant que je sache, CosmoDB a la capacité de faire des requêtes Graph en utilisant le langage de requête Gremlin. En dehors de cela, les prix, le marketing, etc. semblent tous identiques. Il semble étrange qu'ils aient proposé un nouveau produit pour ajouter Gremlin alors qu'ils ne faisaient pas la même chose pour ajouter le support MongoDB. Quelles sont les différences discernables entre ces deux produits?

16

Le membre de l'équipe Azure Cosmos DB ici.

Azure Cosmos DB a débuté sous le nom de «Projet Florence» en 2010 pour résoudre les problèmes des développeurs rencontrés par les applications à grande échelle de Microsoft. Constatant que les défis liés à la création d'applications distribuées à l'échelle mondiale ne sont pas un problème propre à Microsoft, nous avons mis la première génération de cette technologie à la disposition des développeurs Azure sous la forme d'Azure DocumentDB. Depuis lors, nous avons ajouté de nouvelles fonctionnalités et introduit de nouvelles fonctionnalités importantes. Azure Cosmos DB est le résultat. Il s'agit du prochain grand bond en avant dans les bases de données cloud distribuées à l'échelle mondiale. Dans le cadre de cette version de Azure Cosmos DB, les clients de DocumentDB, avec leurs données, sont automatiquement clients de Azure Cosmos DB. La transition est transparente et ils ont désormais accès au nouveau système révolutionnaire et aux nouvelles fonctionnalités offertes par Azure Cosmos DB.

Dans l'évolution de Cosmos DB, nous avons ajouté de nouvelles fonctionnalités significatives depuis 2015 (lorsque DocumentDB a été généralisé), mais seul un sous-ensemble de ces fonctionnalités était disponible dans DocumentDB. Ces fonctionnalités se situent dans les domaines du moteur de base de données principal, de la distribution mondiale, de l’extensibilité élastique et des contrats de niveau de service complets et leaders du marché. Plus précisément, nous avons fait évoluer le moteur de base de données Cosmos DB pour pouvoir mapper efficacement tous les modèles de données, systèmes de types et API courants sur le modèle de données sous-jacent de Cosmos DB. Le développeur confronté à ce travail actuellement en fera l'expérience via la prise en charge des API Gremlin et Table Storage. Et ce n’est que le début… Nous ajouterons au fil du temps d’autres API populaires et de nouveaux modèles de données, avec davantage de progrès en termes de performances et de stockage à l’échelle mondiale. 

Nous avons également étendu les bases de l'évolutivité globale et élastique du débit et du stockage. L’une des toutes premières manifestations de celui-ci est la RU/m ( https://docs.Microsoft.com/en-us/Azure/cosmos-db/request-units-per-minute ) mais nous en avons plus capacités que nous annoncerons dans ces domaines. Les nouvelles fonctionnalités permettront de réduire les coûts pour nos clients pour diverses charges de travail. Nous avons apporté plusieurs améliorations fondamentales au sous-système de distribution global. Le modèle de cohérence du préfixe consistant (pour un total de 5 modèles de cohérence bien définis) est l’un des nombreux développeurs confrontés à ce travail. Cependant, il y a beaucoup plus de fonctionnalités intéressantes que nous publierons à mesure qu'elles mûrissent. 

Il est important de souligner que nous considérons Azure Cosmos DB comme un service de base de données en constante évolution. En règle générale, nous validons d’abord toutes les nouvelles fonctionnalités avec les applications à grande échelle de Microsoft, puis les exposons à des clients externes clés, puis enfin, nous les diffusons dans le monde entier. 

Il est également important de souligner que le dialecte SQL de DocumentDB a toujours été l’une des nombreuses API que la base de données Cosmos sous-jacente était capable de prendre en charge. En tant que développeur utilisant un service entièrement géré tel que Cosmos DB, la seule interface avec le service est constituée des API exposées par le service. À cette fin, rien ne change vraiment pour un client DocumentDB. Cosmos DB offre exactement la même API SQL que DocumentDB. Cependant, maintenant (et à l'avenir), vous pouvez avoir accès à d'autres fonctionnalités auparavant inaccessibles.

27
Andrew Liu

DocumentDB est l'une des API de CosmosDB. D'autres incluent Table Storage, MongoDB, Gremlin.

Pensez à CosmosDB en tant que plate-forme de base de données qui gère la mise à l'échelle, au débit, à la cohérence, etc., et à DocumentDB en tant que type de base de données à exécuter sur CosmosDB.

Azure Cosmos DB prend en charge de manière native plusieurs modèles de données, notamment des documents, des valeurs-clés, des graphiques et des familles de colonnes. Le modèle de contenu principal du moteur de base de données de Cosmos DB est basé sur la séquence atom-record-sequence (ARS). Les atomes consistent en un petit ensemble de types primitifs tels que string, bool et number. Les enregistrements sont des structures composées de ces types. Les séquences sont des tableaux composés d'atomes, d'enregistrements ou de séquences. 

Le moteur de base de données peut efficacement traduire et projeter différents modèles de données sur le modèle de données basé sur ARS. Le modèle de données de base de Cosmos DB est nativement accessible à partir de langages de programmation à typage dynamique et peut être exposé tel quel en JSON. 

https://docs.Microsoft.com/en-us/Azure/cosmos-db/introduction

3
Jakub Konecki

CosmosDB est le nouveau DocumentDB pour solution NoSQL

Comme architecte de Cosmosdb Rimmamentionné

L'API Azure Cosmos DB DocumentDB ou API SQL (DocumentDB) est maintenant connu sous le nom d’API SQL Azure Cosmos DB. Vous n'avez pas besoin de changer quoi que ce soit en continuez à exécuter vos applications construites avec l'API DocumentDB/DocumentDB. Le la fonctionnalité reste la même. Merci.

DocumentDB est l'une des API de CosmosDB. À l'heure actuelle, si vous accédez au portail Azure et essayez de créer une base de données Azure Cosmos, vous devez sélectionner l'une des 4 API disponibles à cet emplacement:

  • Gremlin (Graphique)
  • MongoDB
  • SQL (DocumentDB)
  • Table (valeur-clé)
1
Sajeetharan