Die Version 1.94.0 der VictoriaMetrics-Plattform ist verfügbar und bietet eine Datenbank für die Speicherung und Verarbeitung von Zeitreihendaten (eine Aufzeichnung besteht aus der Zeit und einer Menge von dazu passenden Werten, z. B. aus der periodischen Abfrage von Sensordaten oder der Sammlung von Metriken), die für die Überwachung optimiert ist. Das Projekt konkurriert mit Lösungen wie InfluxDB, TimescaleDB, Thanos, Cortex und Uber M3 und bietet eine höhere Leistung. Die Datenbank kann als langfristiger Datenspeicher verwendet werden, der mit Prometheus und Grafana verbunden ist, sowie als transparente Alternative zu InfluxDB. Der Code ist in der Programmiersprache Go geschrieben und wird unter der Apache 2.0-Lizenz verbreitet.
In Leistungstests übertrifft VictoriaMetrics InfluxDB und TimescaleDB bei Einfüge- und Abfrageoperationen um das bis zu 20-Fache, während es dabei 10-mal weniger RAM verbraucht als InfluxDB und 7-mal weniger als Prometheus, Thanos und Cortex bei der Verarbeitung von Millionen einzigartiger Zeitreihen. Die Speicherung von Daten im komprimierten Format ermöglicht es, in demselben Speicherumfang 7-mal mehr Datensätze im Vergleich zu Prometheus, Thanos und Cortex unterzubringen und im Vergleich zu TimescaleDB sogar 70-mal mehr. Es gibt spezifische Optimierungen für Speicher mit hohen Latenzen und niedriger Ein-/Ausgabe-Intensität (z. B. Festplatten und Cloud-Speicher von AWS, Google Cloud und Microsoft Azure).
Die Datenbank ist als eine ausführbare Datei mit minimalen Einstellungen konzipiert, die über die Befehlszeile beim Start übergeben werden. Alle Daten werden in einem Verzeichnis gespeichert, das beim Start über den Parameter „-storageDataPath“ festgelegt wird. Bei der Abfragesprache wird MetricsQL verwendet, eine erweiterte Version der Sprache PromQL, die im Überwachungssystem Prometheus verwendet wird. Neben der kontinuierlichen Verarbeitung eingehender Daten bietet VictoriaMetrics auch die Möglichkeit, zuvor gesammelte historische Daten hochzuladen.
Es stehen Tools zum Schutz der Integrität des Speichers vor Datenbeschädigungen zur Verfügung, z. B. bei plötzlichen Stromausfällen (der Speicher hat die Form eines journal-strukturierten Baums mit Merging) sowie ein einfaches Snapshot-basiertes Backup-System. Es ist möglich, VictoriaMetrics-Knoten zu einem horizontal skalierbaren Cluster zusammenzuschließen, der Mechanismen für hohe Verfügbarkeit unterstützt.
Zu den Neuerungen in der neuen Version gehören:
- In MetricsQL ist es zur besseren Lesbarkeit erlaubt, Zahlen durch Unterstriche zu trennen (zum Beispiel können Sie 1_234_567_890 und 1.234_567_890 anstelle von 1234567890 und 1.234567890 angeben).
- In vmbackup wurde die Unterstützung für das Beibehalten von Server Kopien erstellter Backups hinzugefügt.
- Im Interface von vmui wurde die Option hinzugefügt, um die letzten 25 Abfragen anzuzeigen. Auf der Seite „Explore cardinality“ wurde die Unterstützung für den Export von Daten nach Prometheus hinzugefügt. Eine Schaltfläche zum automatischen Formatieren von PromQL/MetricsQL-Abfragen wurde hinzugefügt. Die Lesbarkeit von Diagrammen wurde verbessert. Im localStorage wurde ein Speicher für Abfrageverläufe hinzugefügt.
- In vmagent wurden die Möglichkeiten zur Verwaltung von Knoten im Cluster erweitert, die Fehlerbehandlung verbessert und die Last auf das Kubernetes-Dashboard bei der anfänglichen Dienstentdeckung reduziert.
- In einem Cluster wurde die maximal zulässige Wiederherstellungszeit bei der Durchführung von vmselect- und vminsert-Operationen von 60 auf 3 Sekunden verkürzt, wenn einige Knoten von vmstorage nicht verfügbar sind.
Besonders hervorzuheben ist heute um 19 Uhr Moskauer Zeit die virtuelle Konferenz, bei der die Entwickler von VictoriaMetrics die neuen Möglichkeiten des Projekts und Pläne zur Weiterentwicklung vorstellen, über das Management der Plattform und die Identifizierung von Anomalien berichten und Informationen zur Entwicklung der Open-Source-Datenbank für die Protokollierung, VictoriaLogs, teilen. Zum Abschluss wird es eine Frage-Antwort-Sektion geben.

Quelle: opennet.ru
