Version 1.94.0 of the VictoriaMetrics platform is now available, providing a database for storing and processing time series data (a record forms time and a set of values corresponding to that time, for example, obtained through periodic polling of sensor states or metric collection), optimized for monitoring tasks. The project competes with solutions such as InfluxDB, TimescaleDB, Thanos, Cortex, and Uber M3, and features higher performance. The database can be used as a long-term data store connected to Prometheus and Grafana, as well as a transparent replacement for InfluxDB. The code is written in Go and is distributed under the Apache 2.0 license.
In performance tests, VictoriaMetrics outperforms InfluxDB and TimescaleDB by 20 times for data insertion and querying operations, consuming 10 times less RAM than InfluxDB and 7 times less than Prometheus, Thanos, and Cortex when processing millions of unique time series. Storing data in compressed form allows fitting 7 times more records in the same storage volume compared to Prometheus, Thanos, and Cortex, and 70 times more compared to TimescaleDB. Specific optimizations are available for storage with high latency and low I/O operation intensity (e.g., hard drives and cloud storage in AWS, Google Cloud, and Microsoft Azure).
The database is packaged as a single executable file with minimal settings passed via command line on startup. All data is stored in a single directory specified at startup using the ‘-storageDataPath’ flag. The query language used is MetricsQL, an extended variant of the PromQL language used in the Prometheus monitoring system. In addition to continuous processing of incoming data, VictoriaMetrics also supports loading previously collected historical data.
Tools are provided to ensure the integrity of the storage against data corruption, such as during emergency power outages (the storage takes the form of a journal-structured tree with merging), as well as a simple snapshot-based backup system. It is possible to combine VictoriaMetrics nodes into a horizontally scalable cluster that supports high availability mechanisms.
Among the new features added in this release:
- I MetricsQL tillåts att dela upp siffror med understreck för tydlighet (till exempel kan man ange 1_234_567_890 och 1.234_567_890 istället för 1234567890 och 1.234567890).
- I vmbackup har stöd lagts till för att lämna kvar servern kopior av skapade säkerhetskopior.
- I gränssnittet vmui har en funktion lagts till för att visa de 25 senaste förfrågningarna. På sidan "Explore cardinality" har stöd för databasexport till Prometheus lagts till. En knapp för automatisk formatering av PromQL/MetricsQL-förfrågningar har lagts till. Tydligheten i diagram har ökat. LocalStorage har fått ett lagringsutrymme för förfrågningshistorik.
- I vmagent har funktionerna för hantering av klusternoder utvidgats, felhantering har förbättrats och belastningen på Kubernetes kontrollpanel vid första upptäckten av tjänsten har minskat.
- I klustret har den maximala tillåtna återställningstiden vid utförande av operationer vmselect och vminsert reducerats från 60 till 3 sekunder, i situationer där vissa noder av vmstorage är otillgängliga.
Det är värt att nämna att det idag klockan 19:00 Moskvatid hålls en virtuell konferens, där utvecklarna av VictoriaMetrics kommer att introducera de nya funktionerna i projektet och sina planer för utveckling, berätta om plattformsförvaltning och upptäckten av avvikelser, samt dela med sig av information om utvecklingen av den öppna databashanteraren för loggar, VictoriaLogs. I slutet av evenemanget kommer det att finnas en frågestund.

Källa: opennet.ru
