Начиная с выпуска 7.4 СУБД Redis переведена на использование лицензий RSALv2 (Redis Source Available License v2) и SSPLv1 (Server Side Public License v1), которые приводят к дискриминации отдельных категорий пользователей, что не позволяет считать их открытыми или свободными. По своим целям обе лицензии походят друг на друга, а отличия сводится к тому, что лицензия SSPL основана на копилефт лицензии AGPLv3, а лицензия RSAL основана на пермиссивной лицензии BSD. Лицензия RSAL позволяет использовать, изменять, распространять и интегрировать код в приложения, за исключением случаев, когда эти приложения является коммерческими или используются для предоставления управляемых платных сервисов). Лицензия SSPL дополнительно содержит требование поставки под той же лицензией не только кода самого приложения, но и исходных текстов всех компонентов, вовлечённых в предоставление облачного сервиса.
СУБД Valkey и Redis предоставляют функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. БД хранится в памяти и синхронизируется с версией на диске или отражается в логе изменений на диске, что гарантирует сохранность БД в случае аварийного завершения работы. Поддерживаются транзакции, режим «публикация/подписка», команды для инкремента/декремента, операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Возможна организация master-slave репликации на несколько серверов.
Выпуск Valkey 8.0 позиционируется как первый значительный релиз проекта. Среди изменений:
- Внесены оптимизации, обеспечивающие распределение нагрузки между доступными ядрами CPU и позволяющие потокам обработки ввода/вывода функционировать одновременно с основным потоком, что позволяет параллельно выполнять команды и операции ввода/вывода. Повышена эффективность обработки команд в пакетном режиме, например, добавлена поддержка упреждающего извлечения часто используемых данным для их оседания в процессорном кэше. При тестировании в окружении AWS r7g новая версия продемонстрировала способность обрабатывать до 1.2 млн. запросов в секунду, что в три раза больше, чем прошлый выпуск.
- Повышена масштабируемость и живучесть кластерных конфигураций. Добавлена поддержка автоматического переключения на запасные сервера в случае сбоя (Failover) для узлов с ещё незаполненными пустыми слотами шардинга. Обеспечена репликация данных о состоянии слотов (все команды «CLUSTER SETSLOT» теперь синхронно реплицируются перед выполнением на основном узле), что повышает живучесть кластера в случае выхода из строя основного узла. Добавлена возможность автоматического восстановления состояния слота миграции.
- Ускорена работа репликации, благодаря одновременной передаче дампов RDB (Redis Database Backup) и лога накопившихся изменений (backlog) в разных потоках. Проведённое тестирование показало сокращение задержек операций записи и снижение времени синхронизации до 50% при нагрузках с очень интенсивным потоком команд чтения. Значительно снижено потребление памяти на первичном узле.
- Добавлены новые метрики со статистикой в привязке к отдельным слотам и клиентам. Например, доступны метрики о клиентах, использующих механизм «публикация/подписка», задержках при обработке событий, трафике канала передачи команд, статистике о реорганизации хеш-таблиц памяти, а также числе ключей, трафике и нагрузке на CPU в привязке к слотам.
- Проведена оптимизация хранилища ключей, позволившая примерно на 10% сократить потребление памяти.
- Добавлена возможность работы в системах, в которых одновременно используется IPv4 и IPv6.
- Повышена эффективность работы механизма «публикация/подписка», при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.
- Добавлена экспериментальная поддержка работы поверх RDMA.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61885