Mysql分表分库
垂直拆分(根据业务拆分)、水平拆分(将一张大的表 拆分成n多张不同的子表。)。
大型互联网公司中
会根据业务来实现拆分
分成不同的团队 每个团队中都有自己独立的数据库
会员服务—会员db
订单服务—订单db
支付服务-----支付db
垂直拆分
淘宝网—是否属于垂直电商? 不是
当当网----主要核心的业务卖书籍 —垂直电商
什么是垂直拆分
1.数据库拆分主要指分库分表,其目的主要是分散数据库压力,达到横向扩展,满足均衡访问等。
2.数据库拆分主要有两种方式:垂直拆分和水平拆分。
A.垂直拆分:
将不同业务功能相关的表放到不同的数据库中 也就是类似于 微服务架构中 会员数据库/订单数据库/支付数据库
例如 当当网(卖书)
http://static.mayikt.com/dagang.html
什么是水平拆分
B.水平拆分:
当一张表的业务量行数如果超过500万行(阿里巴巴java开发手册官方推荐),分页/排序效率还是非常低,可以对同一张表数据实现拆分放到多个不同的表中存放。
User表 —500万行数据 考虑分表
User0----500万行数据
User1----500万行数据
User2----500万行数据
User3----500万行数据