我正在开发一个 Web 应用程序,该应用程序将要求用户拥有自己的一组私有数据。我最初的计划是创建一个 stores 表、一个 users 表和一个 user_stores 相交表。然后,我将在 stores 表中保存该商店的数据库名称(并使用应用程序用户和密码创建每个特定于商店的数据库,以便 Web 应用程序始终可以登录)。
每家商店都有相似的数据(用户、产品、运输方式等),而且我知道我可以使用外键引用将所有内容绑定到一个巨大的数据库中。但是,由于数据非常具体并且可能是专有的,使用我的原始设计还是制作一个包含每个人数据的单一数据库会更好吗?
我正在考虑扩展问题,单独的数据库会更好,因为我们可以将更活跃的帐户放在他们自己的(或更强大的)数据库服务器上,如果需要,只需在存储表中添加一个服务器位置字段。此外,它可能更安全,因为我们可以将用户登录信息添加到数据库中,并且只允许他们访问他们的数据(防止一个用户编辑另一个用户的内容)。我的问题是,是否有人担心我错过了?几乎我读过的每一篇文章都说不要使用我正在考虑的方法,而且我不是 DBA。任何输入都会有所帮助。
附加信息:这将托管在我将拥有根访问权限的专用服务器上。我可以根据需要创建任意数量的 MySQL 数据库。