我爱编程

2018-02-13

2018-02-13  本文已影响23人  cloudzhou

针对目前业务的高并发高数据量需求解决方案

场景描述

目前遇到的问题

数据量估计

假设 100 在线,5s 推送一次,一天 10 小时预估,一个月数据量:
100 * 10 * 60 * 60 * 30 / 5 = 21600000
按照这个设计,一年达到 2.5 亿
如果终端并发量 1w,那么两天数据量达到亿级别

目前我的解决方法

1. Mysql 分库分表

如果数据量还在我们的可控范围,那么数据库的分表分库是最为明显的,这里能否分表分库的一个关键是维度问题

不同的人员可以持有不同的终端,必要的时候,需要做数据 merge
即使如此,Mysql 单表也尽量控制在 1 亿级别

2. 新数据库支持

这里提供如下的几个存储组件:

我建议是在构建大量测试数据情况下,做一个 qps 测试

3. 基于文件的中间件开发

这个对技术要求比较高,在目前信息有限下的设想:

数据冷热分离

从目前的数据量来看,挑战在于行记录,和流量

我的建议

如果确实按照目前的数据量,关系数据库基本不可行
确定需求,以便决定分库分表,或者新数据库是否支持
生成大量数据测评,以便确定是否可行

上一篇下一篇

猜你喜欢

热点阅读