nettekster — en hurtig og skalerbar database til opbevaring og behandling af data i formatet af tidsserier (en optagelse danner tid og et sæt værdier, der svarer til denne tid, f.eks. indsamlet gennem periodisk overvågning af sensorstatus eller indsamling af metrikker). Projektet konkurrerer med løsninger som , , , og . Koden er skrevet i Go-sproget, og er under Apache 2.0-licensen.
Fordele og funktioner ved VictoriaMetrics:
- Nem at anvende. Det består af en enkelt eksekverbar fil med minimale indstillinger, der overføres via kommandolinjen ved opstart. Alle data gemmes i én mappe, der angives ved opstart med flaget «-storageDataPath»;
- Understøttelse af forespørgselssprog , der anvendes i overvågningssystemet . Under forespørgsler understøttes PromQL-subforespørgsler og nogle , såsom udtrykket «offset», skabeloner inden for «WIDTH», operatorerne «if» og «default», ekstra funktioner og muligheden for at inkludere kommentarer;
- Mulighed for at bruges som , der er tilsluttet Prometheus og .
- Der er en backfill-tilstand til indlæsning af historiske data;
- Understøttelse af forskellige dataoverførselsprotokoller, herunder , , og . VictoriaMetrics kan også bruges som en gennemsigtig erstatning for InfluxDB og kan arbejde med InfluxDB-kompatible indsamlerne, såsom Telegraf;
- Høj ydeevne og lavt ressourceforbrug med konkurrerende systemer. I nogle tests overgår VictoriaMetrics InfluxDB og TimescaleDB med op til 20 gange ved indsættelse og udtræk af data. Ved udførelse af analytiske forespørgsler kan forbedringen sammenlignet med relationelle databaser som PostgreSQL og MySQL være fra 10 til 1000 gange.
- er tilgængeligt behandling af et meget stort antal unikke tidsserier. Ved behandling af millioner af forskellige tidsserier bruger den op til 10 gange mindre RAM end InfluxDB.
- Høj grad af datakomprimering i diskopbevaring. Sammenlignet med TimescaleDB kan den rumme op til 70 gange flere optegnelser i det samme lagerområde;
- Optimiseringer til lagre med høje latens og lavt antal input/output-operationer pr. sekund (f.eks. harddiske og cloud-lagring fra AWS, Google Cloud og Microsoft Azure);
- En simpel backup-løsning baseret på ;
- Tilgængeligheden af midler til at beskytte integriteten af lageret mod dataskader, for eksempel ved pludselig strømafbrydelse (lageret har formen );
- Implementeret i Go, hvilket sikrer en balance mellem ydeevne og kodekompleksitet sammenlignet med Rust og C++.
- Kildekoderne stilles til rådighed , som understøtter horisontal skalerbarhed på flere servere og viser lave driftsomkostninger. Der er midler til at sikre høj tilgængelighed.
Kilde: opennet.ru
