VictoriaMetrics, časový rad DBMS kompatibilný s Prometheus, je open source
OTVORENÉ zdrojové texty VictoriaMetrics — rýchly a škálovateľný DBMS na ukladanie a spracovanie údajov vo forme časových radov (záznam tvorí čas a súbor hodnôt zodpovedajúcich tomuto času, napr. získaný periodickým dotazovaním na stav senzorov alebo zberom metriky). Projektu konkurujú také riešenia ako napr InfluxDB, Časová mierkaDB, Thanos, kôra и Uber M3. Kód je napísaný v Go a distribuovaný licencovaný pod Apache 2.0.
Výhody a vlastnosti VictoriaMetrics:
Jednoduché použitie. Je to jeden spustiteľný súbor s minimálnymi nastaveniami, ktoré sa pri spustení prenášajú cez príkazový riadok. Všetky údaje sú uložené v jednom adresári, špecifikovanom pri spustení pomocou príznaku „-storageDataPath“;
Podpora jazyka dotazu PromQL, ktorý sa používa v monitorovacom systéme Prometheus. Podporované sú poddotazy PromQL a niektoré rozšírené schopnosti, ako napríklad výraz "offset", vzory v rámci príkazov "WIDTH", "if" a "default", dodatočné funkcie a schopnosť zahrnúť komentáre;
Dostupnosť režimu zálohovania na načítanie historických údajov;
Podporuje rôzne protokoly prenosu údajov, vrátane Prometheus API, prítok, grafit и OpenTSDB. VictoriaMetrics možno použiť ako transparentnú náhradu za InfluxDB a môže pracovať s kolektormi kompatibilnými s InfluxDB, ako je Telegraf;
Vysoký výkon a nízka spotreba zdrojov porovnávané s konkurenčnými systémami. V niektorých testoch VictoriaMetrics prekonáva InfluxDB a TimescaleDB až 20-krát pri vykonávaní operácií vkladania a načítania. Pri vykonávaní analytických dopytov môže byť zisk v porovnaní s relačnými DBMS PostgreSQL a MySQL 10 až 1000-násobný.
Je k dispozícii príležitosť spracovanie veľkého množstva jedinečných časových radov. Pri spracovaní miliónov rôznych časových radov spotrebuje až 10-krát menej pamäte RAM ako InfluxDB.
Vysoký stupeň kompresie údajov na diskovom úložisku. V porovnaní s TimescaleDB sa do neho zmestí až 70-krát viac záznamov na rovnakú veľkosť úložiska;
Dostupnosť optimalizácií pre úložisko s vysokou latenciou a nízkym počtom vstupných/výstupných operácií za sekundu (napríklad pevné disky a cloudové úložisko AWS, Google Cloud a Microsoft Azure);
Založený na jednoduchom zálohovacom systéme snímky;
Dostupnosť prostriedkov na ochranu integrity úložiska pred poškodením dát, napríklad v prípade núdzového výpadku prúdu (úložisko má podobu log-štruktúrovaný strom so zlúčením);
Implementácia v jazyku Go, ktorá poskytuje kompromis medzi výkonom a zložitosťou kódu v porovnaní s Rustom a C++.
Zdrojové kódy poskytnuté klastrové verzie, ktorý podporuje horizontálne škálovanie na viacerých serveroch a vykazuje nízku réžiu. K dispozícii sú funkcie vysokej dostupnosti.