Erscheinung von Redis DB 7.4, umgestellt auf proprietäre Lizenzen

Die Veröffentlichung von Redis 7.4, einem NoSQL-Datenbanksystem, wurde bekannt gegeben. Redis bietet Funktionen zur Speicherung von Daten im Schlüssel/Wert-Format und unterstützt erweiterte Datenstrukturen wie Listen, Hashes und Mengen sowie die Möglichkeit, serverseitige Skripte in Lua auszuführen. Im Gegensatz zu In-Memory-Speichersystemen wie Memcached speichert Redis Daten nicht nur im Arbeitsspeicher, sondern auch auf der Festplatte, was die Persistenz der Datenbank im Falle eines unerwarteten Abschaltens gewährleistet.

Redis 7.4 wird als die erste Version angekündigt, die unter neuen Lizenzbedingungen veröffentlicht wird – anstelle der zuvor verwendeten BSD-Lizenz ist der Code jetzt unter den proprietären Lizenzen RSALv2 (Redis Source Available License v2) und SSPLv1 (Server Side Public License v1) verfügbar. Interessierte, die den Code weiterhin unter der BSD-Lizenz nutzen möchten, können auf die Projekte Valkey (einen Fork, der mit Unterstützung von Amazon, Google, Oracle, Ericsson und Snap entwickelt wird), Redict (einen Fork des Entwicklers der benutzerdefinierten Shell Sway und der Sprache Hare), Garnet (eine von Microsoft entwickelte, Redis-kompatible Datenbank) oder KeyDB (einen leistungsstarken Fork von Redis 5 von Snapchat) zurückgreifen.

Die Lizenzen SSPL und RSAL führen zu Diskriminierung bestimmter Benutzergruppen, weshalb sie nicht als offen oder frei angesehen werden können. Beide Lizenzen verfolgen ähnliche Ziele, wobei der Unterschied darin liegt, dass die SSPL-Lizenz auf der Copyleft-Lizenz AGPLv3 basiert, während die RSAL-Lizenz auf der permissiven BSD-Lizenz beruht. Die RSAL-Lizenz erlaubt die Nutzung, Änderung, Verbreitung und Integration des Codes in Anwendungen, es sei denn, diese Anwendungen sind kommerziell oder werden zur Bereitstellung verwalteter kostenpflichtiger Dienste verwendet. Die SSPL-Lizenz enthält zusätzlich die Anforderung, dass nicht nur der Code der Anwendung selbst, sondern auch der Quelltext aller Komponenten, die an der Bereitstellung des Cloud-Dienstes beteiligt sind, unter derselben Lizenz geliefert werden muss.

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.

Wichtige Änderungen in der Funktionalität von Redis 7.4:

  • Die Möglichkeit wurde hinzugefügt, die Lebensdauer einzelner Felder in Hashes, Strukturen zur Speicherung gruppierter Sammlungen von Datensätzen im Schlüssel-Wert-Format, zu begrenzen. Im Gegensatz zur Festlegung einer Lebensdauer für den Schlüssel ermöglicht die vorgeschlagene Änderung die Festlegung nicht nur einer allgemeinen Lebensdauer für alle verbundenen Felder, sondern auch individueller Lebensdauern für einzelne Felder. Dies kann beispielsweise verwendet werden, um eine kürzere Lebensdauer von Authentifizierungstoken im Vergleich zu anderen Sitzungsdaten zu gewährleisten.
  • Neue Datentypen bfloat16 und float16 wurden vorgeschlagen, die für den Einsatz in Anwendungen des maschinellen Lernens optimiert sind und den Speicherverbrauch im Vergleich zu den zuvor verfügbaren Typen float32 und float64 reduzieren. Bei der Verwendung in Hashes ermöglichen die neuen Typen eine Reduzierung des Speicherverbrauchs in Vektor-Datenbanken um 47 %, reduzieren die Datenabrufverzögerung um 59 % und verkürzen die Indexierungszeit um 58 % im Vergleich zum Typ float64.
  • Die Verwendung sekundärer Indizes wurde vereinfacht. Bei der Abfrage von Informationen aus sekundären Indizes müssen nun spezielle Zeichen wie „@“ und „.“ nicht mehr einzeln maskiert werden, sondern können in Anführungszeichen gesetzt werden, um Datenteile einzurahmen. Zudem wurde die Indizierung leerer und fehlender Felder erheblich verbessert – für die Erstellung von Indizes und die Formulierung von Abfragen, die das Vorhandensein von Feldern berücksichtigen, werden das neue Schlüsselwort INDEXMISSING und die Funktion ismissing() angeboten. Neue Operatoren INTERSECT und DISJOINT wurden hinzugefügt, um die Suche nach geospatialen Daten zu erleichtern. Es wurden Möglichkeiten zur Analyse des Speicherverbrauchs durch Indizes hinzugefügt.
  • Die Unterstützung von Filtern zum Herausfiltern von Elementen in hinzugefügten Datensätzen wurde ergänzt. Beispielsweise kann beim regelmäßigen Laden von Sensordaten in die Datenbank ein Filter hinzugefügt werden, um Werte zu ignorieren, deren Zeitabstand von dem vorherigen Wert kleiner ist als ein bestimmter Schwellenwert.
  • Die Unterstützung von Triggern und Funktionen in JavaScript, die in der vorherigen Version angeboten wurden, wurde eingestellt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster