Der Code von VictoriaMetrics, einer für Prometheus kompatiblen Zeitreihendatenbank, wurde veröffentlicht.

Geöffnet Quelltexte VictoriaMetrics — eine schnelle und skalierbare Datenbank zur Speicherung und Verarbeitung von Daten in Form von Zeitreihen (ein Eintrag bildet die Zeit und eine Menge entsprechender Werte zu diesem Zeitpunkt, zum Beispiel, die durch periodische Abfragen des Status von Sensoren oder das Sammeln von Metriken erhalten werden). Das Projekt konkurriert mit Lösungen wie InfluxDB, TimescaleDB, Thanos, Cortex und Uber M3. Der Code ist in der Programmiersprache Go geschrieben und wird verbreitet unter der Apache 2.0 Lizenz.

Vorteile und Eigenschaften von VictoriaMetrics:

  • Einfach zu bedienen. Es handelt sich um eine einzige ausführbare Datei mit minimalen Einstellungen, die über die Befehlszeile beim Start übergeben werden. Alle Daten werden in einem Verzeichnis gespeichert, das beim Start mit dem Flag „-storageDataPath“ festgelegt wird;
  • Unterstützung der Abfragesprache PromQL, die im Überwachungssystem verwendet wird. PrometheusUnterabfragen in PromQL und einige erweiterte Funktionen, wie den Ausdruck „offset“, Vorlagen innerhalb von „WIDTH“, die Operatoren „if“ und „default“, zusätzliche Funktionen und die Möglichkeit, Kommentare einzufügen;
  • Die Möglichkeit, als langfristiger Datenspeicher, der mit Prometheus verbunden ist, genutzt zu werden; Grafana.
  • Ein Rückfüllmodus zur Hochladung historischer Daten;
  • Unterstützung verschiedener Datenübertragungsprotokolle, einschließlich Prometheus API, Influx, Graphite und OpenTSDB. Darüber hinaus kann VictoriaMetrics als transparenten Ersatz für InfluxDB verwendet werden und kann mit InfluxDB-kompatiblen Collectoren wie Telegraf arbeiten;
  • Hohe Leistung und niedriger Ressourcenverbrauch im Vergleich zu konkurrierenden Systemen. In einigen Tests übertrifft VictoriaMetrics InfluxDB und TimescaleDB bei Einfüge- und Abfrageoperationen bis zu 20 Mal. Bei der Ausführung analytischer Abfragen kann der Gewinn im Vergleich zu relationalen Datenbanken wie PostgreSQL und MySQL zwischen dem 10- und 1000-fachen liegen.

    Der Code von VictoriaMetrics, einer für Prometheus kompatiblen Zeitreihendatenbank, wurde veröffentlicht.

    Der Code von VictoriaMetrics, einer für Prometheus kompatiblen Zeitreihendatenbank, wurde veröffentlicht.

    Der Code von VictoriaMetrics, einer für Prometheus kompatiblen Zeitreihendatenbank, wurde veröffentlicht.
  • Es gibt die Möglichkeit die Verarbeitung einer sehr großen Anzahl einzigartiger Zeitreihen. Bei der Verarbeitung von Millionen unterschiedlicher Zeitreihen verbraucht sie bis zu 10 Mal weniger RAM als InfluxDB.
  • Hohe Datenkompression im Festplattenspeicher. Im Vergleich zu TimescaleDB kann bis zu 70 Mal mehr Datensätze im gleichen Speicherplatz untergebracht werden;
  • Optimierungen für Speicher mit hohen Latenzen und niedrigen E/A-Operationen pro Sekunde (z.B. Festplatten und Cloud-Speicher von AWS, Google Cloud und Microsoft Azure);
  • Ein einfaches Backup-System basierend auf Snapshots;
  • Verfügbarkeit von Mitteln zur Sicherstellung der Integrität des Speichers bei Datenbeschädigungen, z.B. bei plötzlichem Stromausfall (der Speicher hat die Form eines journal-structurierten Baums mit Zusammenführungen);
  • Implementierung in Go, was einen Kompromiss zwischen Leistung und Code-Komplexität im Vergleich zu Rust und C++ bietet.
  • Der Quellcode wird bereitgestellt Cluster-Versionen, die horizontale Skalierung über mehrere Server unterstützt und niedrige Betriebskosten aufweist. Hohe Verfügbarkeit wird gewährleistet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4