我目前正在设计一个网络应用程序,客户将以公司的形式注册。每个公司将有自己的一组用户。在设计过程中,我想知道哪种方法最有效。我看到像FogBugz或Basecamp这样使用子域的网站。在使用子域的情况下,是否对每个子域都需要一个数据库实例?我想知道是否建议为每个公司设置一个数据库实例,还是应该拥有某种公司表,并从一个数据库中管理公司和用户数据/凭据。
哪种方法是最好的?是否有关于此主题的文献(例如任何网站或书籍)?
谢谢!
我目前正在设计一个网络应用程序,客户将以公司的形式注册。每个公司将有自己的一组用户。在设计过程中,我想知道哪种方法最有效。我看到像FogBugz或Basecamp这样使用子域的网站。在使用子域的情况下,是否对每个子域都需要一个数据库实例?我想知道是否建议为每个公司设置一个数据库实例,还是应该拥有某种公司表,并从一个数据库中管理公司和用户数据/凭据。
哪种方法是最好的?是否有关于此主题的文献(例如任何网站或书籍)?
谢谢!
http://client.example.com
http://example.com/client
总的来说,您可能会认为这些问题都是您可以并且更喜欢处理的事情。然而,请注意,这样做可能会自讨苦吃,通过设计一个良好的单一数据库架构和一个良好抽象的前端,您可以获得更多的收益。
*@xQbert提到使用多个数据库的实际好处,我修改了这个答案以澄清我的关注点在于其他方面。