Verëffentlechung vu Redis 6.0 DBMS

Preparéiert DBMS Verëffentlechung Redis 6.0, gehéiert zu der Klass vun NoSQL Systemer. Redis bitt Memcached-ähnlech Funktiounen fir Schlëssel-/Wäertdaten ze späicheren, verbessert duerch Ënnerstëtzung fir strukturéiert Dateformate wéi Lëschten, Hashes a Sets, an d'Fäegkeet fir Server-Säit Lua Handler Scripten auszeféieren. Projet Code geliwwert ënner BSD Lizenz. Zousätzlech Moduler déi fortgeschratt Fäegkeete fir Enterprise Benotzer ubidden wéi RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom zënter d'lescht Joer geliwwert ënner der propriétaire RSAL Lizenz. D'Entwécklung vun oppene Versioune vun dëse Moduler ënner der AGPLv3 Lizenz gëtt vum Projet weidergefouert GoodFORM.

Am Géigesaz zu Memcached bitt Redis eng persistent Späichere vun Daten op der Disk a garantéiert d'Sécherheet vun der Datebank am Fall vun engem Noutfall. De Quellcode vum Projet gëtt ënner der BSD Lizenz verdeelt. Client Bibliothéike si fir déi populärste Sprooche verfügbar, dorënner Perl, Python, PHP, Java, Ruby an Tcl. Redis ënnerstëtzt Transaktiounen, déi Iech erlaben eng Grupp vu Kommandoen an engem Schrëtt auszeféieren, fir Konsistenz a Konsistenz ze garantéieren (Commande vun aneren Ufroe kënnen net stéieren) an der Ausféierung vun engem bestëmmte Set vu Kommandoen, an am Fall vu Probleemer, erlaabt Iech zréckzekréien Ännerungen. All Donnéeën sinn voll am RAM cache.

Kommandoen wéi Inkrement / Ofsenkung, Standardlëscht a Set Operatiounen (Gewerkschaft, Kräizung), Schlëssel ëmbenennen, Multiple Selektiounen, a Sortéierungsfunktiounen gi fir Datemanagement zur Verfügung gestallt. Zwee Späichermodi ginn ënnerstëtzt: periodesch Synchroniséierung vun Daten op Scheif an Ënnerhalt vun engem Changement Log op Scheif. Am zweete Fall ass komplett Sécherheet vun all Ännerungen garantéiert. Et ass méiglech Master-Sklave Datenreplikatioun op verschidde Serveren z'organiséieren, an engem net-blockéierende Modus duerchgefouert. E "publicéieren / abonnéieren" Messagerie Modus ass och verfügbar, an deem e Kanal erstallt gëtt, Messagen aus deenen duerch Abonnement u Clienten verdeelt ginn.

Schlëssel Verbesserungenbäigefüügt am Redis 6.0:

  • Par défaut gëtt den neie RESP3-Protokoll proposéiert, awer d'Verbindungssetup fänkt am RESP2-Modus un an de Client wiesselt op den neie Protokoll nëmmen wann den neien HELLO Kommando benotzt gëtt wann Dir d'Verbindung verhandelt. RESP3 erlaabt Iech direkt komplex Datentypen zréckzeginn ouni de Besoin fir generesch Arrays op der Client Säit ze konvertéieren an duerch d'Trennung vun de Retourtypen.
  • Zougang Kontroll Lëscht Ënnerstëtzung (ACL), erlaabt Iech präziist ze bestëmmen wéi eng Operatioune vum Client kënne gemaach ginn a wéi eng net. ACLs maachen et och méiglech géint méiglech Feeler während der Entwécklung ze schützen, zum Beispill, en Handler, deen nëmmen d'BRPOPLPUSH Operatioun ausféiert, kann verbueden sinn aner Operatiounen auszeféieren, a wann de FLUSHALL Ruff, deen während dem Debugging bäigefüügt gëtt, zoufälleg am Produktiounscode vergiess gëtt, wäert dëst net zu Problemer féieren. D'Ëmsetzung vun engem ACL mécht keng zousätzlech Overhead an huet praktesch keen Impakt op d'Leeschtung. Interface Moduler sinn och fir ACL virbereet ginn, wat et méiglech mécht Är eege Authentifikatiounsmethoden ze kreéieren. Fir all opgeholl ACL Violatioune ze gesinn, gëtt de Kommando "ACL LOG" geliwwert. Fir onberechenbar Sessiounsschlësselen ze generéieren, ass de Kommando "ACL GENPASS" mat SHA256-baséiert HMAC bäigefüügt.
  • Ënnerstëtzung SSL / TLS fir de Kommunikatiounskanal tëscht dem Client an dem Server ze verschlësselen.
  • Ënnerstëtzung Cache Daten op der Client Säit. Fir de Client-Säit-Cache mat dem Zoustand vun der Datebank ze versoen, sinn zwee Modi verfügbar: 1. Erënnert Iech um Server un d'Schlësselen, déi de Client virdru gefrot huet, fir hien iwwer de Verloscht vun der Relevanz vun der Entrée am Client-Cache z'informéieren. 2. De "Broadcasting" Mechanismus, an deem de Client sech op bestëmmte Schlësselpräfixe abonnéiert an de Server matdeelt, wann d'Schlësselen, déi ënner dëse Präfixe falen, änneren. De Virdeel vum "Sendung" Modus ass datt de Server keng zousätzlech Erënnerung verschwënnt fir eng Kaart vu Wäerter ze späicheren déi op der Client Säit gelagert sinn, awer den Nodeel ass datt d'Zuel vun den iwwerdroenen Messagen eropgeet.
  • Den Disque Message Broker, deen Iech erlaabt Redis ze benotzen fir Message Schlaangen ze veraarbechten, gouf aus der Basisstruktur an separat Modul.
  • Dobäigesat Cluster Proxy, e Proxy fir e Stärekoup vu Redis Serveren, wat e Client erlaabt d'Aarbecht mat verschiddene Redis Serveren ze organiséieren wéi wa se eng eenzeg Instanz wieren. De Proxy kann Ufroen op Node mat den néidegen Donnéeën, Multiplexverbindungen routen, de Stärekoup nei konfiguréieren wann Nodefehler festgestallt ginn, an Ufroen ausféieren déi verschidde Noden iwwerspanen.
  • D'API fir Moduler ze schreiwen ass wesentlech verbessert ginn, wesentlech Redis an e Kader verwandelt deen Iech erlaabt Systemer a Form vun Add-on Moduler ze kreéieren.
  • E Replikatiounsmodus gouf implementéiert an deem RDB Dateien direkt geläscht ginn nodeems se benotzt goufen.
  • De PSYNC2 Replikatiounsprotokoll gouf verbessert, wat et méiglech gemaach huet, deelweis Resynchronisatioun méi dacks auszeféieren, andeems d'Chancen erhéicht ginn fir Offsets z'identifizéieren, déi gemeinsam sinn fir d'Replika an de Master.
  • D'Luede vun RDB Dateien ass beschleunegt ginn. Ofhängeg vum Dateiinhalt läit d'Beschleunigung vun 20 bis 30%. D'Ausféierung vum INFO Kommando ass wesentlech beschleunegt ginn wann et eng grouss Zuel vu verbonne Clienten ass.
  • En neie STRALGO Kommando gouf bäigefüügt mat der Ëmsetzung vu komplexe Stringveraarbechtung Algorithmen. De Moment ass nëmmen ee LCS (längste gemeinsame Subsequenz) Algorithmus verfügbar, wat nëtzlech ka sinn wann Dir RNA an DNA Sequenzen vergläicht.

Source: opennet.ru

Setzt e Commentaire