Mastodon
Zuletzt aktualisiert am
Linux News & Tutorials
Bobby 🇬🇧 Borisov

Valkey 9.0 In-Memory-Datenspeicher bietet atomare Slot-Migrationen und geclusterte Datenbanken

Der In-Memory-Datenspeicher Valkey 9.0 bietet erstmals atomare Slot-Migrationen, clusterweite Datenbanken und erhebliche Durchsatzsteigerungen für moderne Workloads.
Eine Übersetzung von 🇬🇧 Linuxiac.com

Nach der ersten Version 8.0 vor einem Jahr ist Valkey 9.0 die zweite große Veröffentlichung für diesen Open-Source-Datenspeicher, der mit Redis kompatibel ist. Die wichtigste Neuerung sind atomare Slot-Migrationen, eine grundlegende Überarbeitung der Art und Weise, wie Daten zwischen Knoten in einem Cluster verschoben werden.

🎓 Bisher verwendete Valkey einen Key-by-Key-Ansatz – jeder Key wurde einzeln verschoben, gelöscht und wieder eingefügt. Das funktionierte zwar gut, aber bei hoher Auslastung oder großen Datensätzen konnte es zu Leistungseinbußen, blockierten Migrationen und sogar zu einer Unzugänglichkeit der Daten bis zum Abschluss des Prozesses kommen.

Valkey 9.0 ersetzt dies durch ein slotbasiertes Migrationssystem. Anstatt Schlüssel einzeln zu übertragen, werden ganze Slots – die jeweils eine Gruppe von Schlüsseln enthalten – atomar unter Verwendung des Append-Only-Dateiformats migriert. Dadurch können Sammlungen wie Sets oder Listen effizient übertragen werden, ohne den Eingabepuffer des Zielknotens zu überlasten. Das Ergebnis sind reibungslosere Migrationen, weniger Wiederholungsversuche und keine partiellen Datenzustände.

Darüber hinaus bietet dieses Update eine Funktion zum Ablaufenlassen von Hash-Feldern. Bislang war bei Valkey nur das Ablaufenlassen auf Schlüsselebene möglich – das heißt, wenn ein Feld abgelaufen sein sollte, musste der gesamte Hash gelöscht werden. Die neue Version führt Befehle wie HEXPIRE, HEXPIREAT, HGETEX und HPERSIST ein, die eine detaillierte Steuerung des Ablaufens auf Feldebene ermöglichen.

Eine weitere herausragende Änderung, die sich vom bisherigen Design des Vorgängers unterscheidet, ist die neu hinzugefügte vollständige Unterstützung für nummerierte Datenbanken im Cluster-Modus.

Bisher waren Cluster-Bereitstellungen auf eine einzige Datenbank (db 0) beschränkt, was die Skalierbarkeit einschränkte. Jetzt können Benutzer jedoch Workloads logisch trennen und Schlüsselkollisionen vermeiden, ohne auf die Cluster-Funktionalität verzichten zu müssen – eine praktische Funktion für Multi-Tenant-Umgebungen oder Sharded-Anwendungen.

Über die wichtigsten Funktionen hinaus bietet Valkey 9.0 eine lange Liste von Optimierungen, die darauf abzielen, den Durchsatz zu steigern und die Latenz zu reduzieren:

  • 1 Milliarde Anfragen pro Sekunde: Dank verbesserter Cluster-Ausfallsicherheit ist eine Skalierung auf 2.000 Knoten und die Verarbeitung von bis zu einer Milliarde Anfragen pro Sekunde möglich.
  • Pipeline-Speicher-Prefetch: Steigert den Durchsatz um bis zu 40 %.
  • Zero-Copy-Antworten: Reduzieren den Speicher-Overhead und verbessern die Verarbeitung großer Anfragen.
  • Multipath-TCP-Unterstützung: Senkt die Latenz bei Multipath-Netzwerkverbindungen um etwa 25 %.
  • SIMD-Optimierungen: Fügt vektorisierte Verarbeitung für BITCOUNT und HyperLogLog hinzu und verbessert die Leistung um bis zu 200 %.
  • Bedingtes Löschen: Ein neuer DELIFEQ Befehl löscht Schlüssel nur, wenn ihre Werte einer bestimmten Bedingung entsprechen.
  • CLIENT LIST-Filterung: Ermöglicht die Filterung nach Flags, Namen, IPs und anderen Parametern für eine präzisere Überwachung.

Schließlich wurden im Rahmen des Projekts auch 25 zuvor veraltete Befehle überarbeitet und wieder eingeführt. Weitere Informationen finden Sie in der Ankündigung. Valkey 9.0 ist ab sofort als Binärdateien, Container und Quellcode verfügbar, Distributionspakete folgen in Kürze.

Spendieren Sie Bobby einen ☕ Ko-fi

Ein Service von s3n🧩net

Comments