The code for VictoriaMetrics, a time series database compatible with Prometheus, is open source.

Open source texts VictoriaMetrics — a fast and scalable database for storing and processing data in the form of time series (a record forms time and a set of corresponding values, for example, obtained through periodic polling of sensor states or metric collection). The project competes with solutions such as InfluxDB, TimescaleDB, Thanos, Cortex and Uber M3. The code is written in Go language and is distributed under the Apache 2.0 license.

Advantages and features of VictoriaMetrics:

  • It is easy to use. It consists of a single executable file with minimal configurations passed via command line during startup. All data is stored in a single directory specified at launch using the flag "-storageDataPath";
  • Query language support PromQL, used in the monitoring system Prometheus. Nested PromQL queries and some advanced features, such as the "offset" expression, patterns within "WIDTH", "if" and "default" operators, additional functions, and the ability to include comments are supported;
  • Ability to use as a long-term data storage, connected to Prometheus and Grafana.
  • An inverse loading mode for uploading historical data is available;
  • Support for various data transfer protocols, including Prometheus API, Influx, Graphite and OpenTSDB. VictoriaMetrics can also be used as a transparent replacement for InfluxDB and can work with InfluxDB-compatible collectors such as Telegraf;
  • High performance and low resource consumption compared to competing systems. In some tests, VictoriaMetrics outperforms InfluxDB and TimescaleDB in insert and query operations by up to 20 times. For analytical queries, the advantage over relational databases like PostgreSQL and MySQL can range from 10 to 1000 times.

    The code for VictoriaMetrics, a time series database compatible with Prometheus, is open source.

    The code for VictoriaMetrics, a time series database compatible with Prometheus, is open source.

    The code for VictoriaMetrics, a time series database compatible with Prometheus, is open source.
  • It has of processing of a very large number of unique time series. When processing millions of different time series, it consumes up to 10 times less RAM than InfluxDB.
  • High data compression in disk storage. Compared to TimescaleDB, it can fit up to 70 times more records in the same storage volume;
  • Optimizations for storage with high latencies and low I/O operations per second (e.g., hard drives and cloud storage from AWS, Google Cloud, and Microsoft Azure) are available;
  • Simple backup system based on snapshots;
  • Availability of means to protect the integrity of storage from data corruption, for example, during a power failure (the storage takes the form of a log-structured merge tree);
  • Implemented in Go, ensuring a trade-off between performance and code complexity compared to Rust and C++.
  • Source codes are provided cluster versions, which supports horizontal scaling across multiple servers and demonstrates low overhead. There are means to ensure high availability.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster