ĂshtĂ« publikuar lĂ«shimi i DBMS Redis 7.4, i pĂ«rkthyer nĂ« klasĂ«n e sistemeve NoSQL. Redis ofron funksione pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«, duke u zgjeruar me mbĂ«shtetje pĂ«r formate tĂ« strukturuara tĂ« tĂ« dhĂ«nave, si lista, hash dhe grupe, si dhe mundĂ«sinĂ« e ekzekutimit tĂ« skripteve mbi server nĂ« gjuhĂ«n Lua. Ndryshe nga sistemet e ruajtjes nĂ« memorie, si Memcached, Redis ruan DB-nĂ« jo vetĂ«m nĂ« memorie, por edhe nĂ« disk, çka garanton ruajtjen e DB-sĂ« nĂ« rast tĂ« ndĂ«rprerjes sĂ« papritur.
Redis 7.4 shpallet si versioni i parĂ« qĂ« shpĂ«rndahet me kushte tĂ« reja licencimi â nĂ« vend tĂ« licencĂ«s sĂ« mĂ«parshme BSD, kodi tani Ă«shtĂ« i disponueshĂ«m nĂ«n licencat pronĂ«sore RSALv2 (Licenca e Disponueshme e Burimeve tĂ« Redis v2) dhe SSPLv1 (Licenca Publike nga Ana e Serverit v1). Ata qĂ« duan tĂ« vazhdojnĂ« pĂ«rdorimin e kodit nĂ«n licencĂ«n BSD mund tĂ« pĂ«rdorin projektet Valkey (fork, e zhvilluar me pĂ«rfshirjen e Amazon, Google, Oracle, Ericsson dhe Snap), Redict (fork nga autori i ndĂ«rfaqes sĂ« pĂ«rdoruesit Sway dhe gjuhĂ«s Hare), Garnet (DBMS nga Microsoft, e pĂ«rshtatshme me Redis) ose KeyDB (fork me performancĂ« tĂ« lartĂ« i Redis 5 nga Snapchat).
Licencat SSPL dhe RSAL çojnë në diskriminimin e kategorive të ndryshme të përdoruesve, çka nuk lejon që ato të merren si të hapura ose të lira. Për qëllimet e tyre, të dyja licencat janë të ngjashme, dhe dallimet përfshijnë se licenca SSPL është e bazuar në licencën copyleft AGPLv3, ndërsa licenca RSAL është e bazuar në licencën permissive BSD. Licenca RSAL lejon përdorimin, ndryshimin, shpërndarjen dhe integrimin e kodit në aplikacione, përveç rasteve kur këto aplikacione janë komerciale ose përdoren për ofrimin e shërbimeve me pagesë të menaxhuara. Licenca SSPL për më tepër përmban një kërkesë për dorëzimin nën të njëjtën licencë jo vetëm të kodit të aplikacionit, por edhe të kodit burimor të të gjithë komponenteve të involvuar në ofrimin e shërbimit në mënyrë cloud.
DBMS Redis mbështet transaksionet, duke lejuar ekzekutimin e një grupi komandash në një hap, duke garantuar përputhshmërinë dhe renditjen (komandat nga kërkesa të tjera nuk mund të përfshihen) e ekzekutimit të një sete të propozuar komandash, dhe në rast problemesh lejon tërheqjen e ndryshimeve. Të gjitha të dhënat ruhen në mënyrë të plotë në memorie. Bibliotekat e klientit 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 komanda tĂ« tilla si inkrement/defrement, operacione standard mbi lista dhe grupe (bashkimi, pĂ«rbashkimi), rinaming i çelĂ«save, marrje tĂ« shumta dhe funksione renditjeje. MbĂ«shteten dy mĂ«nyra ruajtjeje: sinkronizimi i rregullt i tĂ« dhĂ«nave nĂ« disk dhe mbajtja nĂ« disk e logut tĂ« ndryshimeve. NĂ« rastin e dytĂ«, garantohet ruajtja e plotĂ« e tĂ« gjitha ndryshimeve. ĂshtĂ« e mundur organizimi i replikimit tĂ« tĂ« dhĂ«nave master-slave nĂ« disa serverĂ«sh, realizuar nĂ« mĂ«nyrĂ« jo bllokuese. ĂshtĂ« gjithashtu nĂ« dispozicion njĂ« regjimi i komunikimit "publikim/abone", ku krijohet njĂ« kanal, mesazhet nga i cili shpĂ«rndahen klientĂ«ve nĂ« bazĂ« tĂ« abonimeve.
Ndryshimet kryesore në funksionalitetin e Redis 7.4:
- Shtuar mundësia për të kufizuar kohën e jetës së fushave të veçanta në hash-e, struktura për ruajtjen e koleksioneve të grumbulluara të të dhënave në formatin çelës-vlerë. Ndryshe nga caktimi i kohës së jetës për çelësin, ndryshimi i propozuar lejon caktimin e kohërave të jetës individuale të fushave të veçanta, që mund të përdoret, për shembull, për të siguruar një cikël jetese më të shkurtër për tokent e autentifikimit, krahasuar me të dhënat e tjera të sesionit.
- Propozuar lloje të reja të të dhënave bfloat16 dhe float16, të optimizuara për përdorim në aplikacionet e mësimit të makinerive dhe që lejojnë reduktimin e konsumit të memories krahasuar me llojet e mëparshme float32 dhe float64. Përdorimi në hash-e ofron mundësinë për të reduktuar konsumimin e memories në DB-ve vektoriale me 47%, zvogëluar vonesat e nxjerrjes së të dhënave me 59% dhe reduktuar kohën e krijimit të indekseve me 58% krahasuar me llojin float64.
- Thjeshtuar pĂ«rdorimi i indekseve sekondare. GjatĂ« kĂ«rkimit tĂ« informacionit nga indekset sekondare tani nuk Ă«shtĂ« e nevojshme tĂ« shĂ«nohen karakteret speciale individuale si "@" dhe ".", por mund tĂ« pĂ«rdoren thonjĂ«za tĂ« dyfishta pĂ«r tĂ« rrethuar njĂ« grup tĂ« dhĂ«nash. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« pĂ«rmirĂ«suar ndjeshĂ«m indeksoni i fushave tĂ« zbrazĂ«ta dhe ato tĂ« munguar â pĂ«r krijimin e indekseve dhe formimin e kĂ«rkesave qĂ« marrin parasysh praninĂ« e fushave, janĂ« propozuar fjalĂ«t kyçe tĂ« reja INDEXMISSING dhe funksioni ismissing(). Shtuar operatorĂ«t e rinj INTERSECT dhe DISJOINT pĂ«r thjeshtimin e kĂ«rkimit tĂ« tĂ« dhĂ«nave gjeopatologjike. Shtuar mundĂ«sitĂ« pĂ«r analizimin e konsumit tĂ« memories nga indeksi.
- Shtuar mbështetje për filtrat për përjashtimin e elementeve nga setet e dhënash të shtuar, për shembull, kur ngarkoni periodikisht të dhëna në DB nga sensorët, mund të shtoni një filtër për të injoruar vlerat, ku ndryshimi i kohës nga vlera e mëparshme është më i vogël se një vlerë prag.
- Prerë mbështetjen për trigger-at dhe funksionet në gjuhën JavaScript, të propozuara në nxjerrjen e kaluar.
Burimi: opennet.ru
