Редис 7.0 издање

Објављено је издање Редис 7.0 ДБМС, који припада класи НоСКЛ система. Редис обезбеђује функције за чување података у формату кључ/вредност, проширене подршком за формате структурираних података као што су листе, хешови и скупови, као и могућност извршавања руковалаца скриптама на страни сервера у Луа језику. Код пројекта се испоручује под БСД лиценцом. Додатни модули који нуде напредне функције за корпоративне кориснике, као што су РедиСеарцх, РедисГрапх, РедисЈСОН, РедисМЛ, РедисБлоом, испоручују се под власничком РСАЛ лиценцом од 2019. године. Развој отворених верзија ових модула под лиценцом АГПЛв3 покушао је да настави пројекат ГоодФОРМ, који у последње време стагнира.

За разлику од система за складиштење у меморији као што је Мемцацхед, Редис обезбеђује трајно складиштење података на диску и гарантује сигурност базе података у случају ненормалног искључивања. Изворни текстови пројекта се дистрибуирају под БСД лиценцом. Клијентске библиотеке су доступне за најпопуларније језике, укључујући Перл, Питхон, ПХП, Јава, Руби и Тцл. Редис подржава трансакције које вам омогућавају да извршите групу команди у једном кораку, гарантујући конзистентност и доследност (команде из других захтева не могу да угоне) извршење датог скупа команди, а у случају проблема, омогућавајући вам да вратите промене. Сви подаци су у потпуности кеширани у РАМ-у.

Команде као што су инкремент/декремент, стандардне операције на листама и скуповима (унија, пресек), преименовање тастера, вишеструки избори и функције сортирања су обезбеђене за манипулацију подацима. Подржана су два режима складиштења: периодична синхронизација података на диск и евидентирање промена на диску. У другом случају, потпуна сигурност свих промена је загарантована. Могуће је организовати мастер-славе репликацију података на неколико сервера, која се врши у неблокирајућем режиму. Доступан је и режим размјене порука за објављивање/претплату, у којем се креира канал из којег се поруке дистрибуирају претплаћеним клијентима.

Кључне промене у Редис 7.0:

  • Додата подршка за функције на страни сервера. За разлику од раније подржаних Луа скрипти, функције нису везане за апликацију и имају за циљ имплементацију додатне логике која проширује могућности сервера. Функције се обрађују неодвојиво са подацима иу односу на базу података, а не на апликацију, укључујући реплицирање и складиштење у трајном складишту.
  • Предложено је друго издање АЦЛ-а, које вам омогућава да контролишете приступ подацима на основу кључева и омогућава вам да дефинишете различите скупове правила приступа за команде са могућношћу везивања неколико селектора (скупова дозвола) за сваког корисника. Сваки кључ се може идентификовати са одређеним дозволама, на пример, можете ограничити приступ само за читање или писање одређеном подскупу кључева.
  • Обезбеђена је подељена имплементација парадигме дистрибуције порука Објави-Претплати се, која ради у кластеру, у којој се порука шаље одређеном чвору за који је везан канал за поруке, након чега се ова порука преусмерава на преостале чворове укључене у крхотина. Клијенти могу да примају поруке претплатом на канал, повезивањем на примарни чвор и на секундарне чворове секције. Контрола се врши помоћу команди ССУБСЦРИБЕ, СУНСУБСЦРИБЕ и СУБЛИСХ.
  • Додата подршка за обраду подкоманди у већини контекста.
  • Додате нове команде:
    • ЗМПОП, БЗМПОП.
    • ЛМПОП, БЛМПОП.
    • СИНТЕРЦАРД, ЗИНТЕРЦАРД.
    • ОБЈАВЉИВАЊЕ, ПРЕТПЛАТИТЕ СЕ, ПРЕТПЛАТИТЕ СЕ, ПРЕТПЛАТИТЕ СЕ, ПУБСУБ СХАРДЦХАННЕЛС/СХАРДНУМСУБ.
    • ЕКСПИРЕТИМЕ, ПЕКСПИРЕТИМЕ .
    • ЕВАЛ_РО, ЕВАЛСХА_РО, СОРТ_РО.
    • ФУНЦТИОН *, ФЦАЛЛ, ФЦАЛЛ_РО.
    • КОМАНДНИ ДОКУМЕНТИ, ЛИСТА КОМАНДА.
    • ХИСТОГРАМ ЛАТЕНЦИЈЕ.
    • ДЕЛОВИ КЛАСТЕРА, ВЕЗЕ КЛАСТЕРА, РАНГ ДЕЛСЛОТСЛОТА КЛАСТЕРА, РАНГ ДОДАТНИХ КЛАСТЕРА.
    • КЛИЈЕНТ БЕЗ ДЕШАВАЊА.
    • АЦЛ ДРИРУН.
  • Пружа могућност обраде више конфигурација одједном у једном позиву ЦОНФИГ СЕТ/ГЕТ.
  • Додате опције „--јсон“, „-2“, „--сцан“, „--фунцтионс-рдб“ у услужни програм редис-цли.
  • Подразумевано, приступ клијента подешавањима и командама које утичу на безбедност је онемогућен (на пример, команде ДЕБУГ и МОДУЛЕ су онемогућене, промена конфигурација са заставицом ПРОТЕЦТЕД_ЦОНФИГ је забрањена). Редис-цли је престао да шаље команде које садрже осетљиве податке у датотеку историје.
  • Направљен велики део оптимизација са циљем побољшања перформанси и смањења потрошње меморије. На пример, потрошња меморије је значајно смањена када је омогућен режим кластера, када се обављају операције копирања-уписивања и када се ради са хешовима и зсет кључевима. Побољшана логика за испирање података на диск (фсинц позив). Смањен је број мрежних пакета и системских позива приликом слања одговора клијенту. Побољшана ефикасност репликације.
  • Отклоњена је рањивост ЦВЕ-2022-24735 у окружењу за извршавање Луа скрипти, што омогућава замену сопственог Луа кода и изазива његово извршавање у контексту другог корисника, укључујући и оне са вишим привилегијама.
  • Решена је рањивост ЦВЕ-2022-24736 која би могла дозволити да се процес редис-сервера сруши због нулте референце показивача. Напад се изводи учитавањем посебно дизајнираних Луа скрипти.

Извор: опеннет.ру

Додај коментар