Il codice di VictoriaMetrics, un DBMS per serie temporali, compatibile con Prometheus

Aperti testi sorgente VictoriaMetrics — un DBMS veloce e scalabile per la memorizzazione e l'elaborazione dei dati sotto forma di serie temporali (una registrazione forma il tempo e un insieme di valori corrispondenti a quel tempo, ad esempio, ottenuti tramite interrogazioni periodiche dello stato dei sensori o raccolta di metriche). Il progetto compete con soluzioni come InfluxDB, TimescaleDB, Thanos, Cortex e Uber M3. Il codice è scritto in linguaggio Go e è distribuito sotto licenza Apache 2.0.

I vantaggi e le caratteristiche di VictoriaMetrics:

  • È facile da usare. Consiste in un unico file eseguibile con impostazioni minime, che vengono passate tramite la riga di comando all'avvio. Tutti i dati sono memorizzati in un'unica directory, specificata all'avvio tramite il flag "-storageDataPath";
  • Supporto per il linguaggio delle query PromQL, utilizzato nel sistema di monitoraggio Prometheus. Sono supportate sottoquery PromQL e alcune funzionalità avanzate, come l'espressione "offset", i modelli all'interno di "WIDTH", gli operatori "if" e "default", funzioni aggiuntive e la possibilità di includere commenti;
  • Possibilità di utilizzo come archivio dati a lungo termine, connesso a Prometheus e Grafana.
  • Disponibilità di modalità di riempimento inverso per il caricamento di dati storici;
  • Supporto per vari protocolli di trasmissione dei dati, inclusi Prometheus API, Influx, Graphite e OpenTSDB. Inoltre, VictoriaMetrics può essere utilizzato come un sostituto trasparente di InfluxDB e può lavorare con collezionisti compatibili con InfluxDB, come Telegraf;
  • Alta prestazione e basso consumo di risorse rispetto ai sistemi concorrenti. In alcuni test, VictoriaMetrics supera InfluxDB e TimescaleDB nell'esecuzione di operazioni di inserimento e selezione dati fino a 20 volte. Durante l'esecuzione di query analitiche, il vantaggio rispetto ai DBMS relazionali PostgreSQL e MySQL può variare da 10 a 1000 volte.

    Il codice di VictoriaMetrics, un DBMS per serie temporali, compatibile con Prometheus

    Il codice di VictoriaMetrics, un DBMS per serie temporali, compatibile con Prometheus

    Il codice di VictoriaMetrics, un DBMS per serie temporali, compatibile con Prometheus
  • Presenza la possibilità la gestione di un numero molto elevato di serie temporali uniche. Durante l'elaborazione di milioni di diverse serie temporali, consuma fino a 10 volte meno RAM rispetto a InfluxDB.
  • Elevata efficacia di compressione dei dati nello storage su disco. Rispetto a TimescaleDB, può contenere nello stesso volume di storage fino a 70 volte più registrazioni;
  • Disponibilità di ottimizzazioni per archivi con elevate latenze e basso numero di operazioni di input/output al secondo (ad esempio, dischi rigidi e archiviazione cloud AWS, Google Cloud e Microsoft Azure);
  • Sistema semplice di backup basata su snapshot;
  • Disponibilità di strumenti per proteggere l'integrità dello storage da danneggiamenti ai dati, ad esempio durante un'interruzione di corrente imprevista (lo storage ha la forma di un albero strutturato a log con fusione);
  • Implementazione in linguaggio Go, che offre un compromesso tra prestazioni e complessità del codice rispetto a Rust e C++.
  • Vengono forniti i codici sorgente versioni cluster, che supporta la scalabilità orizzontale su più server e dimostra costi operativi ridotti. Sono disponibili strumenti per garantire alta disponibilità.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster