在SQL数据库中,数据是围绕表格组织的。在CouchDB中没有表格。如何在CouchDB中组织单个应用程序的数据?单个数据库,其中简单地抛出许多文档,然后使用视图对具有相同目的的数据进行分组?或者多个数据库(听起来不对,但在某些项目中看到这一点)被视为SQL表?
答案 0 :(得分:3)
与大多数情况一样,这取决于您的应用要求。使用单个数据库可以更简单,但并非总是如此。
我见过人们使用包含多个设计文档的单个数据库,每个文档都定义了与特定类型文档相关的自己的视图。这允许多种类型的文档在单个数据库中共存。单个数据库使备份策略变得更加简单。
我见过多个数据库用于按用户/组/帐户逻辑分组。如果保持数据清晰地分开和分离很重要,这可能很有吸引力。这种方法的另一个好处是,您可以更轻松地在不同类型的客户/帐户之间实现自定义逻辑。 (当然,需要权衡所有不同数据库之间的事情)
这个问题没有“正确的答案”,就像我之前说的那样取决于你的应用程序的需求。我会从单个数据库开始,但如果感觉更适合您的数据,可以切换到多个数据库。 CouchDB非常灵活:)