Veröffentlichung der Datenbankmanagementsoftware Redis 8.4

Die Version 8.4 des NoSQL-Datenbanksystems Redis wurde veröffentlicht. Redis bietet Funktionen zur Speicherung von Daten im Schlüssel/Wert-Format und erweitert diese um die Unterstützung strukturierter Datenformate wie Listen, Hashes und Mengen sowie die Möglichkeit, serverseitige Verarbeitungsskripte in Lua auszuführen. Der Code des Projekts ist in C geschrieben und wird unter der AGPLv3-Lizenz veröffentlicht.

Die Datenbank Redis unterstützt Transaktionen, die es ermöglichen, eine Gruppe von Befehlen in einem Schritt auszuführen, und dabei Konsistenz und Sequenz zu garantieren (Befehle von anderen Anfragen können sich nicht dazwischenschalten). Im Falle von Problemen besteht die Möglichkeit, Änderungen zurückzusetzen. Alle Daten werden vollständig im Arbeitsspeicher zwischengespeichert. Client-Bibliotheken sind für die meisten gängigen Programmiersprachen verfügbar, darunter Perl, Python, PHP, Java, Ruby und Tcl.

Zur Verwaltung von Daten stehen Befehle wie Inkrement/Dekrement, Standardoperationen für Listen und Mengen (Vereinigung, Schnittmenge), Umbenennung von Schlüsseln, Mehrfachabfragen und Sortierfunktionen zur Verfügung. Es gibt zwei Speicheroptionen: periodische Datensynchronisation auf die Festplatte und Protokollierung von Änderungen auf der Festplatte. Im zweiten Fall wird die vollständige Integrität aller Änderungen gewährleistet. Zudem kann eine Master-Slave-Datenreplikation auf mehrere Systeme organisiert werden Server, die im nicht-blockierenden Modus erfolgt. Auch ein Publish-Subscribe-Nachrichtenaustauschmodus ist verfügbar, bei dem ein Kanal erstellt wird, über den die Nachrichten an abonnierte Clients verteilt werden.

Wesentliche Änderungen in Redis 8.4:

  • Es wurde der Befehl „FT.HYBRID“ hinzugefügt, der hybrides Suchen ermöglicht, indem er in einer Anfrage die Funktionen der Volltext- und der Vektorsuche kombiniert und sowohl direkte Übereinstimmungen als auch semantische Ähnlichkeiten berücksichtigt. Es wird eine Aggregation von Ergebnissen unterstützt, die eine Syntax wie der Befehl „FT.AGGREGATE“ verwendet.
  • Die Durchsatzkapazität für typische Redis-Anwendungen zum Caching wurde erhöht. Bei einer Last von 10 % Schreiboperationen (SET) und 90 % Leseoperationen (GET) sowie einer Speicherung von Stringwerten mit einer Größe von 1 KB betrug die Steigerung der Durchsatzkapazität 30 %.
    Veröffentlichung der Datenbankmanagementsoftware Redis 8.4
  • Die Leistung von Suchvorgängen (FT.SEARCH) und der Aggregation von Ergebnissen (FT.AGGREGATE) wurde verbessert. In stark ausgelasteten Systemen mit einer hohen Anzahl an parallelen Anfragen wurde die Bandbreite um bis zu 4,7 Mal erhöht und die Latenz bei der Durchführung von Suchen um bis zu 1,4 Mal gesenkt.
    Veröffentlichung der Datenbankmanagementsoftware Redis 8.4
  • Die Speicherzuweisung bei der Ausführung von Abfragen wurde optimiert, und es wurde die Möglichkeit geschaffen, das Verhalten bei Erschöpfung des verfügbaren Speichers (OOM, out-of-memory) zu konfigurieren.
  • Der Speicherverbrauch für die Speicherung von kleinen Strings (bis zu 7 Byte) in JSON-Strukturen wurde gesenkt. Zum Beispiel belegt ein JSON-Array mit 500 kleinen Elementen im Schlüssel/Wert-Format jetzt 37 % weniger Speicher.
  • Die Effizienz der Speicherung von numerischen JSON-Arrays, bei denen alle Elemente denselben Typ haben, wurde erhöht (wenn zuvor für jedes Element in einem solchen Array Typ und Wert gespeichert wurden, wird der Typ nun einmal für das gesamte Array gespeichert). In einem durchgeführten Test benötigen solche Arrays mit einer Million homogener Elemente nun je nach Typ 50-92 % weniger Speicher.
  • Im Befehl SET wurden die Optionen IFEQ, IFNE, IFDEQ und IFDNE hinzugefügt, mit denen Sie mit einem einzigen Befehl den string-Schlüssel aktualisieren können, wenn der zugehörige Wert seit seiner Abrufung von einem anderen Client nicht verändert wurde.
  • Der Befehl XDELEX wurde hinzugefügt, um den string-Schlüssel atomar zu löschen, wenn der zugehörige Wert seit seiner Abrufung nicht geändert wurde.
  • Der Befehl DIGEST gibt den Hash des Wertes zurück, der mit dem angegebenen Schlüssel verknüpft ist.
  • Der Befehl XREADGROUP erhielt die Option „CLAIM “, um sowohl wartende (idle pending) als auch eingehende (incoming) Nachrichten zu lesen.
  • Der Befehl MSETEX wurde hinzugefügt, um mehrere string-Schlüssel atomar zu setzen oder zu aktualisieren sowie die Lebensdauer dieser Schlüssel zu ändern.
  • Ein Mechanismus zur atomaren Migration von Slots zwischen den Knoten eines Clusters (ASM – Atomic Slot Migration) wurde hinzugefügt. Dies ähnelt der vollständigen synchronen Replikation, funktioniert jedoch auf der Ebene einzelner Datenspeicherslots. Der Befehl CLUSTER MIGRATION ermöglicht es, Slots von anderen Knoten zu importieren, den Fortschritt der Migration nachzuverfolgen und bei Bedarf aufwartende Migrationen zu kennzeichnen.
  • Das CLUSTER SLOT-STATS Kommando wurde hinzugefügt, um Statistiken im Cluster für einzelne Slots zu bewerten, wie die Anzahl der Schlüssel, die CPU-Belastung und den Netzwerk-I/O.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster