Sak*_*oto 2 sql database database-design
两种情况:
大型应用程序 - 一个数据库w /所有表
要么
大型应用程序 - 具有相关表的多个数据库
任何人都可以列出优点/缺点吗?
除非您有特殊原因,否则请将所有内容保存在一个数据库中.我想不出将单个架构固定到多个DB中的单一优势.
一个数据库创建一个恢复单元,允许一致的备份.它还提供了一个单一的故障转移单元,以实现高可用性.对于多个数据库,除非冻结活动(通常是不可能的),否则无法进行一致的备份.在发生故障时,多个数据库也会在协调"组"故障转移方面带来挑战(某些DB可能会故障转移到新服务器,而其他数据库可能会留下来).
多租户模型在多租户模型中具有优势,每个租户可以拥有自己的数据库,特别是如果租户可以选择或选择加入版本升级(单个数据库不可能这样).但这是一个场景,许多数据库具有相同的模式(每个数据库中都有相同的表),而不是跨多个数据库拆分模式.
通过数据分区(分片)进行扩展只能通过拥有多个数据库来实现,但这与将数据库拆分为"部分"(每个数据库具有不同模式)不同.碎片具有相同的模式,但包含特定范围的数据.