Открыть сервис

Redis Enterprise

Redis Enterprise — это коммерческая платформа управления базами данных, построенная на основе открытой СУБД Redis (Remote Dictionary Server). Представляет собой программное обеспечение, которое расширяет возможности оригинального Redis за счёт функций высокой доступности, масштабирования, мониторинга, безопасности и поддержки множества моделей данных (включая документы, графы, JSON, поиск и временные ряды). Разрабатывается и поддерживается компанией Redis Ltd. (ранее — Redis Labs), зарегистрированной в США. Платформа предназначена для развёртывания в локальной инфраструктуре (on-premises), в облачных средах (включая публичные облака AWS, Microsoft Azure, Google Cloud) и в гибридных конфигурациях.

История

Предпосылки создания

Redis был создан итальянским разработчиком Сальваторе Санфилиппо в 2009 году и быстро приобрёл популярность как высокопроизводительное хранилище типа «ключ-значение» в оперативной памяти. Однако оригинальная версия Redis не имела встроенных механизмов кластеризации, автоматического шардирования и полноценной репликации для обеспечения отказоустойчивости. Эти ограничения стали препятствием для корпоративного использования в масштабных проектах.

Основание компании и развитие

В 2011 году была основана компания Redis Labs (с 2021 года — Redis Ltd.), которая начала разработку коммерческой надстройки над Redis. Первая версия Redis Enterprise (тогда называлась Redis Enterprise Pack) вышла в 2013 году. Она включала поддержку кластеризации, автоматическое шардирование данных, репликацию и механизмы восстановления после сбоев.

В 2015 году была выпущена версия Redis Enterprise Cluster, которая позволила создавать распределённые кластеры, состоящие из нескольких узлов, с автоматическим перераспределением данных при добавлении или удалении узлов. В 2017 году появилась поддержка модулей Redis (RedisJSON, RediSearch, RedisGraph, RedisTimeSeries), что расширило функциональность платформы за пределы простого хранилища «ключ-значение».

Изменение лицензионной политики

В 2018 году Redis Labs изменила лицензию на Redis Enterprise с AGPL на собственную лицензию Redis Source Available License (RSAL), которая ограничивает использование продукта в конкурирующих облачных сервисах. В 2024 году компания перешла на лицензию SSPL (Server Side Public License), что вызвало критику со стороны сообщества открытого ПО. В ответ на это Redis Ltd. объявила о переходе всех версий Redis (включая открытую) под лицензию SSPL, что привело к созданию форка Valkey под лицензией BSD.

Архитектура и ключевые особенности

Кластеризация и шардирование

Redis Enterprise использует собственную реализацию кластеризации, основанную на концепции «прокси-узлов» (proxy nodes). В отличие от стандартного Redis Cluster, где каждый узел знает топологию кластера, в Redis Enterprise все запросы проходят через прокси-слой, который маршрутизирует их к нужным шардам. Это упрощает управление и позволяет динамически изменять количество шардов без остановки работы.

Шардирование данных осуществляется по хешу ключа. Платформа автоматически распределяет данные по шардам, обеспечивая равномерную загрузку. При добавлении нового узла данные перераспределяются без даунтайма.

Высокая доступность (HA) и аварийное восстановление

Redis Enterprise поддерживает синхронную и асинхронную репликацию данных между узлами кластера. В случае отказа основного узла (мастера) система автоматически переключает трафик на реплику (слейв) за несколько секунд. Для обеспечения отказоустойчивости на уровне дата-центра используется механизм «активный-активный» (Active-Active), при котором несколько кластеров в разных географических регионах работают одновременно, синхронизируя данные через конфликт-разрешающие алгоритмы (CRDT — Conflict-free Replicated Data Types).

Модульность и расширяемость

Redis Enterprise поддерживает установку модулей, которые добавляют новые типы данных и команды. Основные модули:

  • RedisJSON — хранение и обработка JSON-документов.
  • RediSearchполнотекстовый поиск с поддержкой индексации, фильтрации и агрегации.
  • RedisGraph — графовая база данных, основанная на модели Property Graph.
  • RedisTimeSeriesработа с временными рядами (агрегация, сжатие, запросы по временным диапазонам).
  • RedisBloom — вероятностные структуры данных (фильтры Блума, кумулятивные счётчики).

Безопасность

Платформа включает встроенные средства защиты:

Развёртывание и управление

Способы установки

Redis Enterprise может быть развёрнут:

  • На физических серверах или виртуальных машинах — через установочные пакеты для Linux (RHEL, CentOS, Ubuntu, Debian).
  • В контейнерах — с использованием Docker и Kubernetes (через оператор Redis Enterprise Operator).
  • В облаке — как управляемый сервис (Redis Enterprise Cloud) через AWS, Azure, GCP или собственные облачные платформы.

