Vydání Redis 6.0

Připravený Vydání DBMS Redis 6.0, patřící do třídy NoSQL systémů. Redis poskytuje funkce podobné Memcached pro ukládání dat klíč/hodnota, rozšířené o podporu formátů strukturovaných dat, jako jsou seznamy, hash a sady, a možnost spouštět skripty obsluhy Lua na straně serveru. Kód projektu dodáváno pod licencí BSD. Další moduly, které nabízejí pokročilé funkce pro podnikové uživatele, jako jsou RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom od loňského roku dodávané pod proprietární licencí RSAL. Projekt pokračuje ve vývoji otevřených verzí těchto modulů pod licencí AGPLv3 Dobrá forma.

Na rozdíl od Memcached poskytuje Redis trvalé ukládání dat na disk a zaručuje bezpečnost databáze v případě nouzového vypnutí. Zdrojový kód projektu je distribuován pod licencí BSD. Klientské knihovny jsou dostupné pro většinu populárních jazyků, včetně Perl, Python, PHP, Java, Ruby a Tcl. Redis podporuje transakce, které umožňují provádět skupinu příkazů v jednom kroku, zajišťující konzistenci a konzistenci (příkazy z jiných požadavků nemohou zasahovat) při provádění dané sady příkazů a v případě problémů umožňují vrátit zpět Změny. Všechna data jsou plně uložena v paměti RAM.

Pro správu dat jsou k dispozici příkazy jako zvýšení/snížení, standardní operace se seznamy a sadami (sjednocení, průnik), přejmenování kláves, vícenásobný výběr a funkce řazení. Jsou podporovány dva režimy úložiště: pravidelná synchronizace dat na disk a údržba protokolu změn na disku. V druhém případě je zaručena úplná bezpečnost všech změn. Je možné organizovat replikaci dat master-slave na několik serverů, prováděnou v neblokovacím režimu. K dispozici je také režim zasílání zpráv „publikovat/předplatit“, ve kterém je vytvořen kanál, z něhož jsou zprávy distribuovány klientům prostřednictvím předplatného.

Klíč vylepšenípřidáno v Redis 6.0:

  • Ve výchozím nastavení je navržen nový protokol RESP3, ale nastavování připojení začíná v režimu RESP2 a klient se přepne na nový protokol pouze v případě, že je při vyjednávání připojení použit nový příkaz HELLO. RESP3 umožňuje přímo vracet komplexní datové typy bez nutnosti převádět generická pole na straně klienta a oddělováním návratových typů.
  • Podpora seznamu řízení přístupu (ACL), což vám umožní přesně určit, které operace může klient provádět a které ne. ACL také umožňují chránit před možnými chybami během vývoje, například handleru, který provádí pouze operaci BRPOPLPUSH, může být zakázáno provádět další operace, a pokud je volání FLUSHALL přidané během ladění omylem zapomenuto v produkčním kódu, dojde k nevede k problémům. Implementace ACL nezpůsobuje žádné dodatečné náklady a nemá prakticky žádný dopad na výkon. Pro ACL byly připraveny také moduly rozhraní, které umožňují vytvářet vlastní metody autentizace. Pro zobrazení všech zaznamenaných porušení ACL je k dispozici příkaz „ACL LOG“. Pro generování nepředvídatelných klíčů relace byl přidán příkaz "ACL GENPASS" pomocí HMAC založeného na SHA256.
  • Podpora SSL / TLS k šifrování komunikačního kanálu mezi klientem a serverem.
  • Podpora ukládání dat do mezipaměti na straně klienta. Pro sladění mezipaměti na straně klienta se stavem databáze jsou k dispozici dva režimy: 1. Zapamatování klíčů, které klient dříve požadoval, na serveru, aby jej informoval o ztrátě relevance záznamu v mezipaměti klienta. 2. Mechanismus „vysílání“, ve kterém se klient přihlásí k odběru určitých předpon klíčů a server jej upozorní, pokud se klíče spadající pod tyto předpony změní. Výhodou režimu „broadcasting“ je, že server neplýtvá další pamětí na ukládání mapy hodnot mezipaměti na straně klienta, nevýhodou však je, že se zvyšuje počet přenášených zpráv.
  • Zprostředkovatel zpráv Disque, který umožňuje používat Redis ke zpracování front zpráv, byl odstraněn ze základní struktury v samostatný modul.
  • Přidat Cluster Proxy, proxy pro cluster serverů Redis, umožňující klientovi organizovat práci s několika servery Redis, jako by byly jedinou instancí. Proxy může směrovat požadavky do uzlů s potřebnými daty, multiplexovat připojení, překonfigurovat cluster, pokud jsou zjištěna selhání uzlů, a provádět požadavky, které zahrnují více uzlů.
  • Výrazně bylo vylepšeno API pro psaní modulů, které v podstatě proměnilo Redis na framework, který umožňuje vytvářet systémy ve formě přídavných modulů.
  • Byl implementován režim replikace, ve kterém jsou soubory RDB ihned po použití odstraněny.
  • Replikační protokol PSYNC2 byl vylepšen, což umožnilo provádět částečnou resynchronizaci častěji, a to zvýšením šancí na identifikaci odchylek společných pro repliku a master.
  • Načítání souborů RDB bylo zrychleno. V závislosti na obsahu souboru se zrychlení pohybuje od 20 do 30 %. Provádění příkazu INFO bylo výrazně zrychleno při velkém počtu připojených klientů.
  • Byl přidán nový příkaz STRALGO s implementací složitých algoritmů pro zpracování řetězců. V současné době je k dispozici pouze jeden algoritmus LCS (nejdelší společná podsekvence), který může být užitečný při porovnávání sekvencí RNA a DNA.

Zdroj: opennet.ru

Přidat komentář