CouchDB,存储小的冗余信息

问题描述 投票:0回答:1

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

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" }
}

谢谢

couchdb
1个回答
2
投票

关于CouchDB使用建议的第一篇读物之一是https://github.com/eHealthAfrica/couchdb-best-practices#document-modeling

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.