监控性质的数据库有推荐么

2018-11-06 22:23:55 +08:00
 byteli

标题有些误导,不是仅仅需要监控,因为历史数据可能重跑,所以不只是个监控

需求: 对于上报的数据,除元数据外的信息维度可变,打个比方:每条数据包含基础信息(时间、地点),还带有不确定维度的数据信息,比如(人物、吃了多少,喝了多少,拉了多少...),这些数据信息有的要累加,有的要累计方差...

探索: 使用过 prometheus,感觉对上报参数的累加这个特性用起来非常爽,但是对于需求还不太够 调研了 influxdb,想基于这个做点扩展,但试了下 tag 组合多的话单机性能不太行,在我的机器上也就几千的写入,集群方案

目前解决方案: 还是存储放 mysql,手动写程序逻辑来实现 从 db 中 load 历史数据->计算当前时间 batch 的数据,加上历史数据->写回 db,问题在于这样表结构不是很好变,手动写逻辑容易出 bug...

描述的不够清楚的话我还可以补充,不只是数据库,解决方案、思路都可以

1528 次点击
所在节点    问与答
11 条回复
xylitolLin
2018-11-06 22:51:14 +08:00
难道不是 es ?
byteli
2018-11-06 23:12:17 +08:00
@xylitolLin es 也有考虑,纠结的有两个点,一个是因为维度会变,而 es 要预定义 mapping,定义以后也不是不能改,就是需要花心思,第二点就是小时间段内聚合 es 没问题,如果要聚合获取历史累计怎么办呢,累计数据量可能有几十亿
yuedingwangji
2018-11-07 09:29:09 +08:00
几十 e 还 mysql,怎么撑住的?
SunnyFeng
2018-11-07 11:10:43 +08:00
gnocchi
byteli
2018-11-07 12:02:28 +08:00
@yuedingwangji 按小时把计算结果落盘也还好,大概十几个 t,累计数据就是按题目描述里那样很粗糙的方式处理
byteli
2018-11-07 12:02:43 +08:00
@SunnyFeng 谢谢,我了解下
zacharyjia
2018-11-07 13:54:25 +08:00
时序数据库考虑一下?比如 influxDB 之类的
zacharyjia
2018-11-07 13:55:03 +08:00
@zacharyjia 不好意思没看到已经试过了
jswh
2018-11-07 14:21:12 +08:00
这个看起来像其实像是 log 分析。以前用过 spark + Cassandra .Cassandra 也是分布式数据库,列存储,可扩展。分析的时候就把数据按时间拉出来到 spark 算
jswh
2018-11-07 14:21:25 +08:00
byteli
2018-11-08 09:42:03 +08:00
@jswh 谢谢,我了解下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/505171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX