MapReduce可能具有挑战性,特别是如果您花了数年时间使用关系数据库。
我正是在这种情况下。不同之处在于,这不仅适用于MapReduce,也适用于schemafree'ish数据库的整个概念......;)
我是否真的可以自由地将我的所有数据放在同一个数据库中,无论它们有多么不同(用户,会话等)?由于视图在数据库级别上工作,我理解我应该(需要?)。
PS:我知道这是一个非常不明确的问题,这取决于具体需求......:)答案 0 :(得分:3)
对于原型设计,或学习CouchDB或其他早期项目,我建议您将所有内容保存在同一个数据库中。把事情简单化。专注于构建软件。
随着项目的发展,何时扩展到更多数据库将是显而易见的。
如果您的应用程序的用户将直接连接到CouchDB,则有两个注意事项:
_users
的单独数据库中。 CouchDB使用它来确认密码和处理身份验证有时,用户从不直接连接到CouchDB。考虑具有Web服务器前端和数据库后端的传统3层应用程序堆栈。与MySQL或任何其他数据库非常相似,从CouchDB的角度来看,您只有一个数据库用户:Web服务器。在这种情况下,拆分成多个数据库主要是一种优化,可以推迟到需求明确之前。