Veröffentlichung von Redis DBMS 6.0

Vorbereitet Release der Datenbankverwaltungssysteme Redis 6.0, die zur Klasse der NoSQL-Systeme gehört. Redis bietet Ă€hnliche Funktionen wie Memcached fĂŒr die Speicherung von Daten im SchlĂŒssel/Wert-Format, erweitert durch die UnterstĂŒtzung strukturierter Datenformate wie Listen, Hashes und Mengen sowie die Möglichkeit, serverseitige Skripte in Lua auszufĂŒhren. Der Projektcode wird geliefert unter der BSD-Lizenz. ZusĂ€tzliche Module, die erweiterte Funktionen fĂŒr Unternehmenskunden anbieten, wie RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, sind seit letztem Jahr geliefert werden unter der proprietĂ€ren RSAL-Lizenz. Die Entwicklung offener Varianten dieser Module unter der AGPLv3-Lizenz wird durch das Projekt GoodFORM.

Im Gegensatz zu Memcached bietet Redis eine dauerhafte Speicherung von Daten auf der Festplatte und gewĂ€hrleistet die IntegritĂ€t der Datenbank im Falle eines unerwarteten Absturzes. Die Quelltexte des Projekts werden unter der BSD-Lizenz verbreitet. Client-Bibliotheken sind fĂŒr die meisten gĂ€ngigen 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, wobei Konsistenz und Reihenfolge garantiert sind (Befehle anderer Anfragen können sich nicht dazwischenschalten), und im Falle von Problemen wird einem ermöglicht, Änderungen zurĂŒckzusetzen. Alle Daten werden vollstĂ€ndig im Arbeitsspeicher zwischengespeichert.

Zur Verwaltung der Daten stehen Befehle wie Inkrement/Dekrement, Standardoperationen auf Listen und Mengen (Vereinigung, Schnittmenge), Umbenennung von SchlĂŒsseln, Mehrfachabfragen und Sortierfunktionen zur VerfĂŒgung. Es werden zwei Speicherungsmodi unterstĂŒtzt: periodische Datensynchronisation auf die Festplatte und das FĂŒhren eines Änderungsprotokolls auf der Festplatte. Im zweiten Fall wird die vollstĂ€ndige IntegritĂ€t aller Änderungen garantiert. Es ist auch möglich, eine Master-Slave-Replikation der Daten auf mehrere Server zu organisieren, die im nicht blockierenden Modus erfolgt. Ein Publish/Subscribe-Nachrichtenaustauschmodus ist ebenfalls verfĂŒgbar, bei dem ein Kanal geschaffen wird, dessen Nachrichten an abonnierte Clients verbreitet werden.

Hauptmerkmale Verbesserungen, die in Redis 6.0 hinzugefĂŒgt wurden:

  • StandardmĂ€ĂŸig ist das neue Protokoll RESP3 vorgeschlagen, aber die Verbindung wird im RESP2-Modus gestartet, und der Client wechselt nur dann zum neuen Protokoll, wenn bei der Aushandlung der Verbindung der neue Befehl HELLO verwendet wurde. RESP3 ermöglicht das direkte ZurĂŒckgeben komplexer Datentypen, ohne dass eine Konvertierung von allgemeinen Arrays auf der Client-Seite erforderlich ist, und trennt die zurĂŒckgegebenen Typen.
  • UnterstĂŒtzung fĂŒr Zugriffssteuerungslisten (ACL), die es ermöglichen, genau zu definieren, welche Operationen ein Client ausfĂŒhren kann und welche nicht. ACL bieten auch die Möglichkeit, sich gegen mögliche Fehler bei der Entwicklung abzusichern. Beispielsweise kann einem Handler, der nur die Operation BRPOPLPUSH ausfĂŒhrt, die AusfĂŒhrung anderer Operationen untersagt werden, und falls in dem Arbeitscode versehentlich der hinzugefĂŒgte Aufruf FLUSHALL wĂ€hrend der Debugging-Phase vergessen wird, fĂŒhrt dies nicht zu Problemen. Die Implementierung von ACL ist mit keinen zusĂ€tzlichen Kosten verbunden und hat praktisch keinen Einfluss auf die Leistung. FĂŒr ACL sind auch Schnittstellenmodule vorbereitet, die die Erstellung eigener Authentifizierungsmethoden ermöglichen. Um alle dokumentierten VerstĂ¶ĂŸe gegen die ACL anzuzeigen, steht der Befehl „ACL LOG“ zur VerfĂŒgung. Um unvorhersehbare SitzungsschlĂŒssel zu generieren, wurde der Befehl „ACL GENPASS“ hinzugefĂŒgt, der HMAC basiert auf SHA256 verwendet.
  • Support SSL/TLS zur VerschlĂŒsselung des Kommunikationskanals zwischen Client und Server.
  • Support Caching von Daten auf der Client-Seite. FĂŒr die Abstimmung des Caches auf der Client-Seite mit dem Zustand der Datenbank stehen zwei Modi zur VerfĂŒgung: 1. Speicherung der SchlĂŒssel auf dem Server, die zuvor vom Client angefordert wurden, um ihn ĂŒber die UngĂŒltigkeit des Eintrags im Client-Cache zu informieren. 2. Der Mechanismus „Broadcasting“, bei dem der Client sich auf bestimmte SchlĂŒsselprĂ€fixe abonniert und der Server ihn im Falle von Änderungen an den SchlĂŒsseln, die unter diese PrĂ€fixe fallen, informiert. Der Vorteil des „Broadcasting“-Modus besteht darin, dass auf dem Server kein zusĂ€tzlicher Speicher fĂŒr die Speicherung der Karte der im Client-Cache gespeicherten Werte benötigt wird, wĂ€hrend der Nachteil die erhöhte Anzahl ĂŒbertragener Nachrichten ist.
  • Der Nachrichtenbroker Disque, der die Verwendung von Redis zur Verarbeitung von Nachrichtenwarteschlangen ermöglicht, wurde aus dem Basisangebot in ein separates Modul.
  • HinzugefĂŒgt Cluster Proxy, ein Proxy fĂŒr ein Redis-Servercluster, der es ermöglicht, den Client mit mehreren Redis-Servern wie mit einer einzigen Instanz zu interagieren. Der Proxy kann Anfragen an Knoten mit den benötigten Daten weiterleiten, Verbindungen multiplexieren, das Cluster im Falle von Knotenfehlern neu konfigurieren und Anfragen ausfĂŒhren, die mehrere Knoten abdecken.
  • Die API zur Erstellung von Modulen wurde erheblich verbessert, wodurch Redis im Wesentlichen zu einem Framework wurde, das die Erstellung von modulbasierten Systemen ermöglicht.
  • Ein Replikationsmodus wurde implementiert, bei dem RDB-Dateien sofort nach ihrer Verwendung gelöscht werden.
  • Das Replikationsprotokoll PSYNC2 wurde verbessert, was eine hĂ€ufigere teilweise Resynchronisation ermöglicht, da die Chancen zur Feststellung einer gemeinsamen Verschiebung zwischen Replica und Master erhöht wurden.
  • Die Ladezeiten der RDB-Dateien wurden beschleunigt. Je nach Dateiinhalten betrĂ€gt die Beschleunigung zwischen 20 und 30%. Die AusfĂŒhrung des INFO-Befehls wurde erheblich beschleunigt, wenn eine große Anzahl von verbundenen Clients vorhanden ist.
  • Ein neuer Befehl STRALGO wurde hinzugefĂŒgt, der komplexe Algorithmen zur Verarbeitung von Zeichenfolgen implementiert. Derzeit ist nur ein Algorithmus verfĂŒgbar: LCS (longest common subsequence), der bei der Vergleich von RNA- und DNA-Sequenzen nĂŒtzlich sein kann.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster