Redis 6.0 DBMS чыгаруу

Даярдалган DBMS чыгаруу Redis 6.0, NoSQL системаларынын классына таандык. Redis тизмелер, хэштер жана топтомдор сыяктуу структураланган маалымат форматтарын колдоо менен өркүндөтүлгөн ачкыч/маанилик берилиштерин сактоо үчүн Memcached сыяктуу функцияларды камсыз кылат, ошондой эле сервер тараптагы Lua иштеткич скрипттерин иштетүү мүмкүнчүлүгү. Долбоор коду берилген BSD лицензиясы боюнча. Өткөн жылдан бери RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom сыяктуу ишкана колдонуучулары үчүн өркүндөтүлгөн мүмкүнчүлүктөрдү сунуштаган кошумча модулдар камсыздалган менчик RSAL лицензиясы боюнча. AGPLv3 лицензиясы боюнча бул модулдардын ачык версияларын иштеп чыгуу долбоор тарабынан улантылууда Жакшы форма.

Memcachedден айырмаланып, Redis дискте маалыматтардын туруктуу сакталышын камсыз кылат жана авариялык өчүрүү учурунда маалымат базасынын коопсуздугуна кепилдик берет. Долбоордун баштапкы коду BSD лицензиясы боюнча таратылат. Кардар китепканалары эң популярдуу тилдер үчүн жеткиликтүү, анын ичинде Perl, Python, PHP, Java, Ruby жана Tcl. Redis транзакцияларды колдойт, алар бир кадамда буйруктардын тобун аткарууга мүмкүндүк берет, берилген буйруктар топтомун аткарууда ырааттуулукту жана ырааттуулукту (башка суроо-талаптардан келген буйруктар тоскоол боло албайт) камсыз кылат жана көйгөйлөр пайда болгон учурда артка кайтууга мүмкүндүк берет. өзгөрүүлөр. Бардык маалыматтар RAMда толугу менен кэштелген.

Маалыматтарды башкаруу үчүн көбөйтүү/азайтуу, стандарттык тизме жана топтом операциялары (биримдик, кесилиш), ачкычтын атын өзгөртүү, бир нече тандоо жана сорттоо функциялары сыяктуу буйруктар берилген. Эки сактоо режими колдоого алынат: маалыматтарды дискке мезгил-мезгили менен синхрондоштуруу жана дискте өзгөртүү журналын сактоо. Экинчи учурда, бардык өзгөрүүлөрдүн толук коопсуздугу кепилденет. Блоксуз режимде ишке ашырылган бир нече серверлерге мастер-кул маалыматтарын репликациялоону уюштурууга болот. “Жарыялоо/жазылуу” билдирүү режими да бар, анда канал түзүлөт, анын билдирүүлөрү жазылуу аркылуу кардарларга таратылат.

Ачкыч жакшыртуулар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 серверлери менен бир эле инстанция сыяктуу ишти уюштурууга мүмкүндүк берет. Прокси суроо-талаптарды керектүү маалыматтары бар түйүндөргө, мультиплекстик туташууларга багыттай алат, түйүндөрдүн каталары аныкталса, кластерди кайра конфигурациялай алат жана бир нече түйүндөрдү камтыган суроо-талаптарды аткара алат.
  • Модулдарды жазуу үчүн API олуттуу түрдө жакшыртылды, бул Redisди кошумча модулдар түрүндөгү системаларды түзүүгө мүмкүндүк берген негизге айландырды.
  • Репликация режими ишке ашырылды, анда RDB файлдары колдонулгандан кийин дароо жок кылынат.
  • PSYNC2 репликация протоколу жакшыртылды, бул репликага жана мастерге жалпы офсеттерди аныктоо мүмкүнчүлүгүн жогорулатуу менен жарым-жартылай кайра синхрондоштурууну тез-тез аткарууга мүмкүндүк берди.
  • RDB файлдарын жүктөө тездетилди. Файлдын мазмунуна жараша, ылдамдатуу 20% дан 30% га чейин. Туташкан кардарлардын саны көп болгондо INFO буйругунун аткарылышы бир топ ылдамдады.
  • Татаал саптарды иштетүү алгоритмдерин ишке ашыруу менен жаңы STRALGO буйругу кошулду. Учурда бир гана LCS (эң узун жалпы бөлүкчө) алгоритми бар, ал РНК менен ДНК ырааттуулугун салыштырганда пайдалуу болот.

Source: opennet.ru

Комментарий кошуу