今天分享一些项目中关于数据库分库分表的经验
背景
- 一般随着业务的增长,出现以下问题都需要考虑分库分表
- 单表的字段过多,
- 数据量过大,
- db请求压力过大
操作
- 如果表的字段过多,可以考虑垂直分,将表的一些字段拆分出去建立扩展表
- 数据量过大的时候,可以考虑数据的当前总量和增量,进行水平拆分
- 数据库请求压力大的时候,可以进行分区,进行分库管理
说明
- 拆分表的字段以及分表策略需要根据实际情况而定,分表后如果需要根据非分表字段查询是一件很痛苦的事情
- 基于上面提到的问题,我们可以考虑在分表的同时使用es等存储数据方便进行索引