【问题标题】:DocumentDB (via MongoDB protocol) collection size limit in azure天蓝色中的 DocumentDB(通过 MongoDB 协议)集合大小限制
【发布时间】: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 级别。我相应地编辑了你的标题。

标签: azure azure-cosmosdb


【解决方案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 的分区集合?
猜你喜欢
  • 2017-09-21
  • 2017-05-23
  • 2012-05-28
  • 2012-12-15
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
相关资源
最近更新 更多