Публикувана е Valkey 9.0, форк на СУБД Redis

Състоянието на релиза на СУБД Valkey 9.0, която миналата година се отдели от СУБД Redis. Форкът беше образуван след прехвърлянето на Redis 7.4 на проприетарна лицензия. В версия 8.0 кодът беше върнат на свободна лицензия AGPLv3, но това не повлия на развитието на проекта Valkey. Valkey се развива на неутрална платформа под покровителството на организацията Linux Foundation с участието на разработчици от компании като Amazon, Google, Oracle, Ericsson и Snap. Кодът на проекта е написан на езика Си и се разпространява под лиценз BSD. Поддържа работа в Linux, macOS, OpenBSD, NetBSD и FreeBSD.

СУБД Valkey и Redis предоставят функции за съхранение на данни във формат ключ/стойност, разширени с поддръжка на структурирани формати на данни, като списъци, хешове и множества, както и възможност за изпълнение на сървър скриптове на езика Lua. Базата данни се съхранява в паметта и се синхронизира с версията на диска или се отразява в лог за промените на диска, което гарантира запазването на данните в случай на аварийно спиране. Поддържат се транзакции, режим „публикуване/абониране“, команди за инкрементиране/децрементиране, операции със списъци и множества (обединение, пресичане), преименуване на ключове, master-slave репликация, множество извлечения и функции за сортиране.

В новата версия:

  • За прехвърляне на данни между възли в клъстера се използва техника за атомарна миграция на слотове, при която данните се прехвърлят не на ниво отделни ключове (един ключ след друг), а на ниво атомарно преместване на 16384 байтови слота за съхранение на данни. Прехвърлянето се извършва с помощта на формат AOF, който позволява изпращането на отделни елементи от колекции вместо всички данни, свързани с ключа. Подходът значително увеличава производителността, позволява да се избегнат пренасочвания и изключва забавяния, възникващи при достъп на клиента до прехвърляния ключ.
  • Добавена е възможност за определяне на различно време за живот за различни полета в хешове, свързани с един ключ (по-рано времето за живот беше свързано с ключа и обхващаше всички полета). За управление на времето за живот на данните са добавени нови команди: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX и HTTL.
  • Предоставена възможност за използване в клъстерен режим на номерирани бази данни, в които пространството на ключовете е разделено на няколко различни бази данни (по подразбиране 16).
  • Повишена ефективност на работата на големи клъстери — демонстриран е клъстер от 2000 узла, способен да обработва милиард заявки в секунда.
  • Добавена е оптимизация, която в някои ситуации повишава пропускната способност с 40% чрез предварително зареждане на групирани (pipelining) команди в паметта.
  • Добавена е оптимизация, позволяваща в определени ситуации да повиши пропускната способност с 20% чрез изключване на копирането на данни в паметта (zero copy) по време на обработка на големи заявки.
  • Добавена е поддръжка на технологията Multipath TCP за организиране на доставка на пакети едновременно по няколко маршрута през различни мрежови интерфейси, свързани с различни IP адреси. Използването на Multipath TCP позволява в определени случаи да се намалят закъсненията с 25%.
  • В BITCOUNT и HyperLogLog са добавени оптимизации, използващи SIMД инструкции, които в някои ситуации могат да увеличат пропускната способност с 200%.
  • В геопространствените индекси е добавена поддръжка на заявки за местоположение по координати на многоъгълник.
  • Добавена е команда „DELIFEQ“ за изтриване на ключ, ако свързаната с него стойност отговаря на зададената.
  • В командата „CLIENT LIST“ е реализирана възможност за задаване на филтри, които отсяват елементи по име, флагове, активност, БД, IP адрес и права.
  • Възстановена е поддръжката на 25 команди, преди това обявени за остарели.

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

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