Redis 6.0 ДҚБЖ шығарылымы

Дайындалды ДҚБЖ шығарылымы Редис 6.0, NoSQL жүйелерінің класына жатады. Redis тізімдер, хэштер және жиындар сияқты құрылымдық деректер пішімдерін қолдау арқылы жақсартылған кілт/мән деректерін сақтауға арналған Memcached тәрізді функцияларды және серверлік Lua өңдегіш сценарийлерін іске қосу мүмкіндігін ұсынады. Жоба коды жеткізілген BSD лицензиясы бойынша. Өткен жылдан бері RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom сияқты кәсіпорын пайдаланушылары үшін кеңейтілген мүмкіндіктерді ұсынатын қосымша модульдер жеткізілген меншікті RSAL лицензиясы бойынша. AGPLv3 лицензиясы бойынша осы модульдердің ашық нұсқаларын әзірлеу жобамен жалғасуда GoodFORM.

Memcached-тен айырмашылығы, Redis дискідегі деректердің тұрақты сақталуын қамтамасыз етеді және төтенше жағдайда өшіру жағдайында деректер қорының қауіпсіздігіне кепілдік береді. Жобаның бастапқы коды BSD лицензиясы бойынша таратылады. Клиенттік кітапханалар ең танымал тілдер үшін қол жетімді, соның ішінде Perl, Python, PHP, Java, Ruby және Tcl. Redis пәрмендер тобын бір қадамда орындауға мүмкіндік беретін транзакцияларды қолдайды, берілген пәрмендер жиынын орындау кезінде жүйелілік пен дәйектілікті қамтамасыз етеді (басқа сұраулардың пәрмендері кедергі келтіре алмайды) және проблемалар туындаған жағдайда кері қайтаруға мүмкіндік береді. өзгерістер. Барлық деректер жедел жадта толығымен кэштелген.

Мәліметтерді басқару үшін арттыру/азайту, стандартты тізім және жиын операциялары (біріктіру, қиылысу), перне атын өзгерту, бірнеше таңдау және сұрыптау функциялары сияқты командалар берілген. Екі сақтау режиміне қолдау көрсетіледі: деректерді дискіге мерзімді синхрондау және дискідегі өзгерістер журналына қызмет көрсету. Екінші жағдайда барлық өзгерістердің толық қауіпсіздігіне кепілдік беріледі. Блокталмайтын режимде жүзеге асырылатын бірнеше серверлерге негізгі-құлалық деректердің репликациясын ұйымдастыруға болады. «Жариялау/жазылу» хабар алмасу режимі де қол жетімді, онда арна жасалады, хабарламалар жазылу арқылы клиенттерге таратылады.

Кілт жақсартуларRedis 6.0-де қосылды:

  • Әдепкі бойынша, жаңа RESP3 протоколы ұсынылады, бірақ қосылымды орнату RESP2 режимінде басталады және қосылым туралы келіссөздер кезінде жаңа HELLO пәрмені пайдаланылған жағдайда ғана клиент жаңа протоколға ауысады. RESP3 клиент жағында жалпы массивтерді түрлендіруді қажет етпей және қайтару түрлерін бөлу арқылы күрделі деректер түрлерін тікелей қайтаруға мүмкіндік береді.
  • Қол жеткізуді басқару тізімін қолдау (ACL), клиент қандай операцияларды орындай алатынын және қайсысын орындай алмайтынын дәл анықтауға мүмкіндік береді. ACL сонымен қатар әзірлеу кезінде мүмкін болатын қателерден қорғауға мүмкіндік береді, мысалы, тек BRPOPLPUSH операциясын орындайтын өңдеушіге басқа әрекеттерді орындауға тыйым салынуы мүмкін және жөндеу кезінде қосылған FLUSHALL шақыруы өндіріс кодында кездейсоқ ұмытылып қалса, бұл проблемаларға әкелмейді. ACL енгізу қосымша шығындарды талап етпейді және өнімділікке іс жүзінде әсер етпейді. Интерфейс модульдері де ACL үшін дайындалған, бұл өзіңіздің аутентификация әдістерін жасауға мүмкіндік береді. Барлық тіркелген ACL бұзушылықтарын көру үшін «ACL LOG» пәрмені беріледі. Болжауға келмейтін сеанс кілттерін жасау үшін SHA256 негізіндегі HMAC көмегімен "ACL GENPASS" пәрмені қосылды.
  • қолдау SSL / TLS клиент пен сервер арасындағы байланыс арнасын шифрлау үшін.
  • қолдау клиент жағында деректерді кэштеу. Клиенттік кэшті дерекқор күйімен салыстыру үшін екі режим қолжетімді: 1. Клиент кэшіндегі жазбаның өзектілігін жоғалту туралы хабарлау үшін клиент бұрын сұраған кілттерді серверде есте сақтау. 2. Клиент белгілі бір кілт префикстеріне жазылатын және осы префикстерге жататын пернелер өзгерген жағдайда сервер оны хабардар ететін «хабар тарату» механизмі. «Хабар тарату» режимінің артықшылығы - сервер клиент жағында кэштелген мәндер картасын сақтауға қосымша жадты босқа жұмсамайды, бірақ кемшілігі - жіберілетін хабарламалар санының артуы.
  • Хабарлар кезегін өңдеу үшін Redis пайдалануға мүмкіндік беретін Disque хабар брокері негізгі құрылымнан жойылды. бөлек модуль.
  • Қосылды Кластерлік прокси, клиентке бірнеше Redis серверлерімен жұмысты бір дана сияқты ұйымдастыруға мүмкіндік беретін Redis серверлерінің кластеріне арналған прокси. Прокси сұраныстарды қажетті деректері бар түйіндерге, мультиплекстік қосылымдарға бағыттай алады, түйін ақаулары анықталса, кластерді қайта конфигурациялай алады және бірнеше түйіндерді қамтитын сұрауларды орындай алады.
  • Модульдерді жазуға арналған API айтарлықтай жетілдірілді, бұл Redis-ті қосымша модульдер түріндегі жүйелерді жасауға мүмкіндік беретін құрылымға айналдырды.
  • Репликация режимі іске асырылды, онда RDB файлдары пайдаланылғаннан кейін дереу жойылады.
  • PSYNC2 репликация хаттамасы жетілдірілді, бұл реплика мен шеберге ортақ ығысуларды анықтау мүмкіндігін арттыру арқылы ішінара қайта синхрондауды жиі орындауға мүмкіндік берді.
  • RDB файлдарын жүктеу жеделдетілді. Файл мазмұнына байланысты жеделдету 20-30% аралығында болады. Қосылған клиенттердің саны көп болған кезде INFO командасының орындалуы айтарлықтай жеделдетілді.
  • Жолды өңдеудің күрделі алгоритмдерін іске асырумен бірге жаңа STRALGO пәрмені қосылды. Қазіргі уақытта тек бір LCS (ең ұзын жалпы қосалқы реттілік) алгоритмі қол жетімді, ол РНҚ және ДНҚ тізбектерін салыстыру кезінде пайдалы болуы мүмкін.

Ақпарат көзі: opennet.ru

пікір қалдыру