标题有些误导,不是仅仅需要监控,因为历史数据可能重跑,所以不只是个监控
需求: 对于上报的数据,除元数据外的信息维度可变,打个比方:每条数据包含基础信息(时间、地点),还带有不确定维度的数据信息,比如(人物、吃了多少,喝了多少,拉了多少...),这些数据信息有的要累加,有的要累计方差...
探索: 使用过 prometheus,感觉对上报参数的累加这个特性用起来非常爽,但是对于需求还不太够 调研了 influxdb,想基于这个做点扩展,但试了下 tag 组合多的话单机性能不太行,在我的机器上也就几千的写入,集群方案
目前解决方案: 还是存储放 mysql,手动写程序逻辑来实现 从 db 中 load 历史数据->计算当前时间 batch 的数据,加上历史数据->写回 db,问题在于这样表结构不是很好变,手动写逻辑容易出 bug...
描述的不够清楚的话我还可以补充,不只是数据库,解决方案、思路都可以
1
xylitolLin 2018-11-06 22:51:14 +08:00
难道不是 es ?
|
2
byteli OP @xylitolLin es 也有考虑,纠结的有两个点,一个是因为维度会变,而 es 要预定义 mapping,定义以后也不是不能改,就是需要花心思,第二点就是小时间段内聚合 es 没问题,如果要聚合获取历史累计怎么办呢,累计数据量可能有几十亿
|
3
yuedingwangji 2018-11-07 09:29:09 +08:00 via Android
几十 e 还 mysql,怎么撑住的?
|
4
SunnyFeng 2018-11-07 11:10:43 +08:00
gnocchi
|
5
byteli OP @yuedingwangji 按小时把计算结果落盘也还好,大概十几个 t,累计数据就是按题目描述里那样很粗糙的方式处理
|
7
zacharyjia 2018-11-07 13:54:25 +08:00
时序数据库考虑一下?比如 influxDB 之类的
|
8
zacharyjia 2018-11-07 13:55:03 +08:00
@zacharyjia 不好意思没看到已经试过了
|
9
jswh 2018-11-07 14:21:12 +08:00
这个看起来像其实像是 log 分析。以前用过 spark + Cassandra .Cassandra 也是分布式数据库,列存储,可扩展。分析的时候就把数据按时间拉出来到 spark 算
|
10
jswh 2018-11-07 14:21:25 +08:00
|