时序数据库对比
优劣势对比
数据库 | 优势 | 劣势 |
---|---|---|
InfluxDB | 使用广泛,生态完备,社区活跃 | 集群版本闭源 |
TDengine | 性能好,集群版本免费,内置流式计算,社区活跃 | 不支持 Prometheus 的 Query 类接口 |
M3DB | 完全开源 | 架构复杂,资源占用高 |
VictoriaMetrics | 轻量可靠高性能,可替代Promethus | 资料较少 |
TimescaleDB | 可靠性高 | 性能一般,应用案例少 |
性能测试数据对比:
指标 | TDengine | OpenTSDB | Cassandra |
写入吞吐量 | 1477208 记录数/秒 | 57272 记录数/秒 | 61708记录数/秒 |
100万条记录读取时间 | 0.21秒 | 6.57秒 | 3.64秒 |
1亿条记录取平均值时间 | 0.06秒 | 66.99秒 | 264.49秒 |
1亿条记录按标签分组取均值时间 | 0.123 | 126.41秒 | 308.39秒 |
1亿条记录按时间分组取均值时间 | 2.549秒 | 82.46秒 | 303.51秒 |
TDengine与InfluxDB对比测试结果:
- 写入性能:相同数据源InfluxDB写入用时约是TDengine的4倍
- 全部数据聚合计算查询:InfluxDB查询用时约为TDengine的80倍
- 全部数据聚合计算查询以小时为颗粒聚合结果:InfluxDB查询用时约为TDengine的10倍
- 随机选取12小时的数据聚合计算查询以10分钟为颗粒聚合结果:InfluxDB用时约为TDengine的6倍
- 随机选取1小时的数据聚合计算查询以1分钟为颗粒聚合结果:InfluxDB用时约为TDengine的2.5倍
- 测试用例执行时,InfluxDB的CPU占用率基本达到满负荷,以4核CPU的服务器为例,经常达到390%以上;而TDengine的CPU占用率则低很多。