概念
数据库分库分表原则遵循:垂直拆分和水平拆分
①垂直拆分
垂直拆分就是根据不同的业务,分为不同的数据库,比如会员数据库、订单数据库、支付数据库等,垂直拆分在大型电商系统中用的非常常见。
优点: 拆分后业务清晰,拆分规则明确,系统之间整合或扩展容易。
缺点: 部分业务表无法关联查询,只能通过接口方式通讯解决,提高了系统复杂度,存在分布式事务问题。
②水平拆分
水平拆分是把同一个表拆到不同的数据库中,进行数据均摊。
相对于垂直拆分,水平拆分不是将表的数据做分类,而是按照某个字段的某种规则来分散到多个库之中,每个表中包含一部分数据。
简单来说,我们可以将数据的水平切分理解为是按照数据行的切分,就是将表中的某些行切分到一个数据库,而另外的某些行又切分到其他的数据库中,主要有分表,分库两种模式
该方式提高了系统的稳定性跟负载能力,但是跨库关联查询性能较差。