Redis 7.0 andmebaasi vÀljaanne

Ilmunud on Redis 7.0, mis kuulub NoSQL sĂŒsteemide klassi. Redis pakub vĂ”tmevÀÀrtuse formaadis andmete salvestamise funktsioone, laiendades seda struktureeritud andmevormingute, nagu loendid, hash'id ja kogud, toe ning vĂ”imalusega kĂ€itada serveripoolseid skripte Lua keeles. Projekti kood on saadaval BSD litsentsi alusel. TĂ€iendavad moodulid, mis pakuvad ettevĂ”tte kasutajatele laienenud vĂ”imalusi, nagu RediSearch, RedisGraph, RedisJSON, RedisML ja RedisBloom, on alates 2019. aastast saadaval eralitsentsi RSAL alusel. Avatud andmemoodulite arenduse jĂ€tkamine AGPLv3 litsentsi all on olnud GoodFORM projekti katsetus, mis on viimastel aegadel stagnatsioonis.

Erinevalt mĂ€lus hoidmise sĂŒsteemidest, nagu Memcached, tagab Redis andmete pĂŒsiva salvestamise kettale ja garanteerib andmebaasi sĂ€ilimise juhusliku sulgemise korral. Projekti allikakoodid levitatakse BSD litsentsi alusel. Klientteegid on saadaval enamikus populaarsetes programmeerimiskeeltes, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl. Redis toetab tehinguid, mis vĂ”imaldavad ĂŒhest tehingust tĂ€ita rĂŒhma kĂ€ske, tagades jĂ€rjepidevuse ja konsistentsi (teiste pĂ€ringute kĂ€sud ei saa sekkuda) antud kĂ€sudekompleksi tĂ€itmisel ning probleemide korral vĂ”imaldades muudatusi tagasi vĂ”tta. KĂ”ik andmed salvestatakse tĂ€ielikult mĂ€lus.

Andmete haldamiseks on saadaval sellised kĂ€sud nagu inkrement-/dekrement, tavalised toimingud loendite ja hulkadega (ĂŒhendamine, ristumine), vĂ”tmete ĂŒmbernimetamine, mitme valiku tegemine ja sorteerimisfunktsioonid. Toetatakse kahte salvestusreĆŸiimi: andmete perioodne sĂŒnkroonimine diskiga ja muudatuste logimise pidamine. Teise juhtumi korral tagatakse kĂ”igi muudatuste tĂ€ielik sĂ€ilitamine. On vĂ”imalik korraldada master-slave andmete replikatsiooni mitmesse serverite, mis toimub blokeerimata reĆŸiimis. Saadaval on ka sĂ”numite vahetamise reĆŸiim „publikatsioon/annetus“, kus luuakse kanal, mille teated levivad tellijatele.

Redis 7.0 olulised muudatused:

  • Toetatud on poole peal teostatavad funktsioonid serverile. Erinevalt varem toetatud Lua skriptidest ei ole funktsioonid rakendusele seotud ja suunatud tĂ€iendava loogika rakendamisele, mis laiendab serveri vĂ”imalusi. Funktsioonid töötlevad andmete kaudu ja on seotud andmebaasiga, mitte rakendusega, sealhulgas replitseeritakse ja salvestatakse pĂŒsivasse salvestusse.
  • Esitatud ACL teine ​​redaktsioon vĂ”imaldab hallata juurdepÀÀsu andmetele pĂ”hineb vĂ”tmetel ning toetab erinevate juurdepÀÀsureeglite kogude mÀÀratlemist kĂ€skudele, vĂ”imaldades siduda mitmeid valijaid (volituste kogusid) igale kasutajale. Iga vĂ”ti vĂ”ib olla seotud teatud volitustega, nĂ€iteks vĂ”ib piirata juurdepÀÀsu ainult lugemiseks vĂ”i kirjutamiseks teatud vĂ”tmete alamhulga jaoks.
  • Esitatud klastris töötav sektioneeritud (sharded) teostus sĂ”numite levitamise avalduse (Publish-Subscribe) paradigma osas, kus sĂ”num saadetakse kindlale sĂ”lmele, millega on seotud sĂ”numikanal, pĂ€rast mida suunatakse see sĂ”num edasi teistele sĂ”lmedele, mis kuuluvad sektsiooni (shard). Klientidel on vĂ”imalus saada sĂ”numeid sĂ”numikanalile, kui nad ĂŒhendavad end kas pĂ”hijalale vĂ”i sektsiooni teisesele sĂ”lmele. Halduse teostamiseks kasutatakse kĂ€ske SSUBSCRIBE, SUNSUBSCRIBE ja SPUBLISH.
  • Suurendatud toimetamise toimetamise toetust enamikus kontekstides.
  • Lisatud uued kĂ€sud:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • COMMAND DOCS, COMMAND LIST.
    • LATENCY HISTOGRAM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • CLIENT NO-EVICT.
    • ACL DRYRUN.
  • On antud vĂ”imalus töödelda mitmeid konfigureerimist kohe CONFIG SET/GET kĂ”nes.
  • Tööriista redis-cli on lisatud valikud «—json», «-2», «—scan», «—functions-rdb».
  • Vaikimisi on klientide juurdepÀÀs seadetesse ja kĂ€skudesse, mis mĂ”jutavad turvalisust, keelatud (nĂ€iteks on keelatud kĂ€sud DEBUG ja MODULE, samuti on keelatud konfigureerimist muuta PROTECTED_CONFIG lipuga). redis-cli-s on lĂ”petatud konfidentsiaalsete andmete sisaldava kĂ€suhistoria faili vĂ€ljund.
  • Tehtud on suur hulk optimeerimisi, mille eesmĂ€rk on suurendada jĂ”udlust ja vĂ€hendada mĂ€lutarbimist. NĂ€iteks on oluliselt vĂ€hendatud mĂ€lutarbimist, kui klastrireĆŸiim on sisse lĂŒlitatud, teostatakse copy-on-write toimingute sooritamisel ja töötatakse hĂ€shtide ja zset vĂ”tmega. Parandatud on andmete kettale kirjutamise (fsync kutsete) loogikat. VĂ€hendatud on vĂ”rgupakettide ja sĂŒsteemikĂ”nede arvu, kui kliendile vastuseid saadetakse. Suurendatud on replikatsiooni efektiivsust.
  • Kinnitatud haav CVE-2022-24735 Lua-skriptide tĂ€itmise keskkonnas, mis vĂ”imaldab sisestada oma Lua-koodi ja saavutada selle tĂ€itmise teise kasutaja kontekstis, sealhulgas kĂ”rgemate privileegidega kasutajate kontekstis.
  • Kinnitatud haav CVE-2022-24736, mis vĂ”imaldab redis-serveri protsessi kokkuvarisemist nullviitaja tĂ”lgendamise tĂ”ttu. RĂŒnnak toimub spetsiaalselt vormindatud Lua-skriptide laadimise kaudu.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster