分库分表
-
垂直分库 以表为依据,根据业务将不同的表拆分到不同的库中,如用户信息--用户数据库、订单信息--订单数据库(微服务常用)
-
按照业务对数据分级管理、维护、监控、扩展
-
在高并发下,提高磁盘IO和数据量连接数
-
-
垂直分表 以字段为依据,根据字段的属性,将不同的字段拆分到不同的表中(在项目中主要是把一些商品的基本信息和详细信息进行垂直分表,一对一关系,使冷热数据分离)
-
冷热数据分离
-
减少IO过渡争抢,两表互不影响
-
拆分规则:把不常用的字段单独放到一张表中,把text(大文本)、blob(二进制)等大字段拆分出来放到附件表中
-
水平分库 将一个库的数据拆分到多个数据库中(根据路由规则进行操作)(mycat)
-
解决了单库数据量过大,高并发的性能瓶颈问题
-
提高了系统的稳定性和可用性
-
路由规则: 根据id节点取模、根据id范围进行路由等
-
水平分表 表可以在一个数据库中 (mycat)