使用多个数据库实例或仅一个实例构建Web应用程序
我目前正在设计一个Web应用程序,我将把客户注册为公司.每家公司都有自己的一套用户.在设计时,我想知道哪种方法最有效.我看到使用subdomains的网站,如fogbugz或basecamp.在子域的情况下,您是否有每个子域的数据库实例?我想知道是否建议每个公司有一个数据库实例,或者我应该有某种公司表,并从一个数据库管理公司和用户数据/凭据.
哪种方法最好?有关这个问题的文学(即任何网络或书籍)? 提前致谢! 解决方法你必须权衡你的选择,因为其中一些将是一个意见问题,可能对你的实施是不可行的.话虽如此,我会考虑采用单一数据库方法,原因如下: >维护:当每个注册的“客户端”运行数据库时,您将很容易地达到对应用程序模式进行的任何更改或升级必须应用于每个单个数据库实例的情况.这将变得可笑,快速. 您提到“白标”服务,通过自定义子域提供他们的产品.我不知道这些工作如何,但子域只是DNS区域文件中的基本CNAME或A记录.添加这些的过程可以自动化,应用程序的设计和一些服务器配置可以处理将这些子域与正确的帐户和数据链接.他们只是网址,所以也许在后端,应用程序不区分: http://client.example.com http://example.com/client 总的来说,您可能会认为所有这些问题都是您可以并希望处理的问题.但是请注意,通过这样做,您可能会在脚下拍摄自己,您可以从制定精心设计的单个数据库模式和前瞻性的前端获得更多收益. * @ xQbert提到可扩展性与多个数据库的真正好处.我修改了这个答案,以澄清我更关心其他方面. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |