Нашри DBMS Redis 7.0

Нашри DBMS Redis 7.0, ки ба синфи системаҳои NoSQL тааллуқ дорад, нашр шуд. Redis функсияҳоро барои нигоҳ доштани маълумоти калид/арзиш таъмин менамояд, ки бо дастгирии форматҳои сохтории додаҳо ба монанди рӯйхатҳо, хэшҳо ва маҷмӯаҳо, инчунин қобилияти иҷро кардани коркардкунандагони скриптҳои сервер дар Луа такмил дода шудаанд. Рамзи лоиҳа тибқи иҷозатномаи BSD дода мешавад. Модулҳои иловагӣ, ки қобилиятҳои пешрафтаро барои корбарони корпоративӣ пешниҳод мекунанд, аз қабили RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, аз соли 2019 таҳти иҷозатномаи хусусии RSAL таъмин карда мешаванд. Лоиҳаи GoodFORM, ки чанде пеш рукуд буд, кӯшиш кард, ки таҳияи версияҳои кушодаи ин модулҳоро таҳти иҷозатномаи AGPLv3 идома диҳад.

Баръакси системаҳои нигаҳдории дохили хотира, ба монанди Memcached, Redis кафолат медиҳад, ки маълумот дар диск доимӣ нигоҳ дошта шавад ва дар сурати садама, пойгоҳи додаҳо бетағйир боқӣ мемонад. Рамзи сарчашмаи лоиҳа таҳти иҷозатномаи BSD паҳн карда мешавад. Китобхонаҳои муштарӣ барои забонҳои маъмултарин, аз ҷумла Perl, Python, PHP, Java, Ruby ва Tcl дастрасанд. Redis транзаксияҳоро дастгирӣ мекунад, ки ба шумо имкон медиҳад, ки як гурӯҳ фармонҳоро дар як қадам иҷро кунед, мувофиқат ва мувофиқатро таъмин кунед (фармонҳои дигар дархостҳо наметавонанд халал расонанд) дар иҷрои маҷмӯи фармонҳои додашуда ва дар ҳолати мушкилот ба шумо имкон медиҳанд, ки баргардед. тағйирот. Ҳама маълумотҳо дар RAM пурра кэш карда мешаванд.

Барои идоракунии додаҳо фармонҳо ба монанди афзоиш/камкунӣ, рӯйхати стандартӣ ва амалиёти маҷмӯи (иттиҳод, буриш), тағир додани номи калидҳо, интихоби сершумор ва функсияҳои ҷудокунӣ пешниҳод карда мешаванд. Ду намуди нигоҳдорӣ дастгирӣ карда мешавад: синхронизатсияи даврии маълумот ба диск ва нигоҳдории сабти тағирот дар диск. Дар ҳолати дуюм, бехатарии пурраи ҳама тағирот кафолат дода мешавад. Мумкин аст, ки такрори маълумотҳои мастер-ғуломро ба якчанд серверҳо ташкил кард, ки дар реҷаи бебанд анҷом дода мешавад. Реҷаи паёмнависии "нашр/обуна" низ мавҷуд аст, ки дар он канал сохта мешавад, ки паёмҳо аз он тавассути обуна ба муштариён паҳн карда мешаванд.

Тағироти асосӣ дар Redis 7.0:

  • Дастгирии иловашуда барои функсияҳои сервер. Баръакси скриптҳои қаблан дастгирӣшаванда бо забони Lua, функсияҳо ба барнома алоқаманд нестанд ва барои татбиқи мантиқи иловагӣ, ки имкониятҳои серверро васеъ мекунанд, равона карда шудаанд. Функсияҳо ба таври ногусастанӣ бо додаҳо ва дар робита бо пойгоҳи додаҳо коркард карда мешаванд, на ба барнома, аз ҷумла такрорӣ ва дар нигаҳдории доимӣ нигоҳ дошта мешаванд.
  • Нашри дуюми ACL пешниҳод шудааст, ки ба шумо имкон медиҳад дастрасӣ ба маълумотро дар асоси калидҳо идора кунед ва ба шумо имкон медиҳад, ки маҷмӯи гуногуни қоидаҳои дастрасӣ ба фармонҳоро бо қобилияти пайваст кардани якчанд селекторҳо (маҷмӯи иҷозатҳо) ба ҳар як корбар муайян кунед. Ҳар як калид метавонад бо як салоҳияти мушаххас муайян карда шавад, масалан, шумо метавонед дастрасиро танҳо бо хондан ё навиштани зер маҷмӯи муайяни калидҳо маҳдуд кунед.
  • Татбиқи тақсимбандии (пора)-и парадигмаи паҳнкунии паёми Нашр-Обуна, ки дар кластер кор мекунад, таъмин карда мешавад, ки дар он паём ба гиреҳи мушаххасе фиристода мешавад, ки ба он канали паём замима карда мешавад ва пас аз он ин паём ба гиреҳҳои боқимондаи дохилшуда равона карда мешавад. дар пора. Мизоҷон метавонанд тавассути обуна ба канал ҳам тавассути пайвастшавӣ ба гиреҳи асосӣ ва ҳам ба гиреҳҳои дуюмдараҷаи бахш паёмҳо гиранд. Назорат бо истифода аз фармонҳои ОБУНА, ОФТОБОБУНА ва НАШР кардан амалӣ карда мешавад.
  • Дастгирии иловашуда барои коркарди зерфармонҳо дар аксари контекстҳо.
  • Фармонҳои нав илова карда шуданд:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • НАШР КУНЕД, ОБУНА ШАВЕД, ОФТОБОНА, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • ВАҚТИ ИСТИФОДА, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • ФУНКЦИЯ *, FCALL, FCALL_RO.
    • Ҳуҷҷатҳои фармондеҳ, Рӯйхати фармонҳо.
    • ҲИСТОГРАМАМАИ АЗҲОНӢ.
    • КЛАСТЕР SHARDS, LINKS KLASTER, DELSLOTSRANGE кластер, кластер ADDSLOTSRANGE.
    • МИЗЧОР НЕСТ.
    • ACL DRYRUN.
  • Имконияти коркарди якчанд конфигуратсияҳо дар як занги CONFIG SET/GET таъмин карда шудааст.
  • Имкониятҳои "-json", "-2", "-scan", "-functions-rdb" ба утилитаи redis-cli илова карда шудаанд.
  • Бо нобаёнӣ, дастрасии муштарӣ ба танзимот ва фармонҳое, ки ба амният таъсир мерасонанд, ғайрифаъол аст (масалан, фармонҳои DEBUG ва MODULE ғайрифаъол шудаанд, тағир додани конфигуратсияҳо бо парчами PROTECTED_CONFIG манъ аст). Redis-cli дигар фармонҳои дорои маълумоти ҳассосро ба файли таърих намебарад.
  • Қисми зиёди оптимизатсияҳо ба баланд бардоштани самаранокӣ ва кам кардани истеъмоли хотира равона карда шудаанд. Масалан, ҳангоми фаъол кардани режими кластер, ҳангоми иҷрои амалиёти нусхабардорӣ дар навиштан ва ҳангоми кор бо hashes ва калидҳои zset сарфи хотира ба таври назаррас коҳиш ёфт. Мантиқи беҳтаршуда барои тоза кардани маълумот ба диск (занги fsync). Шумораи бастаҳои шабакавӣ ва зангҳои системавӣ ҳангоми ирсоли посухҳо ба муштарӣ кам шудааст. Самаранокии такрорӣ беҳтар шуд.
  • Осебпазирии CVE-2022-24735 дар муҳити иҷрои скриптҳои Lua ислоҳ карда шуд, ки ба шумо имкон медиҳад рамзи Lua-и худро иваз кунед ва иҷрои онро дар заминаи корбари дигар, аз ҷумла як корбари дорои имтиёзҳои баландтар ба даст оред.
  • осебпазирии собит CVE-2022-24736, ки имкон медиҳад, ки раванди редис-сервер аз сабаби барҳам додани нишондодҳои NULL суқут кунад. Ҳамла тавассути боркунии скриптҳои махсус тарҳрезишудаи Lua анҷом дода мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