Написать пост

Вышла система управления базами данных Redis 5

Аватар Сергей Штукатуров

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

Обложка поста Вышла система управления базами данных Redis 5

Разработчики объявили о выходе нереляционной СУБД Redis 5. Redis — сетевое журналируемое хранилище данных типа «ключ — значение». ПО распространяется по лицензии BSD. Скачать СУБД можно с официального сайта redis.io.

Новый тип данных в Redis 5

Создатели добавили в продукт поддержку данных типа Stream. Stream представляет собой пополняемый лог с возможностью удаления произвольных элементов. Пользователь может ограничить размер журнала. В таком случае при превышении размера лога данные будут удаляться по принципу FIFO. В Stream реализована возможность произвольных выборок данных.

Разработчики Redis 5 предупреждают, что закончили работу над нововведением за несколько часов до релиза, и при использовании Stream возможны критические ошибки. Создатели СУБД просят пользователей помочь улучшить инструмент, присылая отчёты об ошибках. Вскоре выйдет версия 5.0.1, в которой будут исправлены многие обнаруженные баги.

Переход с версии 4 на 5 будет, по заверениям разработчиков, не таким болезненным, как с 3.2 на 4. Внутренняя логика системы изменилась не так значительно, и пользователям будет просто с ней освоиться.

Улучшения и изменения

В Redis 5 реализовали вторую версию активной дефрагментации памяти и расширили отчёты о её состоянии. Активная дефрагментация для работы требует использования системы распределения памяти Jemalloc, которую в этой версии ПО обновили до версии 5.1.

Многие команды и субкоманды получили возможность вызова справки с помощью субкоманды HELP. К модулям Timers, Cluster и Dictionary теперь можно обращаться с помощью API. Расширены границы применения языка Lua: скрипты получили больше возможностей в режиме slave, например, могут приостанавливать работу, транслируя состояние -BUSY.

Борьба с рабством

Следуя современной тенденции, создатели СУБД начали работу по удалению слова «slave» из языка системы. Вместо него используется термин «replica». Однако для сохранения совместимости приходится оставлять поддержку старых команд. Так, команда «SLAVEOF» переименована в «REPLICAOF», но поддержка старой команды в Redis 5 сохранена. В некоторых ключевых узлах системы замена оказалась невозможна, так как требует фундаментальной перестройки логики, но разработчики планируют в будущем реализовать такие изменения.

Замена слова «slave» в реализациях различных систем обработки информации — следствие кампании, проводимой выступающими за политкорректность активистами. Гвидо ван Россум, создатель Python, объявил, что такое изменение будет реализовано в версии 3.8 этого языка. Разработчик Redis Сальвадор Санфилиппо не считает замену оправданной, но вынужден пойти на уступки.

Следите за новыми постами
Следите за новыми постами по любимым темам
3К открытий3К показов