Выпуск СУБД Redis 7.0
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Опубликован релиз СУБД Redis 7.0, относящейся к классу NoSQL-систем. Redis предоставляет функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. Код проекта поставляется под лицензией BSD. Дополнительные модули, в которых предлагаются расширенные возможности для корпоративных пользователей, такие как RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, с 2019 года поставляются под проприетарной лицензией RSAL. Развитие открытых вариантов данных модулей под лицензией AGPLv3 пытался продолжить проект GoodFORM, который последнее время находится в стагнации.
В отличие от систем хранения в оперативной памяти, таких как Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl. Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти.
Для управления данными предоставляются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке.
Ключевые изменения в Redis 7.0:
- Добавлена поддержка функций, выполняемых на стороне сервера. В отличие от ранее поддерживаемых скриптов на языке Lua, функции не привязаны к приложению и нацелены реализацию дополнительной логики, расширяющей возможности сервера. Функции обрабатываются неразрывно с данными и в привязке к БД, а не к приложению, в том числе реплицируются и сохраняются в постоянном хранилище.
- Предложена вторая редакция ACL, позволяющая управлять доступом к данным на основе ключей и допускающая определение разных наборов правил доступа к командам с возможностью привязки нескольких селекторов (наборов полномочий) к каждому пользователю. Каждый ключ может быть отождествлён с определённым полномочиями, например, можно ограничить доступ только чтением или записью определённого подмножества ключей.
- Предоставлена работающая в кластере секционированная (sharded) реализация парадигмы распространения сообщений по подписке (Publish-Subscribe), при которой сообщение отправляется определённому узлу, к которому привязан канал сообщений, после чего это сообщение перенаправляется остальным узлам, входящим в секцию (shard). Клиенты могут получать сообщения по подписке на канал, как подключаясь к основному узлу, так и ко вторичным узлам секции. Управление производится при помощи команд SSUBSCRIBE, SUNSUBSCRIBE и SPUBLISH.
- Добавлена поддержка обработки подкоманд в большинстве контекстов.
- Добавлены новые команды:
- ZMPOP, BZMPOP.
- LMPOP, BLMPOP.
- SINTERCARD, ZINTERCARD.
- SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
- EXPIRETIME, PEXPIRETIME .
- EVAL_RO, EVALSHA_RO, SORT_RO.
- FUNCTION *, FCALL, FCALL_RO.
- COMMAND DOCS, COMMAND LIST.
- LATENCY HISTOGRAM.
- CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
- CLIENT NO-EVICT.
- ACL DRYRUN.
- Предоставлена возможность обработки сразу нескольких конфигураций в одном вызове CONFIG SET/GET.
- В утилиту redis-cli добавлены опции "--json", "-2", "--scan", "--functions-rdb".
- Клиентам по умолчанию отключён доступ к настройкам и командам, влияющим на безопасность (например, отключены команды DEBUG и MODULE, запрещено изменение конфигураций с флагом PROTECTED_CONFIG). В redis-cli прекращён вывод в файл с историей команд, содержащих конфиденциальные данные.
- Внесена большая порция оптимизаций, нацеленных на повышение производительности и снижение потребления памяти. Например, существенно снижено потребление памяти при включении режима кластера, при выполнении операций copy-on-write и при работе с хэшами и ключами zset. Улучшена логика сброса данных на диск (вызова fsync). Сокращено число сетевых пакетов и обращений к системным вызовам при отправке ответов клиенту. Повышена эффективность репликации.
- Устранена уязвимость CVE-2022-24735 в окружении для исполнения Lua-скриптов, позволяющая осуществить подстановку своего Lua-кода и добиться его выполнения в контексте другого пользователя, в том числе имеющего более высокие привилегии.
Дополнительно можно отметить уязвимость (CVE-2022-0543) в пакетах с Redis для Ubuntu и Debian (проблема специфична для отдельных сборок и не связана самим Redis), позволяющую выполнить произвольный код на языке Lua на удалённом сервере и обойти механизм sandbox-изоляции окружения для выполнения скриптов в Redis.
- Устранена уязвимость CVE-2022-24736, позволяющая добиться аварийного завершения процесса redis-server из-за разыменования нулевого указателя. Атака совершается через загрузку специально оформленных Lua-скриптов.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://github.com/redis/redis...)
- OpenNews: Выпуск СУБД Redis 6.0
- OpenNews: Создатель СУБД Redis передал сопровождение проекта сообществу
- OpenNews: Обновление СУБД Redis 6.2.6, 6.0.16 и 5.0.14 с устранением 8 уязвимостей
- OpenNews: Компания Redis Labs перевела модули с Commons Clause на собственную несвободную лицензию
- OpenNews: Изменение лицензионной политики проекта Redis
Похожие новости:
- Проект MangoDB развивает реализацию протокола СУБД MongoDB поверх PostgreSQL
- Обновление СУБД Redis 6.2.6, 6.0.16 и 5.0.14 с устранением 8 уязвимостей
- Доступна СУБД Apache Cassandra 4.0
- [Развитие стартапа, Облачные сервисы, Serverless] Firebase чуть не погубила мой стартап (перевод)
- [PHP] Отказоустойчивая работа с Redis
- [Поисковые технологии, Программирование, NoSQL, Администрирование баз данных] Знакомство с ArangoDB
- [Настройка Linux, Open source, Виртуализация, Визуализация данных] Визуализация данных производительности в RHEL 8
- [Разработка веб-сайтов, Хранилища данных] Основы понимания мира баз данных
- [Разработка веб-сайтов, NoSQL, ReactJS, Serverless] You don't know Redis
- [NoSQL, Администрирование баз данных, Apache, Big Data] Stargate: что это, как работает и зачем использовать
Теги для поиска: #_redis, #_nosql
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:34
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Опубликован релиз СУБД Redis 7.0, относящейся к классу NoSQL-систем. Redis предоставляет функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. Код проекта поставляется под лицензией BSD. Дополнительные модули, в которых предлагаются расширенные возможности для корпоративных пользователей, такие как RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, с 2019 года поставляются под проприетарной лицензией RSAL. Развитие открытых вариантов данных модулей под лицензией AGPLv3 пытался продолжить проект GoodFORM, который последнее время находится в стагнации. В отличие от систем хранения в оперативной памяти, таких как Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl. Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объёме кэшируются в оперативной памяти. Для управления данными предоставляются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создаётся канал, сообщения из которого распространяются клиентам по подписке. Ключевые изменения в Redis 7.0:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:34
Часовой пояс: UTC + 5