VictoriaMetrics, un DBMS de serie temporal compatible con Prometheus, é de código aberto
Aberto textos fonte VictoriaMetrics — un DBMS rápido e escalable para almacenar e procesar datos en forma de serie temporal (o rexistro forma o tempo e un conxunto de valores correspondentes a este tempo, por exemplo, obtidos mediante sondaxes periódicas do estado dos sensores ou recollida de métricas). O proxecto compite con solucións como InfluxDB, TimecaleDB, Thanos, Cortiza и Uber M3. O código está escrito en linguaxe Go e distribuído por licenciado baixo Apache 2.0.
Vantaxes e características de VictoriaMetrics:
Doado de usar. É un único ficheiro executable cunha configuración mínima que se pasa pola liña de comandos ao iniciar. Todos os datos gárdanse nun directorio, especificado no inicio mediante a marca "-storageDataPath";
Soporte de linguaxe de consulta PromQL, utilizado no sistema de vixilancia Prometeu. As subconsultas PromQL e algunhas son compatibles capacidades ampliadas, como a expresión "offset", os patróns dentro das instrucións "WIDTH", "if" e "default", funcións adicionais e a capacidade de incluír comentarios;
Dispoñibilidade do modo de recheo para cargar datos históricos;
Admite varios protocolos de transferencia de datos, incluíndo API de Prometheus, Influxo, grafito и OpenTSDB. VictoriaMetrics pódese usar como un substituto transparente para InfluxDB e pode funcionar con colectores compatibles con InfluxDB como Telegraf;
Alto rendemento e baixo consumo de recursos comparado con sistemas competidores. Nalgunhas probas, VictoriaMetrics supera InfluxDB e TimescaleDB ata 20 veces ao realizar operacións de inserción e recuperación. Ao realizar consultas analíticas, a ganancia en comparación co DBMS relacional PostgreSQL e MySQL pode ser de 10 a 1000 veces.
Hai oportunidade procesando un gran número de series temporais únicas. Ao procesar millóns de series temporais diferentes, consume ata 10 veces menos RAM que InfluxDB.
Alto grao de compresión de datos no almacenamento en disco. En comparación con TimescaleDB, pode caber ata 70 veces máis rexistros na mesma cantidade de almacenamento;
Dispoñibilidade de optimizacións para o almacenamento con alta latencia e baixo número de operacións de entrada/saída por segundo (por exemplo, discos duros e almacenamento na nube AWS, Google Cloud e Microsoft Azure);
Baseado en un sistema de copia de seguridade sinxelo instantáneas;
Dispoñibilidade de medios para protexer a integridade do almacenamento de danos aos datos, por exemplo, en caso de corte de enerxía de emerxencia (o almacenamento ten a forma árbore estruturada en troncos con fusión);
Implementación en linguaxe Go, que ofrece unha compensación entre o rendemento e a complexidade do código en comparación con Rust e C++.
Códigos fonte proporcionados versións de cluster, que admite a escala horizontal en varios servidores e presenta unha baixa sobrecarga. As funcións de alta dispoñibilidade están dispoñibles.