Објавување на Redis 6.0 DBMS

Подготвени Издание на DBMS Редис 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“. За да се генерираат непредвидливи копчиња за сесија, командата „ACL GENPASS“ е додадена со користење на HMAC базиран на SHA256.
  • Поддршка SSL / TLS за шифрирање на каналот за комуникација помеѓу клиентот и серверот.
  • Поддршка кеширање податоци на клиентската страна. За усогласување на кешот од страна на клиентот со состојбата на базата на податоци, достапни се два режими: 1. Запомнување на серверот на клучевите што клиентот претходно ги побарал за да го информира за губење на релевантноста на записот во кешот на клиентот. 2. Механизмот за „емитување“, во кој клиентот се претплати на одредени префикси на клучеви и серверот го известува доколку се променат клучевите што спаѓаат под овие префикси. Предноста на режимот „емитување“ е тоа што серверот не троши дополнителна меморија за складирање на мапа на вредности кеширани на страната на клиентот, но недостатокот е што се зголемува бројот на пренесени пораки.
  • Брокерот за пораки Disque, кој ви овозможува да користите Redis за обработка на редици за пораки, е отстранет од основната структура во посебен модул.
  • Додадено Кластер прокси, прокси за кластер на Redis сервери, дозволувајќи му на клиентот да организира работа со неколку Redis сервери како да се единствена инстанца. Проксито може да ги насочува барањата до јазлите со потребните податоци, мултиплексните врски, да го реконфигурира кластерот доколку се откријат неуспеси во јазлите и да извршува барања кои опфаќаат повеќе јазли.
  • API за пишување модули е значително подобрен, во суштина претворајќи го Redis во рамка која ви овозможува да креирате системи во форма на дополнителни модули.
  • Имплементиран е режим на репликација во кој RDB-датотеките веднаш се бришат откако ќе се користат.
  • Протоколот за репликација PSYNC2 е подобрен, што овозможи да се врши делумна ресинхронизација почесто, со зголемување на шансите за идентификување на поместувања заеднички за репликата и главниот.
  • Вчитувањето на RDB-датотеките е забрзано. Во зависност од содржината на датотеката, забрзувањето се движи од 20 до 30%. Извршувањето на командата INFO е значително забрзано кога има голем број поврзани клиенти.
  • Додадена е нова команда STRALGO со имплементација на сложени алгоритми за обработка на низи. Во моментов, достапен е само еден LCS (најдолга заедничка потсеквенца) алгоритам, кој може да биде корисен кога се споредуваат секвенците на РНК и ДНК.

Извор: opennet.ru

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