VictoriaMetrics, DBMS seri wektu sing kompatibel karo Prometheus, mbukak sumber

Mbukak teks sumber VictoriaMetrics - DBMS sing cepet lan bisa diukur kanggo nyimpen lan ngolah data ing wangun deret wektu (rekaman mbentuk wektu lan sakumpulan nilai sing cocog karo wektu iki, contone, dipikolehi liwat polling periodik status sensor utawa koleksi metrik). Proyek kasebut saingan karo solusi kayata InfluxDB, TimescaleDB, Thanos, corteks ΠΈ Uber M3. Kode ditulis ing Go lan disebarake dening dilisensi ing Apache 2.0.

Kaluwihan lan fitur saka VictoriaMetrics:

  • Gampang digunakake. Iku file eksekusi siji karo setelan minimal liwat baris printah nalika miwiti. Kabeh data disimpen ing siji direktori, ditemtokake ing wiwitan nggunakake flag "-storageDataPath";
  • Dhukungan basa pitakon PromQL, digunakake ing sistem ngawasi Prometheus. Subkueri PromQL lan sawetara sing didhukung kapabilitas lengkap, kayata ekspresi "offset", pola ing statement "WIDTH", "yen" lan "default", fungsi tambahan, lan kemampuan kanggo nyakup komentar;
  • Bisa digunakake minangka panyimpenan data long-termdisambungake kanggo Prometheus lan Grafana.
  • Kasedhiyan mode backfill kanggo ngemot data historis;
  • Ndhukung macem-macem protokol transfer data, kalebu Prometheus API, mlebu, Grafit ΠΈ OpenTSDB. VictoriaMetrics bisa digunakake minangka panggantos transparan kanggo InfluxDB lan bisa nggarap kolektor sing kompatibel karo InfluxDB kayata Telegraf;
  • Kinerja dhuwur lan konsumsi sumber daya sing sithik dibandhingake karo sistem saingan. Ing sawetara tes, VictoriaMetrics ngluwihi InfluxDB lan TimescaleDB nganti kaping 20 nalika nindakake operasi sisipan lan pengambilan. Nalika nindakake pitakon analitis, gain dibandhingake karo DBMS PostgreSQL lan MySQL relasional bisa saka 10 nganti 1000 kaping.

    VictoriaMetrics, DBMS seri wektu sing kompatibel karo Prometheus, mbukak sumber

    VictoriaMetrics, DBMS seri wektu sing kompatibel karo Prometheus, mbukak sumber

    VictoriaMetrics, DBMS seri wektu sing kompatibel karo Prometheus, mbukak sumber

  • Kasedhiya kesempatan ngolah nomer akeh banget seri wektu unik. Nalika ngolah mayuta-yuta seri wektu sing beda-beda, nganggo nganti 10 kaping kurang RAM tinimbang InfluxDB.
  • Tingkat kompresi data sing dhuwur ing panyimpenan disk. Dibandhingake karo TimescaleDB, bisa cocog nganti 70 kaping luwih akeh cathetan ing jumlah panyimpenan sing padha;
  • Kasedhiyan optimasi kanggo panyimpenan kanthi latensi dhuwur lan jumlah operasi input / output sing sithik per detik (contone, hard drive lan panyimpenan awan AWS, Google Cloud lan Microsoft Azure);
  • Sistem serep prasaja adhedhasar jepretan;
  • Kasedhiyan sarana kanggo nglindhungi integritas panyimpenan saka karusakan data, contone, yen ana pemadaman listrik darurat (panyimpenan duwe formulir wit log-struktur karo nggabung);
  • Implementasine ing basa Go, sing nyedhiyakake trade-off antarane kinerja lan kerumitan kode dibandhingake Rust lan C ++.
  • Kode sumber kasedhiya versi kluster, sing ndhukung skala horisontal ing sawetara server lan nuduhake overhead sing murah. Fitur kasedhiyan dhuwur kasedhiya.

Source: opennet.ru

Add a comment