(1)共享表架构
共享表架构即所有的用户共享相同的数据库实例和相同的数据库表,但可以通过用户ID等字段来区分数据的从属关系。
由于共享表架构最大化地利用了单个数据库实例的存储能力,所以这种架构的硬件成本非常低廉。但对于程序开发者来说,却增加了额外的复杂度,因为多个用户数据共同存储在相同的数据库表内,这需要额外的业务逻辑来隔离每个用户的数据。此外,这种架构的灾备成本也会很高,因为这不仅需要专门编写数据备份的程序,而且在恢复数据时,需要对数据库表进行大量的删除和插入操作,一旦数据库表包含大量其他客户的数据,势必对系统性能和其他客户的体验带来巨大影响。