时序数据库--VictoriaMetrics(一)
1. 高性能
VictoriaMetrics 读写性能比 InfluxDB 和 TimescaleDB 高达 20 倍;百万时间序列数据下,内存使用比 InfluxDB 少 10 倍,比 Prometheus、Thanos 或 Cortex 少 7 倍;数据高压缩,与 Prometheus、Thanos 或 Cortex 相比,所需的存储空间最多可减少 7 倍。
2 易替代
VictoriaMetrics 除了支持 Prometheus 作为数据源外,VictoriaMetrics 还支持其他数据源:
(1) DataDog agent
(3) InfluxDB-compatible agents such as Telegraf
(4)Graphite-compatible agents such as StatsD
(5)OpenTSDB-compatible agents
3.特性总结
图片来源--https://www.cnblogs.com/ahfuzhang/p/15668606.html
4.核心组件
图片来源--https://www.cnblogs.com/ahfuzhang/p/15668757.html
5.VictoriaMetrics 集群版本 的架构如下
vminsert 和 vmselect 是无状态的写入、查询节点,vmstorage 是有状态的存储节点。数据平均分配到 vmstorage 节点,每个 vmstorage 分担一部分数据,没有冗余
,如果 vmstorage 节点丢失,那么数据对应丢失。
6.Python 操作VM(独写)
查询
需要特别强调的一点就是:url中的/api/vi/query一定不能省略掉。
插入
同样,url中的/api/vi/import 很重要。
例子代码参阅--https://blog.51cto.com/u_16175516/9170376
7.其他说明
(1)vmstorage 有状态服务,监听端口 8482(http)、8400(insert)、8401(select),主要参数:
-retentionPeriod # 存储时间,单位是月
-storageDataPath # 数据存放路径
(2)vminsert 无状态服务,指向所有的 vmstorage,监听端口 8480,主要参数:
-storageNode=<vmstorage_host>:8400
(3)vmselect 无状态服务,指向所有的 vmstorage,监听端口 8481,主要参数
-storageNode=<vmstorage_host>:8401
(4)模糊查询
参考
https://www.lijiaocn.com/%E9%A1%B9%E7%9B%AE/2020/02/24/prometheus-scale-out-2.html
https://www.cnblogs.com/ahfuzhang/category/2076800.html