我何时使用单独的CouchDB数据库?

时间:2011-02-04 10:58:57

标签: couchdb

我正在设计一个基于CouchDB的系统。它将有一些不同的组件 - 用户列表,主数据存储,日志记录等。我想要感受的是,CouchDB数据库的范围应该是什么?我应该为每个组件设置单独的数据库,还是将所有内容都放入一个并为每个文档使用“类型”属性?我知道单个数据库可以非常愉快地获得非常大的数据,但是通过将所有数据库保存在一个数据库中而不是将数据库分开来影响视图的性能?基本上,涉及的权衡是什么?

干杯。

1 个答案:

答案 0 :(得分:13)

好问题,丹。

我认为这基本上是一个优化问题。一个好主意是不要过早地优化(分成多个数据库)。 (一个例外可能是日志,它可以快速控制所有其他数据,需要经常进行压缩。我可能会立即拆分日志。)

查看效果不会受到影响。作为预定义查询(视图定义)的交换,CouchDB始终保证快速查看结果。

是否拆分为多个数据库通常取决于身份验证和权限问题。如果您使用普通的Web服务器前端,那就不那么重要了。

与所有观点一样,如果经常查询,它们就可以了。查询使视图保持最新,响应时间快。查询中的延迟会导致处理以构建下一个查询。在生产中,这不是一个问题。