The release of the VictoriaMetrics platform 1.94.0 is available, providing a database management system (DBMS) for storing and processing time series data (where a record comprises time and a set of corresponding values, for example, obtained through periodic polling of sensor states or metric collection), optimized for monitoring tasks. The project competes with solutions like InfluxDB, TimescaleDB, Thanos, Cortex, and Uber M3, offering higher performance. The DBMS 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 distributed under the Apache 2.0 license.
In performance tests, VictoriaMetrics outperforms InfluxDB and TimescaleDB in data insertion and retrieval operations by up to 20 times, while 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 a compressed format allows for up to 7 times more records to fit in the same storage volume compared to Prometheus, Thanos, and Cortex, and up to 70 times more compared to TimescaleDB. Specific optimizations for storage with high latency and low I/O operation intensity (such as hard drives and cloud storage from AWS, Google Cloud, and Microsoft Azure) are available.
The DBMS is packaged as a single executable file with minimal settings passed via the command line at startup. All data is stored in a single directory specified at launch using the `-storageDataPath` flag. The query language used is MetricsQL, an extended variant of the PromQL language utilized in the Prometheus monitoring system. In addition to continuously processing incoming data, VictoriaMetrics also supports the ability to load previously collected historical data.
Tools are provided to protect the storage integrity from data corruption, for instance, during unexpected power outages (the storage is structured as a journal-structured merge tree), as well as a simple snapshot-based backup system. Nodes of VictoriaMetrics can be combined into a horizontally scalable cluster that supports high availability mechanisms.
Among the new features added in this release:
- In MetricsQL, it is allowed to separate numbers with an underscore for clarity (for example, you can specify 1_234_567_890 and 1.234_567_890 instead of 1234567890 and 1.234567890).
- vmbackup has added support for leaving on server copies of created backups.
- The vmui interface has added an option to display the last 25 queries. The 'Explore cardinality' page now supports data export to Prometheus. A button has been added for automatic formatting of PromQL/MetricsQL queries. The clarity of diagrams has been improved. A query history storage has been added to localStorage.
- vmagent has expanded the cluster node management capabilities, improved error handling, and reduced the load on the Kubernetes control panel during initial service discovery.
- In the cluster, the maximum allowed recovery time has been reduced from 60 to 3 seconds during vmselect and vminsert operations when some vmstorage nodes are unavailable.
Notably, today at 7 PM Moscow time, a virtual conference will be held where the developers of VictoriaMetrics will introduce the new features of the project and plans for development, discuss platform management and anomaly detection, as well as share insights on the development of the open-source database for log management, VictoriaLogs. The event will conclude with a Q&A session.

Source: opennet.ru
