朋也的博客 » 首页 » 文章

分库分表原理介绍

作者:朋也
日期:2020-06-03
类别:sharding-sphere学习笔记 


版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证

拆分规则:

垂直拆分,水平拆分

举例:

表user

字段:id, username, password, email, address, gender, bio

垂直拆分后

表user 字段:id, username, password

表user_info 字段: email, address, gender, bio

对应的还有垂直分库,就是按照业务对数据库进行划分,比如用户信息相关的单独一个库,用户发的帖子相关的数据单独一个库(这也是最常用的)

水平拆分后

表user1

字段:id, username, password, email, address, gender, bio

表user2

字段:id, username, password, email, address, gender, bio

两张表结构一模一样,这种分表是在存数据的时候动手脚的,比如常见的对主键id取模,分两张表就%2,分3张表就%3

id % 2 == 0  -> user1
id % 2 == 1 -> user2
id % 3 == 2 -> user3

文接链原: https://atjiu.github.io/2020/06/03/sharding-sphere-intro

优劣:

垂直:

水平:

总结:可以通过垂直分表(分库)与水平分表(分库)相结合来使用,会更灵活


分库分表的优劣:


补充: