Kutolewa kwa Redis 6.0 DBMS

Imetayarishwa Utoaji wa DBMS Redi 6.0, mali ya darasa la mifumo ya NoSQL. Redis hutoa vitendaji kama vya Memcached kwa kuhifadhi data ya vitufe/thamani, iliyoimarishwa na usaidizi wa fomati za data zilizoundwa kama vile orodha, heshi na seti, na uwezo wa kuendesha hati za kidhibiti cha Lua cha upande wa seva. Msimbo wa mradi hutolewa chini ya leseni ya BSD. Moduli za ziada zinazotoa uwezo wa hali ya juu kwa watumiaji wa biashara kama vile RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom tangu mwaka jana. hutolewa chini ya leseni ya umiliki ya RSAL. Utengenezaji wa matoleo wazi ya moduli hizi chini ya leseni ya AGPLv3 unaendelea na mradi GoodFORM.

Tofauti na Memcached, Redis hutoa uhifadhi unaoendelea wa data kwenye diski na inahakikisha usalama wa hifadhidata katika tukio la kuzima kwa dharura. 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.

Ufunguo maboreshoimeongezwa katika Redis 6.0:

  • Kwa chaguo-msingi, itifaki mpya ya RESP3 inapendekezwa, lakini usanidi wa muunganisho huanza katika hali ya RESP2 na mteja hubadilisha hadi itifaki mpya ikiwa tu amri mpya ya HELLO inatumiwa wakati wa kujadili muunganisho. RESP3 hukuruhusu kurejesha aina changamano za data moja kwa moja bila hitaji la kubadilisha safu za kawaida kwenye upande wa mteja na kwa kutenganisha aina za kurejesha.
  • Usaidizi wa orodha ya udhibiti wa ufikiaji (ACL), kukuwezesha kuamua kwa usahihi ni shughuli gani zinaweza kufanywa na mteja na ambazo haziwezi. ACL pia hufanya iwezekane kulinda dhidi ya makosa yanayowezekana wakati wa ukuzaji, kwa mfano, kidhibiti kinachofanya operesheni ya BRPOPLPUSH pekee kinaweza kupigwa marufuku kutekeleza shughuli zingine, na ikiwa simu ya FLUSHALL iliyoongezwa wakati wa utatuzi itasahaulika kwa bahati mbaya katika nambari ya uzalishaji, hii itafanywa. si kusababisha matatizo. Utekelezaji wa ACL hauingizii nyongeza yoyote ya ziada na kwa hakika hakuna athari kwenye utendakazi. Moduli za kiolesura pia zimetayarishwa kwa ajili ya ACL, na kuifanya iwezekane kuunda mbinu zako za uthibitishaji. Ili kutazama ukiukaji wote wa ACL uliorekodiwa, amri ya "ACL LOG" imetolewa. Ili kutengeneza funguo za kikao zisizotabirika, amri ya "ACL GENPASS" imeongezwa kwa kutumia HMAC yenye msingi wa SHA256.
  • Support SSL / TLS kusimba chaneli ya mawasiliano kati ya mteja na seva.
  • Support data ya akiba kwa upande wa mteja. Ili kupatanisha cache ya upande wa mteja na hali ya hifadhidata, njia mbili zinapatikana: 1. Kumbuka kwenye seva funguo ambazo mteja aliomba hapo awali ili kuijulisha kuhusu kupoteza umuhimu wa kuingia kwenye cache ya mteja. 2. Utaratibu wa "utangazaji", ambapo mteja hujiandikisha kwa viambishi awali fulani muhimu na seva inaijulisha ikiwa vitufe vinavyoanguka chini ya viambishi awali hivi vinabadilika. Faida ya hali ya "utangazaji" ni kwamba seva haipotezi kumbukumbu ya ziada juu ya kuhifadhi ramani ya maadili iliyohifadhiwa kwenye upande wa mteja, lakini ubaya ni kwamba idadi ya ujumbe unaopitishwa huongezeka.
  • Dalali wa ujumbe wa Disque, anayekuruhusu kutumia Redis kuchakata foleni za ujumbe, ameondolewa kwenye muundo msingi katika moduli tofauti.
  • Imeongezwa Wakala wa Nguzo, proksi ya kundi la seva za Redis, inayomruhusu mteja kupanga kazi na seva kadhaa za Redis kana kwamba ni mfano mmoja. Seva mbadala inaweza kuelekeza maombi kwa nodi zilizo na data muhimu, miunganisho ya wingi, kuweka mipangilio upya ya nguzo ikiwa hitilafu za nodi zitatambuliwa, na kutekeleza maombi ambayo yanajumuisha nodi nyingi.
  • API ya moduli za uandishi imeboreshwa kwa kiasi kikubwa, kimsingi kugeuza Redis kuwa mfumo unaokuruhusu kuunda mifumo kwa njia ya moduli za nyongeza.
  • Hali ya urudufishaji imetekelezwa ambapo faili za RDB hufutwa mara moja baada ya kutumika.
  • Itifaki ya urudufishaji ya PSYNC2 imeboreshwa, ambayo imefanya uwezekano wa kufanya upatanisho wa sehemu mara nyingi zaidi, kwa kuongeza nafasi za kutambua kukabiliana na kawaida kwa replica na bwana.
  • Upakiaji wa faili za RDB umeharakishwa. Kulingana na yaliyomo kwenye faili, kasi huanzia 20 hadi 30%. Utekelezaji wa amri ya INFO umeharakishwa kwa kiasi kikubwa wakati kuna idadi kubwa ya wateja waliounganishwa.
  • Amri mpya ya STRALGO imeongezwa kwa utekelezaji wa algoriti changamano za kuchakata kamba. Hivi sasa, ni algoriti moja tu ya LCS (mfuatano mrefu zaidi wa kawaida) inapatikana, ambayo inaweza kuwa muhimu wakati wa kulinganisha mfuatano wa RNA na DNA.

Chanzo: opennet.ru

Kuongeza maoni