Couchdb 我真的应该将所有不同类型的数据放在一个数据库中吗?

Couchdb 我真的应该将所有不同类型的数据放在一个数据库中吗?,couchdb,Couchdb,引自: MapReduce可能很有挑战性,特别是如果您花了多年时间使用关系数据库的话 我正处于那种情况。不同的是,对我来说,这不仅适用于MapReduce,而且适用于schemafree'ish数据库的整个概念……;) 我是否真的可以将所有数据放在同一个数据库中,而不管它们有多不同(用户、会话等)?因为视图是在数据库级别工作的,所以我知道我应该(需要?) PS:我知道这是一个相当不具体的问题,它取决于具体的需求……:) 对于原型设计、学习CouchDB或其他早期项目,我建议您将所有内容都保存在同

引自:

MapReduce可能很有挑战性,特别是如果您花了多年时间使用关系数据库的话

我正处于那种情况。不同的是,对我来说,这不仅适用于MapReduce,而且适用于schemafree'ish数据库的整个概念……;)

我是否真的可以将所有数据放在同一个数据库中,而不管它们有多不同(用户、会话等)?因为视图是在数据库级别工作的,所以我知道我应该(需要?)


PS:我知道这是一个相当不具体的问题,它取决于具体的需求……:)

对于原型设计、学习CouchDB或其他早期项目,我建议您将所有内容都保存在同一个数据库中。保持简单。专注于构建软件

随着项目的发展,何时扩展到更多数据库是显而易见的

如果应用程序的用户将直接连接到CouchDB,则有两个注意事项:

  • 用户帐户已位于名为
    \u users
    的单独数据库中。CouchDB使用它来确认密码和处理身份验证
  • 访问控制(特别是读取数据的权限)在数据库级别进行控制。用户可以完全读取数据库,也可以根本不读取。当应用程序开始维护每个用户的私有数据时,这是创建多个数据库的好情况
  • 有时,用户从未直接连接到CouchDB。考虑使用Web服务器前端和数据库后端的传统三层应用程序栈。与MySQL或任何其他数据库一样,从CouchDB的角度来看,您只有一个数据库用户:web服务器。在这种情况下,拆分成多个数据库在很大程度上是一种优化,可以推迟到需求明确为止