Verëffentlechung vu Redis 7.0 DBMS

D'Verëffentlechung vum Redis 7.0 DBMS, deen zu der Klass vun NoSQL Systemer gehéiert, gouf publizéiert. Redis bitt Funktiounen fir Schlëssel / Wäertdaten ze späicheren, verbessert duerch Ënnerstëtzung fir strukturéiert Dateformater wéi Lëschten, Hashes a Sets, souwéi d'Fäegkeet fir Server-Säit Skript-Handler an Lua ze lafen. De Projet Code gëtt ënner der BSD Lizenz geliwwert. Zousätzlech Moduler déi fortgeschratt Fäegkeete fir Firme Benotzer ubidden, wéi RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, goufen zënter 2019 ënner enger propriétaire RSAL Lizenz geliwwert. De GoodFORM Projet, dee viru kuerzem stagnéiert huet, huet probéiert d'Entwécklung vun oppene Versioune vun dëse Moduler ënner der AGPLv3 Lizenz weiderzeféieren.

Am Géigesaz zu In-Memory Storage Systemer wéi Memcached, suergt Redis datt d'Donnéeën dauernd op der Disk gespäichert ginn a garantéiert datt d'Datebank intakt bleift am Fall vun engem Crash. 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 Ännerungen am Redis 7.0:

  • Zousätzlech Ënnerstëtzung fir Server-Säit Funktiounen. Am Géigesaz zu virdru ënnerstëtzte Scripten an der Lua Sprooch sinn d'Funktiounen net un d'Applikatioun gebonnen a si zielt fir zousätzlech Logik ëmzesetzen, déi d'Fäegkeete vum Server erweidert. D'Funktioune ginn onloschterlech mat den Donnéeën a par rapport zu der Datebank veraarbecht, an net zur Applikatioun, inklusiv replizéiert a gespäichert a persistent Lagerung.
  • Eng zweet Editioun vum ACL gouf proposéiert, wat Iech erlaabt den Zougang zu Daten op Basis vu Schlësselen ze kontrolléieren an et erméiglecht Iech verschidde Sets vu Reegelen ze definéieren fir Zougang zu Kommandoen mat der Fäegkeet fir verschidde Selektoren (Set vun Permissiounen) un all Benotzer ze binden. All Schlëssel kann mat enger spezifescher Autoritéit identifizéiert ginn, Zum Beispill, Dir kënnt Zougang zu nëmmen liesen oder schreiwen eng bestëmmte Ënnerdeelung vun Schlësselen limitéieren.
  • Eng partitionéiert (sharded) Implementatioun vum Publish-Subscribe Message Verdeelungsparadigma, deen an engem Cluster leeft, gëtt zur Verfügung gestallt, an deem e Message un e spezifesche Knuet geschéckt gëtt, un deem e Messagekanal befestegt ass, duerno gëtt dëse Message op déi verbleiwen Noden ëmgeleet. am Schnéi. D'Clientë kënnen Messagen kréien andeems se op e Kanal abonnéieren, souwuel andeems se mam Haaptknuet an op déi sekundär Wirbelen vun der Sektioun verbannen. D'Kontroll gëtt mat de Kommandoen SSUBSCRIBE, SUNSUBSCRIBE a SPUBLISH duerchgefouert.
  • Zousätzlech Ënnerstëtzung fir d'Veraarbechtung vun Ënnerbefehle an de meeschte Kontexter.
  • Nei Kommandoen dobäigesat:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • KOMMANDO DOCS, KOMMANDO LËSCHT.
    • LATENCY HISTOGRAM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • CLIENT KENG EVICT.
    • ACL DRYRUN.
  • D'Kapazitéit fir verschidde Konfiguratiounen gläichzäiteg an engem CONFIG SET/GET Uruff ze veraarbecht gouf zur Verfügung gestallt.
  • Optiounen "-json", "-2", "-scan", "-functions-rdb" goufen an de Redis-cli Utility bäigefüügt.
  • Par défaut ass de Client Zougang zu Astellungen a Kommandoen, déi d'Sécherheet beaflossen, behënnert (zum Beispill, d'DEBUG- a MODULE Kommandoen sinn behënnert, d'Konfiguratioune mam PROTECTED_CONFIG Fändel änneren ass verbueden). Redis-cli gëtt net méi Kommandoen aus, déi sensibel Donnéeën an eng Geschichtdatei enthalen.
  • E groussen Deel vun Optimisatiounen gouf agefouert fir d'Performance ze erhéijen an d'Erënnerungsverbrauch ze reduzéieren. Zum Beispill ass de Gedächtnisverbrauch wesentlech reduzéiert ginn wann Dir de Clustermodus aktivéiert, wann Dir Copy-on-Write Operatiounen ausféiert, a wann Dir mat Hashes an Zset Schlësselen schafft. Verbesserte Logik fir Daten op Disk ze spülen (fsync Call). D'Zuel vun de Reseau Päck a System rifft wann Äntwerten op de Client schéckt gouf reduzéiert. D'Replikatiounseffizienz gouf verbessert.
  • D'Vulnerabilitéit CVE-2022-24735 an der Ëmwelt fir Lua Scripten auszeféieren ass fixéiert ginn, wat Iech erlaabt Ären eegene Lua Code z'ersetzen an hir Ausféierung am Kontext vun engem anere Benotzer z'erreechen, dorënner ee mat méi héije Privilegien.
  • Fixéiert Schwachstelle CVE-2022-24736, wat de Redis-Server-Prozess erlaabt wéinst NULL Zeiger-Dereferenz ze crashen. D'Attack gëtt duerch d'Luede vu speziell entworf Lua Scripten duerchgefouert.

Source: opennet.ru

Setzt e Commentaire