Izid SDB Redis 6.0

Pripravljen izdaja SDB Redis 6.0, ki pripada razredu sistemov NoSQL. Redis ponuja funkcije podobne Memcached za shranjevanje podatkov v formatu ključ/vrednost, razširjene s podporo za strukturirane podatkovne formate, kot so seznami, hashi in množice, ter možnostjo izvajanja strežniških skriptov v jeziku Lua. Koda projekta isporučuje se pod licenco BSD. Dodatni moduli, ki ponujajo razširjene funkcionalnosti za korporativne uporabnike, kot so RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, so lani isporučeni pod lastniško licenco RSAL. Razvoj odprtih različic teh modulov pod licenco AGPLv3 se nadaljuje v okviru projekta GoodFORM.

V nasprotju z Memcached, Redis zagotavlja trajno shranjevanje podatkov na disku in zagotovi varnost baze podatkov v primeru nenadnega zapiranja. Izvorne kode projekta so na voljo pod licenco BSD. Odjemalske knjižnice so na voljo za večino priljubljenih jezikov, vključno s Perl, Python, PHP, Java, Ruby in Tcl. Redis podpira transakcije, ki omogočajo izvedbo skupine ukazov v enem koraku, kar zagotavlja skladnost in doslednost (ukazi iz drugih zahtevkov se ne morejo vmešavati) pri izvajanju določenega niza ukazov, ter v primeru težav omogoča povrnitev sprememb. Vsi podatki so v celoti predpomnjeni v operativni pomnilnik.

Za upravljanje podatkov so na voljo ukazi, kot so inkrementacija/dekrementacija, standardne operacije nad seznami in množicami (združevanje, presek), preimenovanje ključev, množični poizvedbe in funkcije sortiranja. Podpirata se dva načina shranjevanja: občasna sinhronizacija podatkov na disk in vodjenje dnevnika sprememb na disku. V drugem primeru je zagotovljena popolna varnost vseh sprememb. Možna je organizacija master-slave replikacije podatkov na več strežnikih, ki se izvaja v nebloxahn način. Na voljo je tudi način izmenjave sporočil 'objava/ naročanje', pri katerem se ustvari kanal, sporočila pa se razpošiljajo strankam po naročilu.

Ključne izboljšave, dodani v Redis 6.0:

  • Privzeto je predlagan nov protokol RESP3, vendar se povezava začne v načinu RESP2, klient pa se preklopi na nov protokol le, če je bila pri pogajanju o povezavi uporabljena nova ukaz HELLO. RESP3 omogoča neposredno vračanje zapletenih tipov podatkov brez potrebe po pretvorbi splošnih tabel na strani klienta, hkrati pa ločuje vračane tipe.
  • Podpora za sezname nadzora dostopa (ACL), ki omogočajo natančno določitev, katere operacije lahko izvede klient in katere ne. ACL prav tako omogočajo zaščito pred morebitnimi napakami med razvojem, na primer, obdelovalcu, ki izvaja samo operacijo BRPOPLPUSH, lahko prepovemo izvajanje drugih operacij. V primeru, da bi v delovni kodi nenamerno pozabili dodati klic FLUSHALL med odpravljanjem napak, to ne bi povzročilo težav. Implementacija ACL ne povzroča dodatnih stroškov in praktično ne vpliva na zmogljivost. Za ACL so prav tako pripravljeni vmesni moduli, ki omogočajo ustvarjanje lastnih metod avtentikacije. Za ogled vseh zabeleženih kršitev ACL je na voljo ukaz 'ACL LOG'. Za generiranje nepovedljivih sebojnih ključev je dodan ukaz 'ACL GENPASS', ki uporablja HMAC na osnovi SHA256.
  • Podpora SSL/TLS za šifriranje komunikacijskega kanala med klientom in strežnikom.
  • Podpora shranjevanja podatkov na strani klienta. Za usklajevanje predpomnilnika na strani klienta z stanje DB sta na voljo dva načina: 1. Shranjevanje na strežniku ključev, ki jih je prej zahteval klient, da ga obvestimo o izgubi posodobljenosti zapisa v klientovem predpomnilniku. 2. Mehanizem 'broadcasting', pri katerem se klient prijavi na določene predpone ključev in strežnik ga obvesti v primeru spremembe ključev, ki spadajo pod te predpone. Prednost načina 'broadcasting' je v tem, da strežnik ne porablja dodatnega pomnilnika za shranjevanje karte predpomnjenih vrednosti na strani klienta, slabost pa je povečano število prenesenih sporočil.
  • Sporočilni posrednik Disque, ki omogoča uporabo Redis za obdelavo sporočilnih vrstic, je bil iz osnovnega sklopa premaknjen v posebni modul.
  • Dodano Cluster Proxy, proxy za Redis strežniške gruče, ki omogoča delovanje odjemalca z več Redis strežniki kot z enim samim primerkom. Proxy lahko usmerja zahteve na vozlišča z potrebnimi podatki, multiplikira povezave, prilagaja gruče v primeru odkritja napak vozlišč in izvaja zahteve, ki pokrivajo več vozlišč.
  • API za pisanje modulov je bil znatno izboljšan, kar je v bistvu spremenilo Redis v ogrodje, ki omogoča ustvarjanje sistemov v obliki modulov.
  • Uveden je način replikacije, pri katerem se datoteke RDB takoj izbrišejo, ko so bile uporabljene.
  • Protokol replikacije PSYNC2 je bil izboljšan, kar omogoča pogostejšo delno ponovno sinhronizacijo, s povečanjem možnosti za odkrivanje odklonov, ki so skupni replikam in glavnemu vozlišču.
  • Nalaganje datotek RDB je pospešeno. Glede na vsebino datoteke se pospešitev giblje od 20 do 30 %. Znatno je pospešena izvedba ukaza INFO v prisotnosti velikega števila povezanih odjemalcev.
  • Dodana je nova ukazna funkcija STRALGO z implementacijo kompleksnih algoritmov obdelave nizov. Trenutno je na voljo le en algoritem LCS (najdaljša skupna podzaporedja), ki je lahko koristen pri primerjavi RNA in DNA zaporedij.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster