我应该在多个数据库之间拆分数据还是将它们保存在一个数据库中?

sal*_*ers 5 mysql database-design data-modeling multi-tenant

我正在用PHP和MySQL创建一个多用户/公司Web应用程序.我很想知道构建数据库的最佳实践是什么.

这个网络应用程序将有数百家公司和数千名用户,因此需要强大.每家公司都无法看到其他公司的数据,只有他们自己的数据.我们将主要存储文本数据,每个公司可能只有几MB.

目前,该数据库包含14个表(对于一个样本公司).

将所有公司及其用户的数据放在一个数据库中并为每个公司创建一个唯一的公司ID更好吗?

要么:

是否更好地将每个公司的数据放在自己的数据库中,并为我添加的每个新公司创建一个新的数据库和表集?

每种方法的优点和缺点是什么?

谢谢,

斯蒂芬

phi*_*reo 7

如果所有不同的公司都使用单个Web应用程序,除非您有非常特殊的需要或理由使用单独的数据库(听起来不像您这样做),那么您绝对应该使用单个数据库.

您的应用程序将负责仅向正确的经过身份验证的用户显示正确的信息.