Vydanie databázy Redis 6.0

Pripravené uvedenie DBMS Redis 6.0, ktorá patrí medzi systémy NoSQL. Redis poskytuje podobné funkcie ako Memcached pre ukladanie dát vo formáte kľúč/hodnota, rozšírené podporou štruktúrovaných formátov dát, ako sú zoznamy, hash a množiny, ako aj možnosťou vykonávania skriptov na strane servera v jazyku Lua. Kód projektu dodáva sa pod licenciou BSD. Ďalšie moduly, ktoré ponúkajú rozšírené možnosti pre firemných používateľov, ako sú RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, od minulého roka sú dodávané pod proprietárnou licenciou RSAL. Rozvoj otvorených variantov týchto modulov pod licenciou AGPLv3 pokračuje projektom GoodFORM.

Na rozdiel od Memcached Redis zabezpečuje trvalé ukladanie dát na disku a zaručuje integritu databázy v prípade náhodného ukončenia práce. Zdrojové kódy projektu sú distribuované v rámci licencie BSD. Klientske knižnice sú dostupné pre väčšinu populárnych jazykov, vrátane Perl, Python, PHP, Java, Ruby a Tcl. Redis podporuje transakcie, ktoré umožňujú vykonať skupinu príkazov v jednom kroku, pričom zaručujú nekonzistentnosť a postupnosť (príkazy z iných požiadaviek nemôžu zasahovať) vykonávania daného súboru príkazov a v prípade problémov umožňujú vrátenie zmien. Všetky dáta sú v plnom rozsahu cachované v operačnej pamäti.

Na správu dát sú k dispozícii také príkazy, ako je inkrementácia/dekrementácia, štandardné operácie na zoznamoch a množinách (zlúčenie, prienik), premenovanie kľúčov, viaceré výbery a funkcie triedenia. Podporujú sa dva režimy ukladania: periodická synchronizácia dát na disk a vedenie logu zmien na disku. V druhom prípade je zaručená úplná konzistentnosť všetkých zmien. Možná je organizácia master-slave replikácie dát na niekoľko serverov, vykonávaná v neblokujúcom režime. K dispozícii je tiež režim výmeny správ „publikovanie/odoberanie“, pri ktorom sa vytvára kanál, správy z ktorého sa šíria klientom podľa prihlášky.

Kľúčové vylepšenia, pridané v Redis 6.0:

  • Predvolený protokol je nový RESP3, ale nadviazanie spojenia začína v režime RESP2 a klient sa prepnú na nový protokol len v prípade, že bola pri rokovaní o spojení použitá nová príkaz HELLO. RESP3 umožňuje priamy návrat komplexných typov údajov bez potreby prevádzania bežných polí na strane klienta a rozdeľovania vrátených typov.
  • Podpora zoznamov kontrolných prístupov (ACL), ktoré umožňujú presne určiť, aké operácie môže klient vykonávať a aké nie. ACL tiež poskytujú možnosť chrániť sa pred možnými chybami pri vývoji, napríklad spracovateľovi, ktorý vykonáva len operáciu BRPOPLPUSH, možno zakázať vykonávať iné operácie, a v prípade, že v pracovnom kóde sa náhodou zabudne pridaný príkaz FLUSHALL na ladenie, to nespôsobí problémy. Implementácia ACL nie je spojená s ďalšími nákladmi a prakticky neovplyvňuje výkon. Pre ACL sú tiež pripravené rozhraní moduly, ktoré umožňujú vytvárať vlastné autentifikačné metódy. Na prezeranie všetkých zaznamenaných porušení ACL je k dispozícii príkaz „ACL LOG“. Na generovanie nepravidelných sedení kľúčov bola pridaná príkaz „ACL GENPASS“, ktorá využíva HMAC na báze SHA256.
  • Podpora SSL/TLS na šifrovanie komunikačného kanála medzi klientom a serverom.
  • Podpora cacheovanie údajov na strane klienta. Na synchronizáciu cache na strane klienta so stavom DB sú k dispozícii dva režimy: 1. Udržiavanie kľúčov, ktoré klient predtým požiadal na serveri, aby ho informovalo o strate aktuálnosti záznamu v klientskom cache. 2. Mechanizmus „broadcasting“, pri ktorom sa klient prihlási na určité prefixy kľúčov a server ho informuje v prípade zmien kľúčov, ktoré spadajú pod tieto prefixy. Výhodou režimu „broadcasting“ je, že na serveri sa nevyžaduje ďalšia pamäť na uchovávanie mapy predom načítaných hodnôt na strane klienta, a nevýhodou je zvýšený počet odoslaných správ.
  • Broker správ Disque, ktorý umožňuje použiť Redis na spracovanie frontov správ, bol vyňatý z základného zloženia do samostatného modulu.
  • Pridané Proxy klastru, proxy pre klaster serverov Redis, ktorý umožňuje organizovať prácu klienta s viacerými servermi Redis ako s jedným exemplárom. Proxy môže smerovať požiadavky na uzly s potrebnými údajmi, multiplexovať pripojenia, rekonfigurovať klaster v prípade zistenia porúch uzlov a vykonávať požiadavky, ktoré sa týkajú viacerých uzlov.
  • Výrazne vylepšené API pre písanie modulov, ktoré v podstate premenilo Redis na rámec na vytváranie systémov vo forme modulárnych nadstavieb.
  • Realizovaný režim replikácie, pri ktorom sa súbory RDB okamžite odstraňujú po ich použití.
  • Vylepšený protokol replikácie PSYNC2, čo umožnilo častejšie vykonávať čiastočnú resynchronizáciu vďaka zvýšenej šanci na zistenie posunu, ktorý je spoločný pre replikáciu a hlavného uzla.
  • Zrýchlené načítanie súborov RDB. V závislosti od obsahu súboru sa zrýchlenie pohybuje od 20 do 30 %. Výrazne zrýchlené vykonávanie príkazu INFO pri veľkom počte pripojených klientov.
  • Pridaný nový príkaz STRALGO s implementáciou zložitých algoritmov spracovania reťazcov. V súčasnosti je k dispozícii iba jeden algoritmus LCS (longest common subsequence), ktorý môže byť užitočný pri porovnávaní sekvencií RNA a DNA.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster