Veröffentlichung von Redis DB 7.0

Die Veröffentlichung von Redis 7.0, einem NoSQL-Datenbanksystem, wurde bekannt gegeben. Redis bietet Funktionen zur Speicherung von Daten im SchlĂŒssel-Wert-Format und erweitert dies durch die UnterstĂŒtzung strukturierter Datenformate wie Listen, Hashes und Mengen. Zudem besteht die Möglichkeit, serverseitige Skripte in Lua auszufĂŒhren. Der Quellcode des Projekts wird unter der BSD-Lizenz bereitgestellt. ZusĂ€tzliche Module, die erweiterte Funktionen fĂŒr Unternehmenskunden anbieten, wie RediSearch, RedisGraph, RedisJSON, RedisML und RedisBloom, werden seit 2019 unter der proprietĂ€ren RSAL-Lizenz angeboten. Der Versuch, die Entwicklung offener Varianten dieser Module unter der AGPLv3-Lizenz fortzufĂŒhren, wurde durch das Projekt GoodFORM unternommen, das derzeit stagniert.

Im Gegensatz zu speicherbasierten Systemen wie Memcached bietet Redis eine permanente Datenspeicherung auf der Festplatte und gewĂ€hrleistet die IntegritĂ€t der Datenbank im Falle eines unerwarteten Systemabsturzes. Die Quelltexte des Projekts sind unter der BSD-Lizenz verfĂŒgbar. Die Client-Bibliotheken sind fĂŒr die gĂ€ngigsten Programmiersprachen verfĂŒgbar, einschließlich Perl, Python, PHP, Java, Ruby und Tcl. Redis unterstĂŒtzt Transaktionen, die es ermöglichen, eine Gruppe von Befehlen in einem Schritt auszufĂŒhren, um Konsistenz und Ordnung zu gewĂ€hrleisten (Befehle anderer Anfragen können nicht dazwischen geschoben werden) und im Falle von Problemen eine RĂŒckgĂ€ngigmachung der Änderungen zu ermöglichen. Alle Daten werden vollstĂ€ndig im RAM zwischengespeichert.

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 7.0:

  • UnterstĂŒtzung fĂŒr Server-seitige Funktionen hinzugefĂŒgt Server. Im Gegensatz zu den zuvor unterstĂŒtzten Skripten in Lua sind die Funktionen nicht an die Anwendung gebunden und zielen darauf ab, zusĂ€tzliche Logik zu implementieren, die die FĂ€higkeiten des Servers erweitert. Die Funktionen werden untrennbar mit den Daten verarbeitet und sind an die Datenbank gebunden und nicht an die Anwendung, einschließlich der Replikation und Speicherung im permanenten Speicher.
  • Die vorgeschlagene zweite Version der ACL ermöglicht eine zugriffsbasierte Datenverwaltung auf der Grundlage von SchlĂŒsseln und ermöglicht die Definition unterschiedlicher Regelsets fĂŒr den Zugriff auf Befehle, wobei mehrere Selektoren (Berechtigungssets) an jeden Benutzer gebunden werden können. Jeder SchlĂŒssel kann mit bestimmten Berechtigungen identifiziert werden, zum Beispiel kann der Zugriff nur auf Lesen oder Schreiben eines bestimmten SchlĂŒsselsatzes beschrĂ€nkt werden.
  • Eine funktionierende, im Cluster arbeitende, partitionierte (sharded) Implementierung des Publish-Subscribe-Nachrichtenverbreitungsparadigmas wurde bereitgestellt, bei der eine Nachricht an einen bestimmten Knoten gesendet wird, der an den Nachrichtenkatalog gebunden ist, wonach diese Nachricht an die anderen Knoten innerhalb der Partition (shard) weitergeleitet wird. Kunden können Nachrichten abonnieren, indem sie sich mit dem Hauptknoten oder den sekundĂ€ren Knoten der Partition verbinden. Die Verwaltung erfolgt ĂŒber die Befehle SSUBSCRIBE, SUNSUBSCRIBE und SPUBLISH.
  • Die UnterstĂŒtzung fĂŒr die Verarbeitung von Unterbefehlen in den meisten Kontexten wurde hinzugefĂŒgt.
  • Neue Befehle hinzugefĂŒgt:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • COMMAND DOCS, COMMAND LIST.
    • LATENZ-HISTOGRAMM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • CLIENT NO-EVICT.
    • ACL DRYRUN.
  • Die Möglichkeit, mehrere Konfigurationen in einem einzigen CONFIG SET/GET-Aufruf zu verarbeiten, wurde bereitgestellt.
  • Die redis-cli wurde um die Optionen „—json“, „-2“, „—scan“, „—functions-rdb“ erweitert.
  • StandardmĂ€ĂŸig haben Kunden keinen Zugriff auf Sicherheitsrelevante Einstellungen und Befehle (z. B. sind die Befehle DEBUG und MODULE deaktiviert, und das Ändern von Konfigurationen mit dem PROTECTED_CONFIG-Flag ist verboten). Die redis-cli gibt keine Protokolldatei mit Befehlen aus, die vertrauliche Daten enthalten.
  • Eine umfassende Reihe von Optimierungen wurde implementiert, um die Leistung zu steigern und den Speicherverbrauch zu reduzieren. Beispielsweise wurde der Speicherverbrauch im Cluster-Modus, bei copy-on-write-Operationen und beim Umgang mit Hashes und zsets erheblich gesenkt. Die Logik zum ZurĂŒcksetzen von Daten auf die Festplatte (fsync) wurde verbessert. Die Anzahl der Netzwerkpakete und Systemaufrufe beim Senden von Antworten an den Kunden wurde reduziert. Die Effizienz der Replikation wurde erhöht.
  • Die Schwachstelle CVE-2022-24735 in der Lua-SkriptausfĂŒhrungsumgebung wurde behoben, die es ermöglicht, eigenen Lua-Code einzuschleusen und ihn im Kontext eines anderen Benutzers, einschließlich solcher mit höheren Berechtigungen, auszufĂŒhren.
  • Die Schwachstelle CVE-2022-24736 wurde behoben, die zu einem Absturz des redis-server-Prozesses durch Dereferenzierung eines Nullzeigers fĂŒhren kann. Der Angriff erfolgt durch das Laden speziell gestalteter Lua-Skripte.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster