kĂ€lltexter â en snabb och skalbar databas för lagring och bearbetning av data i form av tidsserier (en post innefattar tid och en uppsĂ€ttning vĂ€rden som motsvarar denna tid, till exempel erhĂ„llna genom periodisk kontroll av sensorstatus eller insamling av mĂ€tvĂ€rden). Projektet konkurrerar med lösningar som , , , och . Koden Ă€r skriven i Go och Ă€r licensierad under Apache 2.0.
Fördelar och egenskaper hos VictoriaMetrics:
- Enkel att anvÀnda. BestÄr av en enda körbar fil med minimala instÀllningar som överförs via kommandoraden vid start. All data lagras i en enda katalog som anges vid start med flaggan "-storageDataPath";
- Stöd för frÄgesprÄk , som anvÀnds i övervakningssystemet . UnderfrÄgor i PromQL och vissa , sÄsom uttrycket "offset", mönster inom "WIDTH", operatörerna "if" och "default", extra funktioner och möjligheten att inkludera kommentarer;
- Möjlighet att anvÀnda som , kopplat till Prometheus och .
- Finns det en backfill-lÀge för att ladda historisk data;
- Stöd för olika dataöverföringsprotokoll, inklusive , , och . VictoriaMetrics kan Àven fungera som en transparent ersÀttning för InfluxDB och kan samarbeta med InfluxDB-kompatibla insamlare sÄsom Telegraf;
- Hög prestanda och lÄgt resursutnyttjande med konkurrerande system. I vissa tester övertrÀffar VictoriaMetrics InfluxDB och TimescaleDB nÀr det gÀller insÀttnings- och urvaloperationer med upp till 20 gÄnger. Vid analyserande frÄgor kan vinsten jÀmfört med relationsdatabaser som PostgreSQL och MySQL vara frÄn 10 till 1000 gÄnger.
- Det finns bearbetning av mycket stora mÀngder unika tidsserier. Vid bearbetning av miljontals olika tidsserier anvÀnder den upp till 10 gÄnger mindre RAM Àn InfluxDB.
- Hög datakomprimering i disklagring. JÀmfört med TimescaleDB kan den rymma upp till 70 gÄnger fler poster i samma lagringsutrymme;
- Optimeringar för lagringssystem med hög latens och lÄg I/O-operationer per sekund (till exempel hÄrddiskar och molnlagringar i AWS, Google Cloud och Microsoft Azure);
- Enkel backup-lösning baserad pÄ ;
- TillgÄng till medel för att skydda lagringens integritet mot dataskador, till exempel vid ovÀntat strömavbrott (lagringen har formen av );
- Implementering pÄ Go-sprÄket, vilket ger en balans mellan prestanda och kodens komplexitet jÀmfört med Rust och C++.
- KÀllkoder tillhandahÄlls , vilket stödjer horisontell skalning över flera servrar och visar lÄga overheadkostnader. Det finns verktyg för att sÀkerstÀlla hög tillgÀnglighet.
KĂ€lla: opennet.ru
