【发布时间】:2021-02-22 00:19:54
【问题描述】:
例如,有诸如根分区利用率之类的时间序列数据。数据结构如下:
name: root_disk_utilizatoin
ip: 1.1.1.1
timestamp: 1234567890
value: 0.5
我们有数百万台服务器每隔几分钟就会报告这些数据。 我的期望是找到每台服务器的最新数据。
第一个想法是将这些时间序列数据存储在一些存储中,例如 elasticsearc 或 tsdb(influxdb/opentsdb)。然后查询存储以获取结果。但我担心性能。无论我选择什么存储,他们都必须执行以下两个步骤来归档结果。
- 按 ip 分组数据
- 按时间戳对数据进行排序并返回最新的数据
我想这将是一个非常昂贵的过程(花费很多时间)。
所以我想这可能不是一个好主意。
- 您是否有类似的需求以及如何解决?
- 对于像 influxdb 这样的 timeseries db 会不会有问题?
【问题讨论】:
-
必须先指定数据输入的速率?然后根据输入速率和查询类型,决定哪些数据库可以处理您的任务。也许 apache cassandra 适合你。
标签: database elasticsearch time-series data-analysis