källtexter — ett snabbt och skalbart DBMS för lagring och bearbetning av data i form av en tidsserie (posten bildar tid och en uppsättning värden som motsvarar denna tid, till exempel erhållen genom periodisk undersökning av sensorernas status eller insamling av metrik). Projektet konkurrerar med sådana lösningar som , , , и . Koden är skriven på Go-språk och licensierad under Apache 2.0.
Fördelar och funktioner med VictoriaMetrics:
- Lätt att använda. Det är en enda körbar fil med minimala inställningar som skickas genom kommandoraden vid uppstart. All data lagras i en katalog, specificerad vid start med "-storageDataPath"-flaggan;
- Fråga språkstöd , som används i övervakningssystemet . PromQL-underfrågor och vissa stöds , såsom "offset"-uttrycket, mönster inom "WIDTH", "if" och "default"-satser, ytterligare funktioner och möjligheten att inkludera kommentarer;
- Kan användas som kopplad till Prometheus och .
- Tillgänglighet av återfyllningsläge för att ladda historiska data;
- Stöder olika dataöverföringsprotokoll, inklusive , , и . VictoriaMetrics kan användas som en transparent ersättning för InfluxDB och kan fungera med InfluxDB-kompatibla samlare som Telegraf;
- Hög prestanda och låg resursförbrukning med konkurrerande system. I vissa tester överträffar VictoriaMetrics InfluxDB och TimescaleDB med upp till 20 gånger när de utför insättnings- och hämtningsoperationer. När du utför analytiska frågor kan vinsten jämfört med relationella DBMS PostgreSQL och MySQL vara från 10 till 1000 gånger.
- Finns tillgänglig bearbeta ett mycket stort antal unika tidsserier. Vid bearbetning av miljontals olika tidsserier, förbrukar den upp till 10 gånger mindre RAM än InfluxDB.
- Hög grad av datakomprimering i disklagring. Jämfört med TimescaleDB kan den rymma upp till 70 gånger fler poster i samma mängd lagring;
- Tillgänglighet för optimeringar för lagring med hög latens och lågt antal in-/utdataoperationer per sekund (till exempel hårddiskar och molnlagring AWS, Google Cloud och Microsoft Azure);
- Enkelt systembaserat backupsystem ;
- Tillgänglighet av medel för att skydda lagringens integritet från dataskador, till exempel i händelse av ett nödströmavbrott (lagringen har formen );
- Implementering i Go-språk, vilket ger en avvägning mellan prestanda och kodkomplexitet jämfört med Rust och C++.
- Källkoder tillhandahålls , som stöder horisontell skalning över flera servrar och uppvisar låg overhead. Funktioner med hög tillgänglighet är tillgängliga.
Källa: opennet.ru
