Адкрыты код VictoriaMetrics, СКБД для часовых шэрагаў, сумяшчальнай з Prometheus

Адкрыты зыходныя тэксты ВікторыяМетрыка - хуткай і якая маштабуецца СКБД для захоўвання і апрацоўкі дадзеных у форме часавага шэрагу (запіс утворыць час і набор адпаведных гэтаму часу значэнняў, напрыклад, атрыманых праз перыядычнае апытанне стану датчыкаў або збор метрык). Праект канкуруе з такімі рашэннямі, як InfluxDB, Часовая шкалаDB, Танос, Кара и Uber M3. Код напісаны на мове Go і распаўсюджваецца пад ліцэнзіяй Apache 2.0.

Перавагі і асаблівасці VictoriaMetrics:

  • Простая ў эксплуатацыі. Уяўляе з сябе адзін выкананы файл з мінімальнымі наладамі, якія перадаюцца праз камандны радок пры запуску. Усе дадзеныя захоўваюцца ў адным каталогу, зададзеным пры запуску пры дапамозе сцяга "-storageDataPath";
  • Падтрымка мовы запытаў PromQL, які выкарыстоўваецца ў сістэме маніторынгу Праметэй. Падтрымліваюцца подзапросы PromQL і некаторыя пашыраныя магчымасці, такія як выраз "offset", шаблоны ўнутры "WIDTH", аператары "if" і "default", дадатковыя функцыі і магчымасць уключэння каментароў;
  • Магчымасць выкарыстання ў якасці доўгачасовага сховішчы дадзеных, падлучанага да Prometheus і Графана.
  • Наяўнасць рэжыму зваротнага запаўнення для загрузкі гістарычных дадзеных;
  • Падтрымка розных пратаколаў перадачы даных, у тым ліку Prometheus API, Прыток, графітавых и OpenTSDB. У тым ліку VictoriaMetrics можа прымяняцца ў якасці празрыстай замены InfluxDB і можа працаваць з сумяшчальнымі з InfluxDB калектарамі, такімі як Telegraf;
  • Высокая прадукцыйнасць і нізкае спажыванне рэсурсаў у параўнанні з канкуруючымі сістэмамі. У некаторых тэстах VictoriaMetrics апярэджвае InfluxDB і TimescaleDB пры выкананні аперацый устаўкі і выбаркі дадзеных да 20 разоў. Пры выкананні аналітычных запытаў выйгрыш у параўнанні з рэляцыйнымі СКБД PostgreSQL і MySQL можа складаць ад 10 да 1000 разоў.

    Адкрыты код VictoriaMetrics, СКБД для часовых шэрагаў, сумяшчальнай з Prometheus

    Адкрыты код VictoriaMetrics, СКБД для часовых шэрагаў, сумяшчальнай з Prometheus

    Адкрыты код VictoriaMetrics, СКБД для часовых шэрагаў, сумяшчальнай з Prometheus

  • маецца магчымасць апрацоўкі вельмі вялікай колькасці унікальных часовых шэрагаў. Пры апрацоўцы мільёнаў розных часавых шэрагаў спажывае да 10 разоў менш АЗП, чым InfluxDB.
  • Высокая ступень сціску дадзеных у дыскавым сховішчы. У параўнанні з TimescaleDB можа змясціць у тым жа аб'ёме сховішчы да 70 разоў больш запісаў;
  • Наяўнасць аптымізацый для сховішчаў з вялікімі затрымкамі і нізкім лікам аперацый уводу/высновы ў секунду (напрыклад, цвёрдыя кружэлкі і хмарныя сховішчы AWS, Google Cloud і Microsoft Azure);
  • Простая сістэма рэзервовага капіявання на аснове снапшотаў;
  • Наяўнасць сродкаў для абароны цэласнасці сховішчы ад пашкоджанняў дадзеных, напрыклад, пры экстраным адключэнні харчавання (сховішча мае форму часопісна-структураванага дрэва са зліццём);
  • Рэалізацыя на мове Go, што забяспечвае кампраміс паміж прадукцыйнасцю і складанасцю кода ў параўнанні з Rust і C++.
  • Прадстаўляюцца зыходныя коды кластарнай версій, якая падтрымлівае гарызантальнае маштабаванне на некалькі сервераў і дэманструе нізкія накладныя выдаткі. Ёсць сродкі забеспячэння высокай даступнасці.

Крыніца: opennet.ru

Дадаць каментар