在针对多个客户端设计的以数据库为中心的应用程序中,我一直认为将单个数据库用于所有客户端是“更好”的选择-将记录与正确的索引和键相关联。在听Stack Overflow播客时,我听到Joel提到FogBugz每个客户端使用一个数据库(因此,如果有1000个客户端,则将有1000个数据库)。使用这种架构的优势是什么?
我知道对于某些项目,客户需要直接访问其所有数据-在这样的应用程序中,很明显每个客户都需要自己的数据库。但是,对于不需要客户端直接访问数据库的项目,每个客户端使用一个数据库有什么好处?从灵活性的角度来看,使用具有单个表副本的单个数据库要简单得多。添加新功能更容易,创建报表也更容易,管理也更容易。
在听到Joel(经验丰富的开发人员)提到他的软件使用不同的方法之前,我对“为所有客户提供一个数据库”方法非常有信心,并且我对他的决定有些困惑...
我听说人们援引数据库速度慢,但记录数量众多,但是任何具有某些优点的关系数据库都不会出现此问题-特别是如果使用正确的索引和键。
任何输入,不胜感激!