Couchbase - 大型文档还是大量较小的文档?

标签 couchbase

我正在构建一个允许用户发布内容的应用程序。然后可以对此内容发表评论。

假设如下:

  1. 内容文档的大小在 200KB 到 3MB 之间,具体取决于 关于文字内容。
  2. 每条评论的大小在 10KB 到 100KB 之间。
  3. 可以有 1 条评论,也可以有 1000 条评论。没有限制。

我的问题是,在存储内容时,各个评论应该存储在同一个文档中还是应该被分解?

最佳答案

我当然会将帖子内容和评论分开,假设应用程序的某些部分将在没有评论的情况下预览/使用帖子。

对于评论本身(假设它们是分开的),我想说许多较小的评论通常会更好,如果仅考虑到存在具有数百或数千条评论的帖子,您就不会想要立即使用它们,因此只获取需要(显示)的文档是有意义的,而不是加载 MB 的评论以仅使用当时获取的 <100KB。

您可能不需要单独存储注释,但如果您的 key 符合逻辑并遵循可预测的方案,我认为没有理由不单独存储它们。但是,如果您想要进行一些分组,我可能会避免对每个文档进行比您通常使用的更多评论的分组。

如果您使用 View ,将更多评论分组到单个文档中也许可能会有一些好处,但即便如此,这也取决于您的用例。

Couchbase 单独存储大量文档不会出现软件瓶颈,唯一的限制是非常相似的硬件限制;您是否有大量小文档或较少的大文档。

关于Couchbase - 大型文档还是大量较小的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28454281/

相关文章:

spring-boot - Spring Data Couchbase 索引问题

kubernetes - 无法使用运算符(operator)通过部署在 OpenShift 上的 Couchbase 控制台添加新存储桶

Couchbase 指标排序计数始终为零 - N1QL + .NET SDK

mysql - 视频和图像数据的缓存 - Couchbase

view - 使用设计文档有什么好处?

couchbase - Couchbase 中的主节点是什么?

ios - 通过 Couchbase Sync Gateway 与 Couchbase Lite 同步看不到任何文档( channel 问题?)

concurrency - Couchbase 读/写并发

default - 什么是沙发池

couchbase - couchbase 3.0 支持事务吗?