Redis 6.0 leidimas

Parengta DBMS leidimas Redis 6.0, priklausantis NoSQL sistemų klasei. „Redis“ teikia į atmintinę panašias funkcijas, skirtas rakto / vertės duomenims saugoti, patobulintas struktūrizuotų duomenų formatų, tokių kaip sąrašai, maišos ir rinkiniai, palaikymas bei galimybė paleisti serverio pusės „Lua“ tvarkyklės scenarijus. Projekto kodas tiekiama pagal BSD licenciją. Papildomi moduliai, siūlantys išplėstines galimybes įmonių vartotojams, pvz., RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom nuo praėjusių metų tiekiamas pagal patentuotą RSAL licenciją. Projektas tęsia atvirų šių modulių versijų kūrimą pagal AGPLv3 licenciją Gera FORMA.

Skirtingai nuo „Memcached“, „Redis“ užtikrina nuolatinį duomenų saugojimą diske ir garantuoja duomenų bazės saugumą avarinio išjungimo atveju. Projekto šaltinio kodas platinamas pagal BSD licenciją. Klientų bibliotekos yra prieinamos daugeliui populiariausių kalbų, įskaitant Perl, Python, PHP, Java, Ruby ir Tcl. „Redis“ palaiko operacijas, leidžiančias vienu žingsniu vykdyti komandų grupę, užtikrinant nuoseklumą ir nuoseklumą (kitų užklausų komandos negali trukdyti) vykdant nurodytą komandų rinkinį, o iškilus problemoms leidžia grįžti atgal. pokyčius. Visi duomenys yra visiškai talpinami RAM.

Duomenims manipuliuoti pateikiamos tokios komandos kaip padidinimas / mažinimas, standartinės operacijos su sąrašais ir rinkiniais (susijungimas, sankirta), raktų pervadinimas, keli pasirinkimai ir rūšiavimo funkcijos. Palaikomi du saugojimo režimai: periodinis duomenų sinchronizavimas į diską ir pakeitimų registravimas diske. Antruoju atveju garantuojamas visiškas visų pakeitimų saugumas. Galima organizuoti pagrindinio-pavaldžiojo duomenų replikaciją į kelis serverius, atliekamą neblokuojančiu režimu. Taip pat galimas paskelbimo/prenumeratos pranešimų siuntimo režimas, kai sukuriamas kanalas, iš kurio pranešimai platinami prenumeruojantiems klientams.

Raktas patobulinimaipridėta Redis 6.0:

  • Pagal numatytuosius nustatymus siūlomas naujas RESP3 protokolas, tačiau ryšio sąranka prasideda RESP2 režimu ir klientas persijungia prie naujo protokolo tik tuo atveju, jei derantis dėl ryšio naudojama nauja komanda HELLO. RESP3 leidžia tiesiogiai grąžinti sudėtingus duomenų tipus, nereikia konvertuoti bendrųjų masyvų kliento pusėje ir atskirti grąžinimo tipus.
  • Prieigos valdymo sąrašo palaikymas (ACL), leidžianti tiksliai nustatyti, kurias operacijas klientas gali atlikti, o kurių ne. ACL taip pat leidžia apsisaugoti nuo galimų klaidų kūrimo metu, pavyzdžiui, tvarkyklei, kuri atlieka tik operaciją BRPOPLPUSH, gali būti uždrausta vykdyti kitas operacijas, o jei derinimo metu pridėtas FLUSHALL iškvietimas netyčia pamirštas gamybos kode, tai nesukelia problemų. ACL įdiegimas nepatiria jokių papildomų išlaidų ir praktiškai neturi įtakos našumui. Sąsajos moduliai taip pat yra paruošti ACL, todėl galima sukurti savo autentifikavimo metodus. Norėdami peržiūrėti visus įrašytus ACL pažeidimus, pateikiama komanda „ACL LOG“. Norint generuoti nenuspėjamus seanso raktus, naudojant SHA256 pagrįstą HMAC buvo pridėta komanda „ACL GENPASS“.
  • Remti SSL / TLS užšifruoti ryšio kanalą tarp kliento ir serverio.
  • Remti duomenų kaupimas talpykloje kliento pusėje. Norint suderinti kliento talpyklą su duomenų bazės būkle, galimi du režimai: 1. Prisiminti serveryje raktus, kurių klientas anksčiau prašė, kad informuotų apie kliento talpyklos įrašo aktualumo praradimą. 2. „Transliavimo“ mechanizmas, kai klientas užsiprenumeruoja tam tikrus raktų priešdėlius, o serveris praneša, jei pasikeičia raktai, kurie patenka į šiuos priešdėlius. „Transliavimo“ režimo pranašumas yra tas, kad serveris neeikvoja papildomos atminties saugodamas kliento pusėje talpykloje saugomų verčių žemėlapį, tačiau trūkumas yra tas, kad didėja perduodamų pranešimų skaičius.
  • Disque pranešimų tarpininkas, leidžiantis naudoti Redis pranešimų eilėms apdoroti, buvo pašalintas iš pagrindinės struktūros atskiras modulis.
  • Pridėta Klasterio tarpinis serveris, Redis serverių klasterio tarpinis serveris, leidžiantis klientui organizuoti darbą su keliais Redis serveriais taip, lyg jie būtų vienas egzempliorius. Tarpinis serveris gali nukreipti užklausas į mazgus su reikalingais duomenimis, multipleksinius ryšius, iš naujo sukonfigūruoti klasterį, jei aptinkama mazgo gedimų, ir vykdyti užklausas, apimančias kelis mazgus.
  • Modulių rašymo API buvo žymiai patobulinta, iš esmės paverčiant Redis į sistemą, leidžiančią kurti sistemas papildomų modulių pavidalu.
  • Įdiegtas replikacijos režimas, kuriame RDB failai iš karto ištrinami juos panaudojus.
  • Patobulintas PSYNC2 replikacijos protokolas, kuris leido dažniau atlikti dalinį pakartotinį sinchronizavimą, padidinus galimybę nustatyti replikai ir pagrindiniam kompiuteriui bendrus poslinkius.
  • RDB failų įkėlimas paspartintas. Priklausomai nuo failo turinio, pagreitis svyruoja nuo 20 iki 30%. INFO komandos vykdymas buvo žymiai pagreitintas, kai yra daug prijungtų klientų.
  • Pridėta nauja komanda STRALGO su sudėtingų eilučių apdorojimo algoritmų įgyvendinimu. Šiuo metu galimas tik vienas LCS (longest common subsequence) algoritmas, kuris gali būti naudingas lyginant RNR ir DNR sekas.

Šaltinis: opennet.ru

Добавить комментарий