ProHoster > Blog > internetske vijesti > VictoriaMetrics, DBMS vremenskih serija kompatibilan s Prometheusom, otvorenog je izvora
VictoriaMetrics, DBMS vremenskih serija kompatibilan s Prometheusom, otvorenog je izvora
Otvoren izvorni tekstovi VictoriaMetrics — brz i skalabilan DBMS za pohranjivanje i obradu podataka u obliku vremenske serije (zapis čini vrijeme i skup vrijednosti koji odgovara ovom vremenu, na primjer, dobivenih periodičnim ispitivanjem statusa senzora ili prikupljanjem metrika). Projekt se natječe s takvim rješenjima kao što su InfluxDB, Vremenska skalaDB, Thanos, Kora и Uber M3. Kod je napisan u Go i distribuira licenciran pod Apache 2.0.
Prednosti i značajke VictoriaMetrics:
Jednostavan za korištenje. To je jedna izvršna datoteka s minimalnim postavkama koje se prenose kroz naredbeni redak nakon pokretanja. Svi podaci pohranjeni su u jednom direktoriju, navedenom pri pokretanju pomoću oznake “-storageDataPath”;
Podrška za jezik upita PromQL, koji se koristi u sustavu nadzora Prometej. PromQL podupiti i neki su podržani proširene mogućnosti, kao što je "offset" izraz, obrasci unutar "WIDTH", "if" i "default" izjava, dodatne funkcije i mogućnost uključivanja komentara;
Dostupnost načina zatrpavanja za učitavanje povijesnih podataka;
Podržava razne protokole za prijenos podataka, uključujući Prometheus API, Priljev, Grafit и OpenTSDB. VictoriaMetrics se može koristiti kao transparentna zamjena za InfluxDB i može raditi s InfluxDB-kompatibilnim sakupljačima kao što je Telegraf;
Visoke performanse i niska potrošnja resursa u usporedbi s konkurentskim sustavima. U nekim testovima, VictoriaMetrics nadmašuje InfluxDB i TimescaleDB do 20 puta pri izvođenju operacija umetanja i dohvaćanja. Pri izvođenju analitičkih upita dobitak u usporedbi s relacijskim DBMS PostgreSQL i MySQL može biti od 10 do 1000 puta.
Postoji prilika obrada vrlo velikog broja jedinstvenih vremenskih serija. Prilikom obrade milijuna različitih vremenskih serija, troši do 10 puta manje RAM-a od InfluxDB-a.
Visok stupanj kompresije podataka u diskovnoj pohrani. U usporedbi s TimescaleDB-om, može stati do 70 puta više zapisa u istu količinu pohrane;
Dostupnost optimizacija za pohranu s visokom latencijom i malim brojem ulazno/izlaznih operacija u sekundi (na primjer, tvrdi diskovi i pohrana u oblaku AWS, Google Cloud i Microsoft Azure);
Dostupnost sredstava za zaštitu integriteta pohrane od oštećenja podataka, na primjer, u slučaju hitnog nestanka struje (pohrana ima oblik log-strukturirano stablo sa spajanjem);
Implementacija u jeziku Go, koji pruža kompromis između performansi i složenosti koda u usporedbi s Rustom i C++.
Osigurani izvorni kodovi verzije klastera, koji podržava horizontalno skaliranje na više poslužitelja i pokazuje niske troškove. Dostupne su značajke visoke dostupnosti.