CouchDB,存储小的冗余信息

时间:2017-12-19 12:16:31

标签: couchdb

我必须存储许多与产品相关的信息。对他们来说是价格,我需要存储他,以及所有更新。

nosql数据库的最佳做法是什么

储存:

{
  "_id": "price:usd:book:<timestamp>",
  "price": "1"
},
{
  "_id": "price:usd:book:<timestamp>",
  "price": "2.1"
}

{
  "_id": "price:usd:book",
  "price": { "<timestamp>": "1", "<timestamp>": "2.1" }
}

由于

1 个答案:

答案 0 :(得分:2)

我首次阅读有关CouchDB使用建议的内容之一是https://github.com/eHealthAfrica/couchdb-best-practices#document-modeling

在您的情况下,如果您有一个使用价格历史记录更新的单个文档,您将获得一个包含许多修订的大文档。本文档的每次更新都应该保留其历史的一部分,这将对存储产生一些影响。复制过程还受到为文档创建的修订数量的影响。

单个文档也更容易受到您必须管理的冲突的影响。

如果您有许多未更新的小文档,则所有以前的问题都会减少。

在任何情况下,您都应该考虑您的商业案例,以确定哪种方法更适合您。