我正在考虑采用一种现有的php和mysql应用程序,这种应用程序是为内部使用而开发的(因此有一个单独的数据库,没有任何内置的多租户)。
我认为有可能以某种方式更好地运行自己数据库的每个客户端。我想知道的是,如果提供的凭据可以在任何一个数据库中,在某些情况下可能是多个数据库,如何最好地处理用户的登录。
我曾想过迭代每个数据库并检查有效凭据。如果凭证以倍数存在,则返回用户选择的列表,或者仅存在一次然后登录。
这是一个有效的解决方案吗?如果应用程序扩展为在数百个数据库中拥有数千名用户,它是否会开始表现不佳?
答案 0 :(得分:0)
我建议为每个客户端安装一个不同的应用程序实例,并使用自己的数据库。
每个客户端都应该拥有自己的URL来访问应用程序,而不是让他们从1个位置访问所有客户端,而是指向多个数据库。
如果您从一个位置(多个数据库)运行所有客户端,这将解决您可能遇到的一些问题
需要注意的另一点是,连接和断开数据库是很昂贵的。如果在用户登录时必须这样做100次,以找出该用户所在的数据库。这可能会使系统或数据库服务器失效。