0

大多数文章中都提到,如果我们使用 Cosmos Db 并新创建我们的应用程序,我们应该使用 Cosmos db sql api。当您已经将您的应用程序与实际的 mongo 和 cassandra 集成并且我们希望快速迁移到 cosmosdb 并且不改变生态系统时,可以使用 Mongo api 和 cassandra api。

但是当我们在 azure 中创建一个新的 cosmosdb 集群时,它会询问 api 类型。这意味着除了 api(query) 接口之外,内部必须存在一些存储差异和内部引擎处理差异。

我想了解我们应该根据哪些差异来决定选择不同的api。

4

2 回答 2

0

存储基础设施后端是相同的。适应不同的 API 存在一些差异,但这是一个实现细节,旨在确保与每个受支持的 API 的兼容性和保真度。

如果您有现有的 MongoDB 或 Cassandra 数据库,并且希望迁移到完全托管的体验,请选择其中之一。或者,如果您对 MongoDB 或 Cassandra 有深入了解,并且不想学习 Cosmos DB 的 API,那么请选择其中之一。

所有其他 API 都构建在 Cosmos DB 的核心 (SQL) API 之上,并且该 API 的 SDK 由该团队生产。Cosmos DB 上的任何新功能(例如 Change Streams)都是基于核心服务中已有的功能构建的,因此当然,新功能首先出现在核心 API 中,然后再出现在其他 API 中。

希望有帮助。

于 2020-06-12T15:21:31.343 回答
0

是的,Azure 存储数据的方式有所不同。除了存储之外,不同的 API 还支持用于通信的本地有线协议。

来自天蓝色指南:

Azure Cosmos DB 是 Microsoft 的全球分布式多模型数据库服务。多模型意味着 Azure Cosmos DB 支持多个 API 和多个数据模型,不同的 API 使用不同的数据格式进行存储和有线协议。例如,SQL 使用 JSON,MongoDB 使用 BSON,Table 使用 EDM,Cassandra 使用 CQL,Gremlin 使用 JSON 格式。

Azure Cosmos DB SQL API 帐户支持使用 sql 作为 JSON 查询语言来查询项目。

Azure Cosmos DB MongoDB API 与 MongoDB 有线协议 3.6 版兼容。

Azure Cosmos DB Cassandra API 与 CQL 版本 v4 兼容。但是,CQL 命令有一些限制。

请参阅https://docs.microsoft.com/en-us/azure/cosmos-db/cassandra-support了解更多详情。

于 2020-06-12T15:18:28.303 回答