Издаване на СУБД Redis 8.2

Публикувано е издание на СУБД Redis 8.2, която принадлежи към класа на NoSQL системите. Redis предлага функции за съхранение на данни във формат ключ/стойност, разширени с поддръжка на структурирани формати на данни, като списъци, хешове и множества, както и възможност за изпълнение на скриптове за обработка на езика Lua на сървъра. Кодът на проекта е написан на езика C и се разпространява под лиценция AGPLv3.

СУБД Redis поддържа транзакции, които позволяват изпълнението на група команди в една стъпка, гарантирайки последователност и кохерентност (команди от други заявки не могат да се включат) при изпълнението на зададения набор от команди, а в случай на проблеми позволява да се върнат промените. Всички данни се кешират изцяло в оперативната памет. Клиентските библиотеки са налични за повечето популярни езици, включително Perl, Python, PHP, Java, Ruby и Tcl.

За управление на данните са предоставени команди като инкрементиране/декрементиране, стандартни операции над списъци и множества (обединение, пресичане), преименуване на ключове, множество избори и функции за сортиране. Поддържат се два режима на съхранение: периодична синхронизация на данните на диск и водене на лог на промените на диска. При втория случай се гарантира пълна запазеност на всички промени. Възможна е организация на master-slave репликация на данни на няколко сървъри, извършвана в неблокиращ режим. Достъпен е и режимът на обмен на съобщения "публикация/абонамент", при който се създава канал, съобщенията от който се разпространяват на клиентите по абонамент.

Ключови промени в Redis 8.2:

  • Оптимизирани са над 70 команди, които започнаха да работят по-бързо, отколкото в Redis 8.0. Например, командата BITCOUNT стана по-бърза с 35%, а командите за операции със списъци LINSERT, LREM и LPOS — с 25%. 17 от оптимизираните команди станаха по-бързи с минимум 5%, а 52 — с минимум 2%.
    Издаване на СУБД Redis 8.2
  • Направени са оптимизации на кода за обработка на едновременни операции и многопоточни вход/изход, които позволиха увеличение на обработваните операции в секунда с 49% в тестовете с 8 потока вход/изход при разпределение на натоварването от 20% записи и 80% четения. На един сървър беше надминат прагът от 1 милион обработвани операции в секунда.
    Издаване на СУБД Redis 8.2
  • Основно е променен методът на съхранение на данни във формат ключ/стойност — за съхранение сега се използва унифицирана структура kvobj, позволяваща опаковане на името на ключа, късата стойност и времето за живот в един блок заделена памет и справяне с едно позоваване към тази структура в хеш таблиците, вместо отделни позовавания към ключове, данни и TTL. При съхранение на къси стрингови стойности, новият метод успя да намали потреблението на памет с 25-37%.
    Издаване на СУБД Redis 8.2
  • Оптимизирано е съхранението на данни във формат JSON, което позволи намаляване на потреблението на памет с 25-67% при съхранение на цели числа и числа с плаваща запетая.
  • В механизма Streams, прилаган за обработка и съхранение на потока от съобщения, са добавени нови команди XACKDEL и XDELEX, които улесняват работата с потоци, към които са свързани няколко получателя (групи потребители). Командите решават задачата за изтриване на съобщение само след като получаването му е потвърдено от всички обработвачи.
  • В командата BITOP, предназначена за извършване на битови операции, са добавени нови логически оператори DIFF, DIFF1, ANDOR и ONE.
  • Добавен е нов тип индекси на вектори SVS-VAMANA, поддържащ компресия на вектори.
  • Добавени са нови метрики: натоварване по отделни слотове и разпределение на размерите на ключовете за основните типове данни.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster