【发布时间】:2019-05-31 15:12:53
【问题描述】:
我正在将没有分区的 Cloudant 数据库迁移到 Cloudant 的新分区系统,以降低我的 ibm 云帐户的成本。上下文可以这样总结:
- 我正在处理具有类别名称的电子邮件对象
- 我每天可能会收到更多 dans 100 新条目(电子邮件)
- UI 可以查询从日期 A 到日期 B 以及类别 C1、C2、... C100 中的任何可能类别组合的电子邮件。
- UI 仅显示 15 封电子邮件/页
问题是关于这种数据模型的分区,并尽可能避免比基于分区的查询更昂贵的全局查询(跨分区)。
我最初以为我会每天进行一次分区,但最终我可能会遇到一种情况,即查询过滤特定类别 Cn 的电子邮件 4 个月,但特定类别每天只收到 1 封电子邮件,这意味着在 UI 上显示一页(共 15 封电子邮件)我应该进行 15 次查询,这是不可接受的。
在分区到来之前,我只是使用 Lucene 查询引擎进行全局查询,但由于成本原因,现在不再这样做了。
此外,我还考虑将所有电子邮件放在一个分区中,以便我能够在该分区中使用相同的旧查询,并且由于它是一个分区,我不会达到全局查询价格而是分区查询价格。这在理论上可行,但我猜可能有一些限制,因为有关分区的文档建议不要将“太多数据”放在单个分区中。
你对这种问题有什么建议吗?
谢谢。
【问题讨论】:
标签: ibm-cloud couchdb cloudant