otvorené texty — rýchlu a škálovateľnú DBMS na uchovávanie a spracovanie údajov vo forme časových radov (záznam vytvára čas a súbor súvisiacich hodnôt, napríklad získaných prostredníctvom periódneho monitorovania stavu senzorov alebo zbierania metrík). Projekt konkuruje s takými riešeniami ako , , , a . Kód je napísaný v jazyku Go a pod licenciou Apache 2.0.
Výhody a charakteristiky VictoriaMetrics:
- Je jednoduchá na používanie. Predstavuje si jeden spustiteľný súbor s minimálnymi nastaveniami, ktoré sa odovzdávajú cez príkazový riadok pri spustení. Všetky údaje sú uložené v jednom adresári, určenom pri spustení pomocou príkazu „-storageDataPath“;
- Podpora jazyka dotazov , používaného v monitorovacom systéme . Podporujú sa poddotazy PromQL a niektoré , ako sú výraz „offset“, šablóny vo vnútri „WIDTH“, operátory „if“ a „default“, dodatočné funkcie a možnosť zahrnúť komentáre;
- Možnosť používania ako , pripojeného k Prometheus a .
- Dostupnosť režimu spätného naplnenia na načítanie historických údajov;
- Podpora rôznych protokolov prenosu údajov, vrátane , , a . VictoriaMetrics môže byť tiež použitá ako priesvitná náhrada InfluxDB a môže pracovať so zberateľmi kompatibilnými s InfluxDB, ako je Telegraf;
- Vysoký výkon a nízka spotreba zdrojov s konkurenčnými systémami. V niektorých testoch VictoriaMetrics prekonáva InfluxDB a TimescaleDB pri vykonávaní operácií vkladania a vyžiadania údajov až 20-krát. Pri vykonávaní analytických dotazov môže byť výhoda v porovnaní s relačnými DBMS PostgreSQL a MySQL od 10 do 1000-krát.
- Existuje spracovanie veľmi veľkého počtu unikátnych časových radov. Pri spracovávaní miliónov rôznych časových radov spotrebuje až 10-krát menej RAM ako InfluxDB.
- Vysoký stupeň kompresie údajov v diskovom úložisku. V porovnaní s TimescaleDB môže v rovnakom objeme úložiska umiestniť až 70-krát viac záznamov;
- Existencia optimalizácií pre úložiská s veľkými oneskoreniami a nízkym počtom operácií vstupu/výstupu za sekundu (napríklad pevné disky a cloudové úložiská AWS, Google Cloud a Microsoft Azure);
- Jednoduchý systém zálohovania na báze ;
- Dostupnosť prostriedkov na ochranu integrity úložiska pred poškodením dát, napríklad pri núdzovom vypnutí napájania (úložisko má podobu );
- Implementácia v jazyku Go, ktorá zabezpečuje vyváženosť medzi výkonnosťou a zložitosťou kódu v porovnaní s Rustom a C++.
- Sú poskytované zdrojové kódy , ktorá podporuje horizontálne škálovanie na viacerých serveroch a vykazuje nízke prevádzkové náklady. Existujú prostriedky na zaistenie vysokej dostupnosti.
Zdroj: opennet.ru
