Valkey™ против Redis®: будущее in‑memory СУБД

Изменение лицензии Redis® в 2024 году стало причиной создания Valkey — открытого форка под эгидой Linux Foundation. Проект сохранил доступность опенсорса и к 2025 году обрёл весомые технические преимущества.

Краткий пересказ YandexGPT
  • Redis долгое время был стандартом для высоконагруженных систем in-memory СУБД, но в марте 2024 года Redis Inc. изменила лицензию, ограничив коммерческое использование системы. В ответ на изменения лицензии Redis был создан проект Valkey со свободной лицензией BSD 3-Clause.
  • Valkey — это форк последней версии Redis (7.2.4), который получил поддержку Linux Foundation и других компаний. У него есть ряд архитектурных преимуществ перед Redis, включая улучшенную многопоточность, что позволяет ему обрабатывать запросы быстрее и с меньшей задержкой.
  • Valkey совместима с Redis на уровне протокола и команд — это упрощает переход с открытых версий Redis.
  • Управляемый сервис Yandex Managed Service for Valkey автоматизирует развёртывание и эксплуатацию кластеров Valkey в облаке. Среди ключевых возможностей: резервное копирование и восстановление, обновления и обслуживание, отказоустойчивость, безопасность и соответствие требованиям.
  • В планах развития Valkey — дальнейшее повышение производительности и расширение возможностей через новые модули, например Valkey-Search для векторного поиска.
  • В версии Valkey 9.0 появились важные архитектурные улучшения, включая возможность устанавливать TTL для отдельных полей внутри хеш-таблицы, атомарную миграцию слотов и поддержку нескольких баз данных в кластерном режиме.
Тезисы сформулированыYandexGPT
Спасибо!

Системы управления базами данных, которые хранят информацию в оперативной памяти, а не на диске.

Простая лицензия с открытым исходным кодом, допускающая коммерческое использование.

Для высоконагруженных систем in‑memory СУБД обеспечивают минимальные задержки и способны обрабатывать миллионы операций в секунду. Многие годы Redis был де‑факто стандартом для таких систем. Его популярность подтверждают отраслевые рейтинги и опросы разработчиков.

Весной 2024 года Redis Inc. поменяла условия лицензирования и ограничила коммерческое использование своей системы. В ответ опенсорс‑сообщество, включая бывших ключевых разработчиков Redis, основало проект Valkey со свободной лицензией BSD 3‑Clause.

В статье — о ключевых этапах развития Valkey и его технических отличиях от Redis, архитектурных преимуществах проекта и сервисе Yandex Managed Service for Valkey.

Лицензии с открытым исходным кодом, ограничивающие коммерческое использование.

Причины появления Valkey: история смены лицензии Redis

Проект Redis появился в 2009 году и долгое время развивался под управлением свободной лицензии BSD 3‑Clause. Все версии вплоть до 7.2 включительно выходили на этих условиях, и это позволяло свободно использовать, изменять и распространять код.

Ситуация изменилась 20 марта 2024 года. Компания Redis Inc. объявила, что начиная с версии 7.4 проект переходит на двойную лицензию: RSALv2 и SSPLv1. Эти лицензии не одобрены Инициативой по открытому программному обеспечению (Open Source Initiative, OSI) и накладывают существенные ограничения.

Основное ограничение коснулось облачных провайдеров. Новые лицензии запрещали предоставлять Redis как управляемый сервис без заключения коммерческого соглашения с Redis Inc. Лицензия SSPLv1 требовала раскрывать исходный код всех компонентов, которые используются для управления сервисом.

Независимая ветвь разработки.

В ответ на эти изменения 28 марта 2024 года Linux Foundation анонсировала Valkey. Это форк последней версии Redis (7.2.4), которая распространялась по свободной лицензии BSD 3‑Clause. Проект сохранил эту свободную лицензию и получил поддержку нашей платформы в виде Yandex Managed Service for Valkey, а также от других компаний и ключевых разработчиков, ранее работавших над Redis.

В 2025 году история получила продолжение. Для Redis 8 стала доступна ещё одна лицензия — AGPLv3. В отличие от RSAL и SSPL, она одобрена OSI, но тоже накладывает свои ограничения. Эта лицензия требует публиковать исходный код модифицированной программы, если пользователи взаимодействуют с ней по сети.

В результате пути проектов окончательно разошлись. Valkey развивается как проект с классической свободной лицензией под управлением независимой организации Linux Foundation. Redis же теперь существует в сложной экосистеме из нескольких лицензий с разными ограничениями.

Компактная структура данных для быстрой проверки принадлежности элемента к множеству.

Выбор между Valkey и Redis

Архитектурные изменения в Valkey, прежде всего улучшенная многопоточность, напрямую повлияли на его производительность. Независимые тесты показывают, что Valkey обрабатывает запросы быстрее и с меньшей задержкой, чем актуальные версии Redis.

Сравнение Valkey и Redis

Критерий

Valkey

Redis

Лицензия и управление

Открытое управление (Linux Foundation) со свободной и предсказуемой лицензией BSD 3‑Clause.

Централизованное управление (Redis Inc.) со сложной моделью из трёх лицензий (RSALv2, SSPLv1, AGPLv3).

Производительность

В независимых тестах до +37% на запись и +16% на чтение. Пропускная способность ≈1 млн запросов/сек.

Высокая производительность, в аналогичных тестах ≈730 тыс. запросов/сек. В версиях 8.0 и 8.2 заявлены улучшения.

Производительность TLS

Обработка TLS‑соединений вынесена в отдельные потоки, что даёт до 20% к пропускной способности для зашифрованных нагрузок.