Управление через интерфейсы

Администрирование осуществляется через:

  • Веб-консоль (Redis Enterprise Admin Console) — графический интерфейс для мониторинга, настройки и управления кластером.
  • REST API — программный доступ для автоматизации.
  • CLI — командная строка (rladmin, redis-cli).
  • Интеграция с системами мониторинга — Prometheus, Grafana, Datadog, New Relic.

Применение

Кэширование и сессии

Redis Enterprise используется как высокопроизводительный кэш для ускорения работы веб-приложений, API и баз данных. Благодаря поддержке TTL (time-to-live) и автоматической очистки устаревших данных, платформа эффективно управляет кэшированием сессий пользователей, результатов запросов и статических данных.

Очереди сообщений и стриминг

С помощью структур данных Redis (списки, множества, потоки) Enterprise реализует функциональность очередей сообщений (например, для задач фоновой обработки) и стриминговых платформ (аналог Apache Kafka). Поддерживается паттерн «публикация-подписка» (Pub/Sub).

Аналитика в реальном времени

Модуль RedisTimeSeries позволяет собирать, агрегировать и анализировать временные ряды (метрики IoT, финансовые котировки, логи серверов) с задержкой менее миллисекунды. RediSearch обеспечивает полнотекстовый поиск по миллионам документов за доли секунды.

Графовые базы данных

RedisGraph используется для задач, связанных с анализом связей: социальные сети, рекомендательные системы, обнаружение мошенничества, управление сетями.

Сравнение с открытой версией Redis

ХарактеристикаRedis (открытая версия)Redis Enterprise
ЛицензияBSD (до 2024), SSPL (с 2024)SSPL
КластеризацияRedis Cluster (децентрализованный)Прокси-слой, автоматическое шардирование
РепликацияАсинхронная, ручное переключениеСинхронная/асинхронная, автоматическое переключение
МодулиТолько открытые (RedisJSON, RediSearch)Все модули, включая коммерческие
Active-ActiveНетДа (CRDT)
УправлениеКомандная строка, сторонние инструментыВеб-консоль, REST API, Kubernetes
ПоддержкаСообществоКоммерческая (24/7)

Критика и ограничения

Лицензионные споры

Переход Redis Enterprise и открытой версии Redis под лицензию SSPL вызвал негативную реакцию в сообществе разработчиков. Критики утверждают, что SSPL фактически запрещает использование продукта в облачных сервисах, конкурирующих с Redis Ltd. Это привело к созданию форка Valkey, который остаётся под лицензией BSD. Некоторые компании (например, Amazon Web Services) объявили о поддержке Valkey вместо Redis.

Сложность настройки

Несмотря на наличие веб-консоли, развёртывание и администрирование Redis Enterprise в крупных кластерах требует высокой квалификации администраторов. Настройка Active-Active, модулей и политик безопасности может быть нетривиальной.

Зависимость от оперативной памяти

Как и оригинальный Redis, Enterprise хранит данные преимущественно в оперативной памяти, что делает его дорогим для хранения больших объёмов данных (более нескольких сотен гигабайт). Хотя платформа поддерживает выгрузку на диск (RDB/AOF), это не решает проблему стоимости RAM.

Ограниченная поддержка SQL

Redis Enterprise не поддерживает SQL в полном объёме. Для запросов к данным используется собственный язык команд (Redis commands) или специализированные модули (RediSearch с синтаксисом, напоминающим SQL). Это может быть неудобно для разработчиков, привыкших к реляционным базам данных.

Интересные факты

  • Redis Enterprise используется в производственных средах крупных компаний, включая Twitter, Uber, Pinterest, Snapchat, Microsoft, Adobe, SAP, Dell, Verizon, Walmart, и многих других.
  • В 2020 году Redis Labs привлекла инвестиции на сумму 100 миллионов долларов США, а в 2021 году — ещё 110 миллионов, что оценило компанию в более чем 2 миллиарда долларов.
  • Платформа поддерживает работу с данными, объём которых превышает 1 терабайт в оперативной памяти, за счёт использования технологии Flash on RAM (сочетание RAM и SSD).
  • В 2022 году Redis Enterprise получил сертификацию FedRAMP (Federal Risk and Authorization Management Program) для использования в государственных учреждениях США.

Источники

  • Официальная документация Redis Enterprise (Redis Ltd.)
  • Статья «Redis Enterprise: A Comprehensive Guide» (Redis Labs Blog, 2023)
  • Материалы конференции RedisConf 2022, 2023
  • Статья «Redis vs Redis Enterprise: A Detailed Comparison» (DB-Engines, 2024)
  • Публикация «The Rise of Valkey: A Fork of Redis» (The New Stack, 2024)
  • Отчёт Gartner «Magic Quadrant for Operational Database Management Systems» (2023)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →