当谈到管理数据库时,管理包含所有客户数据的单个数据库(多租户)显然更容易。
如果我创建应用程序时只考虑单个客户端,则意味着每个新客户端都将拥有自己独立的 mysql 数据库。
这意味着如果我有 10K 个客户,我将有 10K 个 mysql 数据库,每个客户一个。
这会是一场管理噩梦吗?(升级等)
某些事情会变得更容易,比如备份客户数据库。此外,如果客户使用更多资源,则可以备份数据库并将其移动到使用率较低的服务器等。
评论?
答案1
就我个人而言,我认为每个客户数据的完整性和安全性比任何其他考虑因素都重要。我永远不会配置 2 个不同的客户端使用同一个数据库。如果这是您选择的业务,那么我的观点是您的责任和负担,提供确保每个客户数据完整性和安全性的环境。如果这意味着您需要承担更多的硬件成本和管理开销,那么这就是经营业务的成本。
答案2
我会选择使用较少的数据库进行整合。10K 数据库的管理看起来是一场噩梦,但同时也有机会实现更好的灾难恢复。
当这些数据库位于不同的硬件资源上时,资源是提出和解决问题的好点子。
也许你可以根据具体情况来做这件事。单个数据库上的重度 i/o 客户端和分组不太密集的客户端。如果范围可以扩展到 10,000 之多,那么可能没有一个标准化的解决方案可以在这里发挥作用。