Стандартная реализация. Улучшения поставляются в рамках общих обновлений безопасности и производительности.

Эффективность памяти

Новая хеш‑таблица экономит до 28% ОЗУ в тестах (например, 3,77 ГБ против 4,83 ГБ у Redis для 50 млн элементов).

В версии 8.2 заявлены улучшения внутреннего представления данных для снижения потребления памяти.

Подход к расширяемости

Минимальное ядро и опциональные модули (Valkey‑Search для векторного поиска, Valkey‑Bloom для фильтров Блума).

«Всё в одном»: популярные функции (JSON, TimeSeries, Query Engine) встроены в ядро дистрибутива.

Коммерческая поддержка

Осуществляет сообщество и ведущие облачные провайдеры.

Официальная поддержка с SLA напрямую от Redis Inc.

Идеальный сценарий

Системы, где важны прозрачность лицензии, максимальная производительность и отсутствие зависимости от одного вендора.

Проекты, где нужны официальные SLA от вендора и богатая функциональность, доступная «из коробки».

Valkey обеспечивает минимальные задержки и высокую пропускную способность для задач реального времени. При этом данные можно сохранять на диск для надёжности с помощью механизмов персистентности — RDB и AOF. In‑memory СУБД работает не только с простой моделью «ключ — значение», но и поддерживает более сложные встроенные структуры данных: строки, списки, множества, хеши и потоки. Это позволяет эффективно решать широкий круг задач.

Сценарии использования Valkey

Описание

Используемые возможности и механизмы

Кеширование

Ускорение доступа к данным за счёт хранения результатов ресурсоёмких операций в памяти.

Хранение сессий

Управление временными данными пользователя — токенами авторизации, содержимым корзины.

  • Механизм TTL для автоматического удаления устаревших сессий.

Очереди и сообщения

Обмен событиями между компонентами системы с разной степенью надёжности.

Структуры данных:

  • Pub/Sub для быстрой, но негарантированной доставки.

  • Streams для надёжных очередей с группами потребителей.

Аналитика и рейтинги

Реализация счётчиков, таблиц лидеров, систем скоринга и ограничения частоты запросов.

Отказоустойчивость и масштабирование

Создание надёжных кластеров, которые выдерживают отказы узлов и распределяют высокую нагрузку.

Valkey создана на основе открытого кода Redis 7.2.4. Она полностью совместима с Redis на уровне протокола и команд. Благодаря этому переход с любой открытой версии Redis — от 2.0 до 7.2 включительно — выглядит как простое обновление системы.

Valkey в Yandex Cloud: управляемый сервис

Мы поддерживаем развитие Valkey как открытой и производительной in‑memory СУБД. Наш сервис, Yandex Managed Service for Valkey, автоматизирует развёртывание и эксплуатацию кластеров Valkey в облаке. Он берёт на себя рутинные задачи администрирования, позволяя сосредоточиться на разработке приложений.

Ключевые возможности сервиса Yandex Managed Service for Valkey:

  • Резервное копирование и восстановление. Сервис автоматически создаёт ежедневные резервные копии и хранит их до 60 дней. Все бэкапы надёжно шифруются ключами GPG для обеспечения конфиденциальности.
  • Обновления и обслуживание. Мы берём на себя установку минорных обновлений и исправлений безопасности. Все работы проводим в заранее заданное окно обслуживания, чтобы минимизировать влияние на работу приложений.
  • Отказоустойчивость. Кластеры по умолчанию создаются отказоустойчивыми с использованием асинхронной репликации. В случае сбоя основного узла сервис автоматически и с минимальной задержкой переключит нагрузку на реплику.
  • Безопасность и соответствие требованиям. Инфраструктура Yandex Cloud соответствует отраслевым стандартам безопасности. Для дополнительной защиты можно использовать шифрование дисков с помощью Yandex Key Management Service.

Мы поддерживаем актуальные версии Valkey: 7.2, 8.0, 8.1 и 9.0.

Планы развития Valkey: производительность и новые модули

За первый год к разработке Valkey присоединились более 150 специалистов из 50 организаций. Основной фокус дорожной карты проекта — рост производительности и расширение возможностей через модули. Так, в версии 8.1 появились официальные модули valkey‑json для работы с JSON‑документами и valkey‑bloom для использования вероятностных фильтров Блума.

Векторный поиск для задач AI

Модуль Valkey‑Search добавляет в in‑memory СУБД функции векторного поиска. Он поддерживает как приблизительный поиск ближайших соседей для максимальной скорости, так и точный — для максимальной релевантности. Модуль ориентирован на AI‑нагрузки с задержками в единицы миллисекунд и способен работать с миллиардами векторов.

Ключевые улучшения в Valkey 9.0

Наша команда поддержала версию Valkey 9.0 в день релиза. Она привнесла несколько важных архитектурных улучшений:

  • Истечение срока жизни для полей хеша. Появилась возможность устанавливать TTL для отдельных полей внутри хеш‑таблицы, а не только для всего ключа.
  • Атомарная миграция слотов. Процесс перемещения данных между узлами кластера стал надёжнее.
  • Поддержка нескольких баз данных в кластерном режиме. Функциональность, ранее доступная только в одиночном режиме, теперь работает и в кластере.

Параллельно сообщество продолжает улучшать стабильность и производительность кластера. В последних версиях оптимизировали процессы перераспределения данных, добавили SIMD‑оптимизации для ускорения вычислений и реализовали zero‑copy ответы для снижения нагрузки при работе с большими объёмами данных.

Valkey™ против Redis®: будущее in‑memory СУБД
Войдите, чтобы сохранить пост