Izdaja Redis 6.0 DBMS

Pripravljeno Izdaja DBMS Redis 6.0, ki spada v razred sistemov NoSQL. Redis ponuja funkcije, podobne Memcached, za shranjevanje podatkov ključ/vrednost, izboljšane s podporo za formate strukturiranih podatkov, kot so seznami, zgoščene vrednosti in nabori, ter možnost izvajanja skriptov za obravnavo Lua na strani strežnika. Koda projekta priloženo pod licenco BSD. Dodatni moduli, ki ponujajo napredne zmogljivosti za poslovne uporabnike, kot so RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom od lanskega leta priloženo pod lastniško licenco RSAL. Projekt nadaljuje razvoj odprtih različic teh modulov pod licenco AGPLv3 Dobra OBLIKA.

Za razliko od Memcached Redis zagotavlja trajno shranjevanje podatkov na disku in zagotavlja varnost baze podatkov v primeru izredne zaustavitve. Izvorna koda projekta se distribuira pod licenco BSD. Odjemalske knjižnice so na voljo za večino priljubljenih jezikov, vključno s Perlom, Pythonom, PHP, Javo, Rubyjem in Tcl. Redis podpira transakcije, ki vam omogočajo, da izvedete skupino ukazov v enem koraku, kar zagotavlja doslednost in doslednost (ukazi iz drugih zahtev ne morejo motiti) v izvajanju danega nabora ukazov, v primeru težav pa vam omogoča, da se vrnete nazaj spremembe. Vsi podatki so v celoti shranjeni v predpomnilniku RAM.

Za upravljanje podatkov so na voljo ukazi, kot so povečanje/zmanjšanje, standardne operacije seznama in nabora (združevanje, presečišče), preimenovanje ključev, več izbir in funkcije razvrščanja. Podprta sta dva načina shranjevanja: občasna sinhronizacija podatkov na disk in vzdrževanje dnevnika sprememb na disku. V drugem primeru je zagotovljena popolna varnost vseh sprememb. Možno je organizirati podvajanje podatkov master-slave na več strežnikov, ki se izvaja v načinu brez blokiranja. Na voljo je tudi način sporočanja »objavi/naroči«, v katerem se ustvari kanal, sporočila iz katerega se pošiljajo strankam z naročnino.

Ključ izboljšavedodano v Redis 6.0:

  • Privzeto je predlagan nov protokol RESP3, vendar se nastavitev povezave začne v načinu RESP2 in odjemalec preklopi na nov protokol le, če je pri pogajanju o povezavi uporabljen nov ukaz HELLO. RESP3 vam omogoča neposredno vrnitev zapletenih podatkovnih tipov brez potrebe po pretvorbi generičnih nizov na strani odjemalca in z ločevanjem povratnih tipov.
  • Podpora za seznam nadzora dostopa (ACL), kar vam omogoča, da natančno določite, katere operacije lahko izvede stranka in katerih ne. ACL-ji omogočajo tudi zaščito pred morebitnimi napakami med razvojem, na primer, upravljalniku, ki izvaja samo operacijo BRPOPLPUSH, je mogoče prepovedati izvajanje drugih operacij, in če je klic FLUSHALL, dodan med razhroščevanjem, pomotoma pozabljen v produkcijski kodi, bo to ne povzroča težav. Implementacija ACL ne povzroča nobenih dodatnih stroškov in praktično ne vpliva na zmogljivost. Za ACL so pripravljeni tudi vmesniški moduli, ki omogočajo ustvarjanje lastnih metod avtentikacije. Za ogled vseh zabeleženih kršitev ACL je na voljo ukaz “ACL LOG”. Za generiranje nepredvidljivih ključev seje je bil dodan ukaz "ACL GENPASS" z uporabo HMAC, ki temelji na SHA256.
  • Podpora SSL / TLS za šifriranje komunikacijskega kanala med odjemalcem in strežnikom.
  • Podpora predpomnjenje podatkov na strani odjemalca. Za uskladitev predpomnilnika na strani odjemalca s stanjem baze podatkov sta na voljo dva načina: 1. Zapomni si na strežniku ključe, ki jih je odjemalec predhodno zahteval, da ga obvesti o izgubi pomembnosti vnosa v predpomnilnik odjemalca. 2. Mehanizem »oddajanja«, pri katerem se odjemalec naroči na določene predpone ključev in ga strežnik obvesti, če se ključi, ki spadajo pod te predpone, spremenijo. Prednost načina "oddajanja" je, da strežnik ne zapravlja dodatnega pomnilnika za shranjevanje zemljevida vrednosti, predpomnjenih na strani odjemalca, slabost pa je, da se poveča število prenesenih sporočil.
  • Posrednik sporočil Disque, ki vam omogoča uporabo Redisa za obdelavo čakalnih vrst sporočil, je bil odstranjen iz osnovne strukture v ločen modul.
  • Dodano Cluster Proxy, proxy za gručo strežnikov Redis, ki odjemalcu omogoča, da organizira delo z več strežniki Redis, kot da bi bili en primerek. Proxy lahko usmerja zahteve do vozlišč s potrebnimi podatki, multipleksne povezave, znova konfigurira gručo, če so zaznane napake vozlišča, in izvaja zahteve, ki zajemajo več vozlišč.
  • API za pisanje modulov je bil znatno izboljšan, tako da je Redis v bistvu spremenil v ogrodje, ki vam omogoča ustvarjanje sistemov v obliki dodatnih modulov.
  • Implementiran je bil način podvajanja, v katerem se datoteke RDB izbrišejo takoj po uporabi.
  • Protokol replikacije PSYNC2 je bil izboljšan, kar je omogočilo pogostejše izvajanje delne ponovne sinhronizacije s povečanjem možnosti prepoznavanja odmikov, ki so skupni replici in glavnemu.
  • Nalaganje datotek RDB je bilo pospešeno. Odvisno od vsebine datoteke se pospešek giblje od 20 do 30 %. Pri velikem številu povezanih odjemalcev smo bistveno pospešili izvajanje ukaza INFO.
  • Dodan je nov ukaz STRALGO z implementacijo kompleksnih algoritmov za obdelavo nizov. Trenutno je na voljo le en algoritem LCS (najdaljše skupno podzaporedje), ki je lahko uporaben pri primerjavi zaporedij RNA in DNA.

Vir: opennet.ru

Dodaj komentar