VictoriaMetrics, časové řady DBMS kompatibilní s Prometheus, je open source
OTEVŘENO zdrojové texty VictoriaMetrics — rychlý a škálovatelný DBMS pro ukládání a zpracování dat ve formě časové řady (záznam tvoří čas a soubor hodnot odpovídajících tomuto času, např. získaný periodickým dotazováním na stav senzorů nebo sběrem metriky). Projektu konkurují taková řešení jako InfluxDB, Časová osa DB, Thanos, Kůra и Uber M3. Kód je napsán v jazyce Go a distribuovány licencováno pod Apache 2.0.
Výhody a vlastnosti VictoriaMetrics:
Snadné použití. Jedná se o jeden spustitelný soubor s minimálním nastavením procházejícím přes příkazový řádek při spuštění. Všechna data jsou uložena v jednom adresáři zadaném při spuštění pomocí parametru „-storageDataPath“;
Podpora dotazovacího jazyka PromQL, používaný v monitorovacím systému Prometheus. Podporovány jsou poddotazy PromQL a některé rozšířené schopnosti, jako je výraz "offset", vzory v příkazech "WIDTH", "if" a "default", další funkce a schopnost zahrnout komentáře;
Dostupnost režimu zálohování pro načítání historických dat;
Podporuje různé protokoly přenosu dat, včetně Prometheus API, Příliv, Grafit и OpenTSDB. VictoriaMetrics lze použít jako transparentní náhradu za InfluxDB a může pracovat s kolektory kompatibilními s InfluxDB, jako je Telegraf;
Vysoký výkon a nízká spotřeba zdrojů v porovnání s konkurenčními systémy. V některých testech VictoriaMetrics překonává InfluxDB a TimescaleDB až 20krát při provádění operací vkládání a načítání. Při provádění analytických dotazů může být zisk ve srovnání s relačními DBMS PostgreSQL a MySQL 10 až 1000krát.
Tam je příležitost zpracování velkého množství unikátních časových řad. Při zpracování milionů různých časových řad spotřebuje až 10krát méně paměti RAM než InfluxDB.
Vysoký stupeň komprese dat na disku. Ve srovnání s TimescaleDB se do něj vejde až 70krát více záznamů na stejné množství úložiště;
Dostupnost optimalizací pro úložiště s vysokou latencí a nízkým počtem operací vstupu/výstupu za sekundu (například pevné disky a cloudová úložiště AWS, Google Cloud a Microsoft Azure);
Založený na jednoduchém zálohovacím systému snímky;
Dostupnost prostředků na ochranu integrity úložiště před poškozením dat, například v případě nouzového výpadku proudu (úložiště má podobu log-strukturovaný strom se sloučením);
Implementace v jazyce Go, který poskytuje kompromis mezi výkonem a složitostí kódu ve srovnání s Rustem a C++.
Zdrojové kódy poskytnuty clusterové verze, který podporuje horizontální škálování na více serverech a vykazuje nízkou režii. K dispozici jsou funkce vysoké dostupnosti.