allika kood — kiire ja skaleeritav andmebaas andmete salvestamiseks ja töötlemiseks ajareana (salvestamine moodustab aja ja vastavad sellele ajale väärtused, näiteks sensorite oleku perioodilise küsitluse või mõõdikute kogumise kaudu). Projekt konkureerib selliste lahendustega nagu , , , ja . Kood on kirjutatud Go keeles ja ainekood on litsentsitud Apache 2.0 all.
VictoriaMetricsi eelised ja omadused:
- Lihtne kasutada. Esindab ühte käivitatavat faili minimaalsete seadistustega, mis edastatakse käsureal käivitamisel. Kõik andmed salvestatakse ühte katalooge, mis määratakse käivitamisel lipuga «-storageDataPath»;
- Toetab päringu keelt , mida kasutatakse monitooringusüsteemis. Toetatakse PromQL-i alamküsitlusi ja mitmeid , nagu «offset» väljend, «WIDTH» sees olevaid malle, «if» ja «default» operaatorid, täiendavad funktsioonid ja võimalus lisada kommentaare;
- Võimalus kasutada , mis on ühendatud Prometheusega ja .
- Tagasitäitmise režiimi olemasolu ajalooliste andmete laadimiseks;
- Toetab erinevaid andme edastamise protokolle, sealhulgas , , ja . VictoriaMetrics saab kasutada ka InfluxDB läbipaistva asendusena ja töötada InfluxDB ühilduvate kogujatega nagu Telegraf;
- Kerge kõrge jõudlus ja madal ressursikasutus konkurentide süsteemidega. Mõnedes testides ületab VictoriaMetrics InfluxDB-d ja TimescaleDB-d andmete sisestamise ja päringute käitamisel kuni 20 korda. Analüütiliste päringute teostamisel võib võit relatsiooniliste andmebaaside PostgreSQL-i ja MySQL-i ees olla vahemikus 10 kuni 1000 korda.
- on saadaval väga suure arvu ainulaadsete ajajoonte töötlemine. Miljonite erinevate ajajoonte töötlemisel kasutab see kuni 10 korda vähem RAM-i kui InfluxDB.
- Kõrge andmete tihenduse määr andmesalvestuses. TimescaleDB-ga võrreldes mahutab see samas salvestusmahus kuni 70 korda rohkem kirjeid;
- Optimeerimiste olemasolu suure latentsusaja ja madala sisendi/väljundi operatsioonide arvu jaoks sekundis (nt kõvakettad ja pilvesalvestused AWS, Google Cloud ja Microsoft Azure);
- Lihtne varundamissüsteem, mis põhineb ;
- Allikate olemasolu, et kaitsta salvestusruumi andmete kahjustumise eest, näiteks ootamatu elektrikatkestuse korral (salvestusruum on kujundatud );
- Teostatud Go keeles, mis tagab kompromissi jõudluse ja koodipesa keerukuse vahel võrreldes Rusti ja C++-ga.
- Pakutakse lähtekoodid , mis toetab horisontaalset skaleerimist mitme serveri peale ning näitab madalaid koormusi. On olemas vahendid kõrge kättesaadavuse tagamiseks.
Allikas: opennet.ru
