Vydání databáze Redis 6.0

Připravena Uvolnění databázového systému Redis 6.0, který spadá do kategorie NoSQL systémů. Redis poskytuje funkce podobné Memcached pro ukládání dat ve formátu klíč/hodnota, rozšířené podporou strukturovaných formátů dat, jako jsou seznamy, hashe a množiny, a také umožňuje na straně serveru vykonávat skripty v jazyce Lua. Kód projektu dodává se je licencován pod licencí BSD. Další moduly, které nabízejí rozšířené možnosti pro podnikové uživatele, jako jsou RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, byly od minulého roku se dodávají licencovány pod proprietární licencí RSAL. Rozvoj otevřených verzí těchto modulů pod licencí AGPLv3 byl pokračován projektem GoodFORM.

Na rozdíl od Memcached, Redis poskytuje trvalé ukládání dat na disku a zaručuje integritu databáze i v případě havárie. Zdrojové kódy projektu jsou distribuovány pod licencí BSD. Klientské knihovny jsou k dispozici 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, zaručující konzistenci a sekvenčnost provádění dané sady příkazů (příkazy z jiných požadavků se nemohou vměšovat) a v případě problémů umožňují vrátit změny zpět. Všechna data jsou plně kešována v operační paměti.

Pro správu dat jsou k dispozici příkazy jako inkrementace/dekrementace, standardní operace nad seznamy a množinami (sjednocení, průnik), přejmenovávání klíčů, vícenásobné výběry a funkce třídění. Podporovány jsou dva režimy ukládání: periodická synchronizace dat na disk a vedení logu změn. Ve druhém případě je zaručena úplná integrita všech změn. Možná je také organizace replikace dat master-slave na několik serverů, prováděná v neblokujícím režimu. K dispozici je také režim výměny zpráv „publikování/odebíraní“, při němž se vytváří kanál, jehož zprávy se šíří klientům podle jejich předplatného.

Klíčové vylepšení, které byly přidány do Redis 6.0:

  • Ve výchozím nastavení je navržen nový protokol RESP3, ale navázání spojení začíná v režimu RESP2 a klient se přepne na nový protokol pouze tehdy, pokud byla při vyjednávání spojení použita nová příkaz HELLO. RESP3 umožňuje přímo vracet složité datové typy bez nutnosti konverze obecných polí na straně klienta a odděluje vracené typy.
  • Podpora seznamů řízení přístupu (ACL), které umožňují přesně určit, jaké operace může klient provádět a jaké ne. ACL také umožňují ochranu před možnými chybami při vývoji, například zpracovatel, který provádí pouze operaci BRPOPLPUSH, může být zakázán od provádění jiných operací, a v případě, že ve funkčním kódu bude omylem zapomenut přidaný příkaz FLUSHALL pro ladění, to nepovede k problémům. Implementace ACL nenese žádné dodatečné náklady a prakticky neovlivňuje výkon. Pro ACL jsou také připraveny rozhraní umožňující vytváření vlastních autentizačních metod. K prohlížení všech zaznamenaných porušení ACL je určena příkaz „ACL LOG“. Pro generování nepředvídatelných sezení klíčů byla přidána příkaz „ACL GENPASS“, která používá HMAC založený na SHA256.
  • Podpora SSL/TLS pro šifrování komunikačního kanálu mezi klientem a serverem.
  • Podpora ke кешování dat na straně klienta. Pro synchronizaci cache na straně klienta se stavem databáze jsou k dispozici dva režimy: 1. Zapamatování si na serveru klíčů, které klient dříve žádal, aby ho informoval o ztrátě platnosti záznamu v klientské cache. 2. Mechanismus „broadcasting“, kdy se klient přihlásí k určitým prefixům klíčů a server ho informuje v případě změny klíčů, které spadají pod tyto prefixy. Výhodou režimu „broadcasting“ je, že server nemarní paměť na uchovávání mapy pro кешovaná hodnoty na straně klienta, ale nevýhodou je zvýšení počtu přenášených zpráv.
  • Broker zpráv Disque, který umožňuje použít Redis pro zpracování front zpráv, byl vyčleněn z základní struktury do samostatného modulu.
  • Přidáno Cluster Proxy, proxy pro cluster serverů Redis, který umožňuje organizovat práci klienta s několika servery Redis jako s jedním instance. Proxy může směrovat požadavky na uzly s potřebnými daty, multiplexovat připojení, překonfigurovat cluster v případě zjištění selhání uzlů a vykonávat dotazy pokrývající několik uzlů.
  • Výrazně vylepšeno API pro psaní modulů, které v podstatě přeměnilo Redis na framework umožňující vytvářet systémy ve formě modulárních rozšíření.
  • Realizován režim replikace, kdy jsou soubory RDB okamžitě odstraněny po jejich použití.
  • Vylepšen protokol replikace PSYNC2, což umožnilo častější provádění částečné resynchronizace díky vyšší šanci na identifikaci offsetu společného pro repliku a master.
  • Zrychleno načítání souborů RDB. V závislosti na obsahu souboru je zrychlení mezi 20 a 30 %. Výrazně urychleno vykonávání příkazu INFO při velkém počtu připojených klientů.
  • Přidán nový příkaz STRALGO s implementací složitých algoritmů zpracování řetězců. V současnosti je dostupný 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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster