Couchbase - 大型文件还是许多小型文件?

时间:2015-02-11 12:23:36

标签: couchbase

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

假设如下:

  1. 内容的文件在200KB到3MB之间 关于文字内容。
  2. 每个评论的大小在10KB到100KB之间。
  3. 可能有1条评论,或1000条。没有限制。
  4. 我的问题是,在存储内容时,个别评论是应该存储在同一文档中还是应该分解?

2 个答案:

答案 0 :(得分:5)

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

对于评论本身(假设它们是分开的)我会说许多较小的评论通常会更好,如果只是因为考虑到存在100或1000条评论的帖子,你就不会想要要立即使用它们,所以只需要获取所需文件(显示),而不是加载评论的MB只能使用< 100KB当时获得的文件。

您可能不需要单独存储注释,但提供您的密钥是合乎逻辑的并遵循可预测的方案,我认为没有理由不单独存储它们。但是,如果你想要一些分组,我可能会避免为每个文档分组更多的注释,而不是典型的用法。

如果您正在使用视图或许可能会将更多注释分组到单个文档中,但即便如此,这也取决于您的用例。

Couchbase不存在单独存储大量文档的软件瓶颈,唯一的限制因素是硬件约束非常相似;你是否有很多小文件或较少的大文件。

答案 1 :(得分:3)

我会为每个答案提供一份文件,因为Couchbase在组织记忆中的内容以及不记忆的内容方面非常出色。通常,当应用程序超过25时,应用程序不会显示所有注释(我认为这是大多数应用程序使用的数字,将它们显示在25个块中,顶部更新)。因此,如果最新的25条注释保留在内存中,而较旧的注释随后自动写入磁盘,则在使用内存(对Couchbase始终至关重要)和应用程序访问时间之间保持理想的水平。完美的平衡我会说,我在我的应用程序中做出了类似的决定并且它运行得很好。