MongoDB和DocumentDB与MongoDB驱动程序的区别

时间:2017-02-18 17:43:14

标签: mongodb azure azure-cosmosdb

我需要一个NoSQL数据库,并且一直在mongodb和documentdb之间来回走动。我使用了很多天蓝色的服务,所以我想我会尝试使用documentdb并坚持使用微软生态系统。

我对documentdb印象不深。最后一点是当我发现无法使用documentdb更新嵌套对象时。所以我回到了mongodb。

mongodb的价格很高,所以我正在考虑使用mongodb api的documentdb。

我的问题是,使用mongodb驱动程序mongodb和documentdb之间有什么区别吗?

我希望mongodb的所有功能都具有documentdb的价格。

1 个答案:

答案 0 :(得分:3)

对于SO来说,这可能不是一个合适的问题,因为它需要回答意见,但是因为你问过...... DocumentDB的MongoDB API基本上实现了整个MongoDB API,但有两个值得注意的例外:1)没有聚合,2)没有能力将您自己的代码安装为辅助代码并接收oplog事件。后一个功能仅用于像Meteor这样的实时系统,您可以使用轮询回退,因此它很少是必须的。

因此,如果您不需要这些功能,那么带有MongoDB API的DocumentDB听起来非常适合您的“具有documentdb价格的mongodb功能”。

真正的MongoDB性能高度依赖于底层硬件和配置,但您会发现任何MongoDB安装和DocumentDB之间的性能行为存在差异,这在很大程度上取决于您的设计。如果您可以构建一个MongoDB系统来执行DocumentDB以获得不完全负载的微基准测试,那就不足为奇了。但是,DocumentDB的设计基本上是无限可扩展的,同时保持SLA保证的低延迟(读取10ms,写入15ms,均为99.99p)。