上一篇文章中我们说到查询分离对于舆情系统来说不是很好的解决方案,这是因为查询分离虽然解决了复杂查询和查询导致的写入缓慢问题,但是如果主存储数据量越来越大时,写操作也会变的很慢,因此我们就需要引入分库分表方案。
一、案例接上篇文章,舆情系统已经运行了三年,接入的社交平台也是越来越多,每天新增的数据量已经超过5000万,虽然查询数据的速度加快了,但是写入数据的速度越来越慢。经过开发组商讨,打算采用分库分表方案来解决这个问题。大致思路如下:
- 将单表进行拆分;
- 将拆分后的表进行分布式存储;
- 修改业务代码。
大致思路有了,那么我们就以原始数据表为例来看一下表的主要结构:
| 字段 | 说明 |
|---|---|
| Id | 数据id |
| Source | 数据来源 |
| CreateDate | 入库日期(Date类型) |
| Ishandle | 数据是否已处理 |
所谓分库分表可以分为两部分来讲:分表和分库。
- 分表:将表中的数据分成N份,存放到N个结构相同的拆分表中;
- 分库:将数据库拆分成类似结构的N个数据库。



