Kutolewa kwa Redis 7.0 DBMS

Kutolewa kwa Redis 7.0 DBMS, ambayo ni ya darasa la mifumo ya NoSQL, imechapishwa. Redis hutoa utendakazi wa kuhifadhi data ya vitufe/thamani, iliyoimarishwa na usaidizi wa fomati za data zilizoundwa kama vile orodha, heshi na seti, na pia uwezo wa kuendesha vidhibiti hati vya upande wa seva katika Lua. Msimbo wa mradi hutolewa chini ya leseni ya BSD. Sehemu za ziada zinazotoa uwezo wa hali ya juu kwa watumiaji wa kampuni, kama vile RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, zimetolewa chini ya leseni ya umiliki ya RSAL tangu 2019. Mradi wa GoodFORM, ambao umekuwa ukidumaa hivi karibuni, ulijaribu kuendeleza uundaji wa matoleo wazi ya moduli hizi chini ya leseni ya AGPLv3.

Tofauti na mifumo ya uhifadhi wa kumbukumbu kama vile Memcached, Redis huhakikisha kuwa data inahifadhiwa kila mara kwenye diski na inahakikisha kuwa hifadhidata inabakia katika hali ya kuacha kufanya kazi. Msimbo wa chanzo wa mradi unasambazwa chini ya leseni ya BSD. Maktaba za mteja zinapatikana kwa lugha maarufu zaidi, ikiwa ni pamoja na Perl, Python, PHP, Java, Ruby, na Tcl. Redis inasaidia shughuli, ambayo hukuruhusu kutekeleza kikundi cha amri kwa hatua moja, kuhakikisha uthabiti na uthabiti (amri kutoka kwa ombi zingine haziwezi kuingilia kati) katika utekelezaji wa seti fulani ya amri, na ikiwa kuna shida, hukuruhusu kurudi nyuma. mabadiliko. Data zote zimehifadhiwa kwenye RAM.

Amri kama vile kuongeza/punguza, orodha ya kawaida na utendakazi wa kuweka (muungano, makutano), kubadilisha jina la ufunguo, chaguo nyingi, na utendakazi wa kupanga hutolewa kwa usimamizi wa data. Njia mbili za kuhifadhi zinasaidiwa: maingiliano ya mara kwa mara ya data kwenye diski na matengenezo ya logi ya mabadiliko kwenye diski. Katika kesi ya pili, usalama kamili wa mabadiliko yote umehakikishiwa. Inawezekana kuandaa urudiaji wa data ya bwana-mtumwa kwa seva kadhaa, uliofanywa kwa hali isiyo ya kuzuia. Hali ya utumaji ujumbe ya "chapisha/jisajili" inapatikana pia, ambapo kituo kinaundwa, jumbe ambazo husambazwa kwa wateja kwa kujisajili.

Mabadiliko muhimu katika Redis 7.0:

  • Usaidizi ulioongezwa kwa vitendaji vya upande wa seva. Tofauti na maandishi yaliyotumika hapo awali katika lugha ya Kilua, vipengele vya kukokotoa havifungamani na programu na vinalenga kutekeleza mantiki ya ziada ambayo huongeza uwezo wa seva. Kazi huchakatwa kwa njia isiyoweza kutenganishwa na data na kuhusiana na hifadhidata, na si kwa programu, ikiwa ni pamoja na kuigwa na kuhifadhiwa katika hifadhi inayoendelea.
  • Toleo la pili la ACL limependekezwa, ambalo hukuruhusu kudhibiti ufikiaji wa data kulingana na funguo na hukuruhusu kufafanua seti tofauti za sheria za kupata amri na uwezo wa kumfunga wateule kadhaa (seti za ruhusa) kwa kila mtumiaji. Kila ufunguo unaweza kutambuliwa na mamlaka maalum, kwa mfano, unaweza kupunguza ufikiaji wa kusoma tu au kuandika sehemu fulani ya funguo.
  • Utekelezaji uliogawanywa (uliogawanywa) wa dhana ya usambazaji wa ujumbe wa Chapisha-Subscribe inayoendeshwa katika kundi hutolewa, ambapo ujumbe hutumwa kwa nodi mahususi ambapo chaneli ya ujumbe imeambatishwa, baada ya hapo ujumbe huu unaelekezwa kwenye nodi zilizosalia zilizojumuishwa. katika shanga. Wateja wanaweza kupokea ujumbe kwa kujiandikisha kwenye kituo, wote kwa kuunganisha kwenye nodi kuu na kwa nodi za pili za sehemu hiyo. Udhibiti unafanywa kwa kutumia amri za SSUBSCRIBE, SUNSUBSCRIBE na SPUBLISH.
  • Usaidizi ulioongezwa wa kuchakata amri ndogo katika miktadha mingi.
  • Amri mpya zimeongezwa:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHAARDCHANNELS/SHADNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • KAZI *, FCALL, FCALL_RO.
    • AMRI YA HATI, ORODHA YA AMRI.
    • LATENCY HIstoGRAM.
    • CLUSTER SHArds, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • MTEJA NO-EVICT.
    • ACL DRYRUN.
  • Uwezo wa kuchakata usanidi nyingi kwa wakati mmoja katika simu moja ya CONFIG SET/GET umetolewa.
  • Chaguo "-json", "-2", "-scan", "-functions-rdb" zimeongezwa kwa matumizi ya redis-cli.
  • Kwa chaguo-msingi, ufikiaji wa mteja kwa mipangilio na amri zinazoathiri usalama umezimwa (kwa mfano, amri za DEBUG na MODULE zimezimwa, kubadilisha usanidi kwa alama ya PROTECTED_CONFIG ni marufuku). redis-cli haitoi tena amri zilizo na data nyeti kwa faili ya historia.
  • Sehemu kubwa ya uboreshaji imeanzishwa kwa lengo la kuongeza utendaji na kupunguza matumizi ya kumbukumbu. Kwa mfano, matumizi ya kumbukumbu yamepunguzwa kwa kiasi kikubwa wakati wa kuwezesha hali ya nguzo, wakati wa kufanya shughuli za nakala-kuandika, na wakati wa kufanya kazi na heshi na funguo za zset. Mantiki iliyoboreshwa ya kusogeza data kwenye diski (fsync call). Idadi ya pakiti za mtandao na simu za mfumo wakati wa kutuma majibu kwa mteja imepunguzwa. Ufanisi wa urudufishaji umeboreshwa.
  • Athari ya kuathiriwa ya CVE-2022-24735 katika mazingira ya kutekeleza hati za Lua imerekebishwa, ambayo inakuruhusu kubadilisha msimbo wako wa Lua na kufanikisha utekelezaji wake katika muktadha wa mtumiaji mwingine, ikijumuisha aliye na mapendeleo ya juu zaidi.
  • Athari za kuathiriwa zisizobadilika CVE-2022-24736, ambayo huruhusu mchakato wa redis-server kuanguka kwa sababu ya kutoelekezwa kwa kielekezi NULL. Shambulio hilo hufanywa kupitia upakiaji wa maandishi maalum ya Lua.

Chanzo: opennet.ru

Kuongeza maoni