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

Posted

技术标签:

【中文标题】何时使用单独的 CouchDB 数据库?【英文标题】:When do I use a separate CouchDB database? 【发布时间】:2011-02-04 10:58:57 【问题描述】:

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

大家干杯。

【问题讨论】:

【参考方案1】:

好问题,丹。

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

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

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

与所有视图一样,如果您经常查询。查询使视图保持最新,并具有快速响应时间。查询中的延迟会导致为下一个查询建立处理。在生产中,这不是什么大问题。

【讨论】:

谢谢,这正是我想要的答案!我的直觉是反对过早的优化,我已经开始将它全部保存在一个数据库中,但拆分日志的建议听起来不错。

以上是关于何时使用单独的 CouchDB 数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 javascript 在 couchdb 中使用多个组合键进行查询,而无需为每个组合编写单独的视图?

如何在 couchDB 中组织表?

couchdb安装

couchDB designDoc 开发工作流程和版本控制

从 CouchDB Show Function 发出 AJAX 请求

CouchDB:视图中的过滤函数