消息关闭
    暂无新消息!

我使用阿里云做物联网设计,现在采用三级分段存储:

  1. Redis/KV-store存储热点数据;

  2. MySQL存储一定时间内的数据;

  3. 文件系统压缩归档存储超出时限外的数据;

现在发现MySQL一直是整个系统的瓶颈。单台设备数据采集是sample/50ms,即20sps。所以24小时的数据量为1728000点(1.728M),1K台设备每天数据量为(1.728B)。

另外一类数据采样率是0.5sps,每天数据量为43200(43K),1K台设备每天数据量为43M。100天数据量为4.3B。

一般来说,我的MySQL数据库需要保存1~2个月。所以单表中保存亿级别的条目很正常。由于数据集较大,所以数据检索花的时间较长。所以必须每天归档,优化数据库表。

阿里云的RDS我使用了配置较低的MySQL,现在每天下午归档时就会出现IOPS占80%的警告。

由于数据库是整个系统的瓶颈。所以,数据库必须得到改良,目前不太清楚应该如何选择,是选择分布式数据库RDBS,还是购买ECS自建TSDB(我中意InfluxDB)?

应该说TSDB虽然简单,但是IOPS要求很高,既要求实时写入,又要求实时检索。

希望有经验的朋友指导一下。


1个回答

︿ 0

阿里云的问题不是采用哪种数据库系统的问题,是他的磁盘性能太渣,怎么优化都没用。要么花钱买性能优化的数据库示例要么迁移到别的平台上。