在为多个客户端设计的以数据库为中心的应用程序中,我一直认为为所有客户端使用单个数据库"更好" - 将记录与适当的索引和密钥相关联.在收听Stack Overflow播客时,我听到Joel提到FogBugz每个客户端使用一个数据库(所以如果有1000个客户端,则会有1000个数据库).使用这种架构有什么好处?
据我所知,对于某些项目,客户需要直接访问所有数据 - 在这样的应用程序中,很明显每个客户端都需要自己的数据库.但是,对于客户端不需要直接访问数据库的项目,每个客户端使用一个数据库有什么好处吗?似乎在灵活性方面,使用具有表的单个副本的单个数据库要简单得多.添加新功能更容易,创建报告更容易,而且管理起来更容易.
我对"所有客户的一个数据库"方法非常有信心,直到我听到Joel(一位经验丰富的开发人员)提到他的软件采用了不同的方法 - 我对他的决定感到有些困惑......
我听说人们引用数据库会因为大量记录而变慢,但任何具有一些优点的关系数据库都不会出现这个问题 - 特别是如果使用了正确的索引和键.
任何输入都非常感谢!