我必须存储许多与产品相关的信息。对他们来说是价格,我需要存储他,以及所有更新。
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" }
}
由于
答案 0 :(得分:2)
我首次阅读有关CouchDB使用建议的内容之一是https://github.com/eHealthAfrica/couchdb-best-practices#document-modeling
在您的情况下,如果您有一个使用价格历史记录更新的单个文档,您将获得一个包含许多修订的大文档。本文档的每次更新都应该保留其历史的一部分,这将对存储产生一些影响。复制过程还受到为文档创建的修订数量的影响。
单个文档也更容易受到您必须管理的冲突的影响。
如果您有许多未更新的小文档,则所有以前的问题都会减少。
在任何情况下,您都应该考虑您的商业案例,以确定哪种方法更适合您。