Mysql 一个数据库vs多个数据库
我知道这个问题已经被问过很多次了,但我想知道我的情况的答案 我正在开发一个web应用程序,它将允许我的客户管理他们的客户、兑现、发票、预订、网站和许多其他事情。我使用的是MySQL和一个包含大约30个表的数据库 我希望我的解决方案能够处理大约100000个或更多的客户。我客户的需求将非常不同。从一年100次插入到另一次每天1000次插入 现在我使用的是一个数据库(但我还在开发中),其中每个表都有一个account字段。我已经创建了一个模型层来访问自动将帐户附加到每个查询的数据(其中guid=1变为其中account=X和guid=1)。这项工作非常好,而且很容易维护,但我担心混合客户的数据这一事实。请注意,我使用的是增量id而不是GUIDMysql 一个数据库vs多个数据库,mysql,database,multi-tenant,Mysql,Database,Multi Tenant,我知道这个问题已经被问过很多次了,但我想知道我的情况的答案 我正在开发一个web应用程序,它将允许我的客户管理他们的客户、兑现、发票、预订、网站和许多其他事情。我使用的是MySQL和一个包含大约30个表的数据库 我希望我的解决方案能够处理大约100000个或更多的客户。我客户的需求将非常不同。从一年100次插入到另一次每天1000次插入 现在我使用的是一个数据库(但我还在开发中),其中每个表都有一个account字段。我已经创建了一个模型层来访问自动将帐户附加到每个查询的数据(其中guid=1变
我的问题是,我应该继续这样做,还是应该为每个客户端创建一个数据库?您看到的是一个多租户数据库。多租户解决方案的范围从每个客户机一个数据库(无共享)到每个客户机一行(共享所有内容) “不共享”是每个客户端最昂贵的。大量的客户端意味着大量的服务器。客户端灾难恢复简单明了。“无共享”减少了意外将客户端数据公开到几乎为零的可能性 “共享所有内容”是每个客户端最便宜的。每个表都有一列,用于标识行所属的客户机。客户端灾难恢复非常复杂;您必须恢复每个表中的单个行。“共享一切”是最有可能意外暴露客户端数据的体系结构 微软在这方面有一篇很好的文章。他们的术语是
- 独立数据库(无共享)
- 独立模式
- 共享架构(共享所有内容)