天蓝色中的 DocumentDB(通过 MongoDB 协议)集合大小限制

Posted

技术标签:

【中文标题】天蓝色中的 DocumentDB(通过 MongoDB 协议)集合大小限制【英文标题】:DocumentDB (via MongoDB protocol) collection size limit in azure 【发布时间】:2017-01-27 05:48:59 【问题描述】:

在没有分区的情况下,MongoDB 中 Azure 中的每个集合都有 10GB 的限制(使用 DocumentDB 之上的驱动程序),我有一个大小为 50GB 的集合。

目前我已经根据一个字段划分数据并将它们存储在 6 个不同的集合中。

我应该做分区(不知道怎么做)还是有办法增加这个大小限制?

【问题讨论】:

此限制是否仅绑定到 Azure?因为在达到实例可以容纳的最大大小之前,mongodb 不会限制集合的大小。但是,分片环境的集合大小有一些限制 ~TBs 的数据。 是的,这仅绑定到 Azure。分区后,我们可以在一个集合中拥有 250GB,这不完全是 mongodb - 它是 DocumentDB 在 Azure 之上再创建一层将 mongo 查询转换为文档数据库查询。 这个问题可能会误导某些人:您说的是 DocumentDB,而不是 MongoDB。有关集合和定价的所有内容都特定于 DocumentDB。 MongoDB 支持处于协议/API 级别。我相应地编辑了你的标题。 【参考方案1】:

DocumentDB 集合管理确实与 MongoDB 访问协议无关。集合要么是未分区的(上限 10GB),要么是分区的(250GB 及以上)。

如何在集合之间划分数据取决于您。但在决定多个非分区集合和单个分区集合时,请记住以下几点:

集合用作分区边界,其中包括存储过程。如果您需要处理跨集合的内容,这可能是您的应用存在的问题,具体取决于其逻辑。 非分区集合的请求单位 (RU) 规模为 400-10,000。分区集合从 10,100 2,500 RU 开始。根据您的应用预算,这可能会影响您的收款决定。 您不能从非分区 分区转换集合。如果您决定更改集合类型,则需要创建一个新集合并在集合之间移动数据。

【讨论】:

来自客户支持我发现如果我们使用 MongoDB 协议,分区是不可能的。 DocumentDB 即将发布对分片的支持。如果您想参与预览,请联系 askdocdb at microsoft dot com。 感谢 David Makogon 和 Andrew Liu。现在,我正在使用旧程序,在该程序中,我通过不同集合中的字段来分隔数据。但将等待分片支持。 @AndrewLiu,分片支持是否只是支持 MongoDB 的分片 API,但会使用 DocumentDB 的分区集合?

以上是关于天蓝色中的 DocumentDB(通过 MongoDB 协议)集合大小限制的主要内容,如果未能解决你的问题,请参考以下文章

AWS回击了!推出DocumentDB,可兼容MongoDB

通过 SSH 隧道连接到 .Net Core 中的 AWS DocumentDb

上手DocumentDB On Azure

将数据保存到 DocumentDb 中的多个集合中

我应该在 DocumentDb 中非规范化还是运行多个查询?

通过php的MongoDB driver连接Azure的DocumentDB PaaS