我正在设计一个基于 CouchDB 的系统。它将有一些不同的组件——用户列表、主数据存储、日志记录等。我想了解的是,CouchDB 数据库的范围应该是什么?我应该为每个组件使用单独的数据库,还是只是将所有内容合并为一个并为每个文档使用“类型”属性?我知道单个数据库可以非常愉快地变得非常大,但是将所有内容保存在一个数据库中而不是拆分数据库会影响 View 的性能吗?基本上,涉及哪些权衡?
给大家加油。
最佳答案
好问题,丹。
我认为这基本上是一个优化问题。一个好主意是不要过早优化(分成多个数据库)。 (一个异常(exception)可能是日志,它可以迅速支配所有其他数据,经常需要压缩。我可能会立即拆分日志。)
View 性能不会受到影响。作为预定义查询( View 定义)的交换,CouchDB 始终保证快速查看结果。
是否拆分为多个数据库通常取决于身份验证和权限问题。如果您使用普通的 Web 服务器前端,则不必担心。
与所有 View 一样,如果您经常查询,它们就很好。查询使 View 保持最新,响应时间快。查询中的延迟会导致处理为下一个构建。在生产中,这不是什么大问题。
关于couchdb - 何时使用单独的 CouchDB 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4897223/