ĂshtĂ« publikuar versioni i DBMS Redis 8.2, i pĂ«rfshirĂ« nĂ« kategorinĂ« e sistemeve NoSQL. Redis ofron funksione pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«, tĂ« zgjeruara me mbĂ«shtetje pĂ«r formate tĂ« dhĂ«nash tĂ« strukturuara si lista, hash dhe grupe, si dhe mundĂ«sinĂ« e ekzekutimit tĂ« skenarĂ«ve pĂ«rpunues nĂ« server me gjuhĂ«n Lua. Kodi i projektit Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet nĂ«n licencĂ«n AGPLv3.
DBMS Redis mbështet transaksionet, duke lejuar ekzekutimin e një grupi komandash në një hap, duke garantuar përputhshmëri dhe renditje (komandat nga kërkesa të tjera nuk mund të ndërhyjnë) në ekzekutimin e një grumbulli të caktuar komandash, dhe në rast problemesh duke lejuar kthimin e ndryshimeve. Të gjitha të dhënat ruhen plotësisht në memorie të përkohshme. Bibliotekat klient janë të disponueshme për shumicën e gjuhëve të njohura, duke përfshirë Perl, Python, PHP, Java, Ruby dhe Tcl.
PĂ«r menaxhimin e tĂ« dhĂ«nave ofrohen komandat si inkrement/dekrement, operacione standarde mbi lista dhe grupe (bashkimi, ndĂ«rprerja), rinovimi i çelĂ«save, seleksione tĂ« shumta dhe funksione renditjeje. MbĂ«shteten dy modo ruajtjeje: sinkronizimi periodic i tĂ« dhĂ«nave nĂ« disk dhe mbajtja e njĂ« logu tĂ« ndryshimeve nĂ« disk. NĂ« rastin e dytĂ« garanton ruajtjen e plotĂ« tĂ« tĂ« gjitha ndryshimeve. ĂshtĂ« e mundur organizimi i replikimit master-slave tĂ« tĂ« dhĂ«nave nĂ« disa serverĂ«ve, i realizuar nĂ« njĂ« mĂ«nyrĂ« jo bllokuese. Gjithashtu Ă«shtĂ« nĂ« dispozicion modaliteti i shkĂ«mbimit tĂ« mesazheve "publikim/abonim", ku krijohet njĂ« kanal, mesazhet prej tĂ« cilit shpĂ«rndahen te klientĂ«t sipas abonimit.
Ndryshimet kryesore në Redis 8.2:
- Optimizimi i mbi 70 komandave është përfunduar, duke i bërë ato të punojnë më shpejt se në Redis 8.0. Për shembull, komanda BITCOUNT u bë 35% më e shpejtë, ndërsa komandat për operacionet me lista LINSERT, LREM dhe LPOS u bënë 25% më të shpejta. 17 nga komandat e optimizuara u bënë më të shpejta për të paktën 5%, ndërsa 52 për të paktën 2%.

- Janë kryer optimizime të kodit për përpunimin e operacioneve të njëkohshme dhe input/output me shumë thjeshtësi, të cilat lejuan një rritje prej 49% në numrin e operacioneve të përpunuara për sekondë në testet me 8 rrjedha input/output me ndarje ngarkese prej 20% kërkesave për shkrim dhe 80% për lexim. Në një rast, serveri arritëm të kalojmë pragun prej 1 milion operacioneve të përpunuara për sekondë.

- Metoda e ruajtjes sĂ« tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ« Ă«shtĂ« ndryshuar themelore â tani pĂ«r ruajtjen pĂ«rdoret njĂ« strukturĂ« unifikuese kvobj, e cila lejon paketimin e emrit tĂ« çelĂ«sit, vlerĂ«s sĂ« shkurtĂ«r dhe kohĂ«s sĂ« jetĂ«s nĂ« njĂ« bllok tĂ« vetĂ«m memorie dhe tĂ« pĂ«rdorĂ« njĂ« referencĂ« tĂ« vetme pĂ«r kĂ«tĂ« strukturĂ« nĂ« tabelat e heshit, nĂ« vend tĂ« referencave tĂ« veçanta pĂ«r çelĂ«sat, tĂ« dhĂ«nat dhe TTL. Duke ruajtur vlera tĂ« shkurtra string-u, metoda e re e ruajtjes ndihmoi nĂ« zvogĂ«limin e konsumit tĂ« memories me 25-37%.

- Optimizimi i ruajtjes së të dhënave në formatin JSON ka lejuar një ulje të konsumit të memories prej 25-67% kur ruajnë numra të plotë dhe numra me pikë të lëvizshme.
- Mekanizmi Streams, i përdorur për përpunimin dhe ruajtjen e rrjedhës së mesazheve, ka marrë komanda të reja XACKDEL dhe XDELEX, që lehtësojnë punën me rrjedhat e lidhura me disa marrës (grupet e konsumatorëve). Komandat zgjidhin problemin e fshirjes së mesazhit vetëm pasi të konfirmohet marrja e tij nga të gjithë përpunuesit.
- Ekipi BITOP, i destinuar për kryerjen e operacioneve bitore, ka marrë operatorë logjikë të rinj DIFF, DIFF1, ANDOR dhe ONE.
- Shtohet një lloj i ri indeksi vektorësh SVS-VAMANA, që mbështet kompresimin e vektorëve.
- Shtohen metrika të reja: ngarkesa sipas slot-eve të veçanta dhe shpërndarja e madhësive të çelësave për llojet e të dhënave të bazës.
Burimi: opennet.ru



