朋也的博客 » 首页 » 文章
作者:朋也
日期: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
优劣:
垂直:
水平:
总结:可以通过垂直分表(分库)与水平分表(分库)相结合来使用,会更灵活
分库分表的优劣:
补充: