如何选择垂直|水平切分

一、垂直切分

1.垂直切分

    按照业务去切分

    每种业务一个数据库

    不同业务之间,禁止跨库join联查

2.架构图

如何选择垂直|水平切分_第1张图片

3.优点

    拆分后业务清晰,拆分规则明确

    系统之间容易扩展和整合

    数据维护简单

4.缺点

    部分业务表无法join,只能通过接口调用,提升了系统的复杂度

    跨库事务难以处理

    垂直切分后,某些业务数据过于庞大,仍然存在单体性能瓶颈

二、水平切分

1.水平切分

    将一张表的数据按照某种规则分到不同的数据库总

    需要确定分片的规则

    使用分片字段查询时,可确定实体库,其它字段查询,查询所有表

2.架构图

如何选择垂直|水平切分_第2张图片

3.优点

    解决了单据大数据、高并发的性能瓶颈

    拆分规则封装好,对应用端几乎透明,开发人员无需关心拆分细节

    提高系统稳定性和负载能力

4.缺点

    拆分规则很难抽象

    分片事务一致性难以解决

    二次扩展时,数据迁移、维护难度大

你可能感兴趣的:(如何选择垂直|水平切分)