Разработка ПО и Backend систем.

Похождения Redis’a

Год назад Redis решил сменить лицензию в рамках своей войны с облачными провайдерами, которые предоставляют managed service. Мол «не хорошо, что ребята пользуются плодами open source, зарабатывают деньги, а своими доработками(а провайдеры допиливают технологию, чтобы продавать получше) не делятся. Хотя, насколько мне известно, всеми любимый Яндекс таки контрибьютил в Redis.

И как-то так сложилось, что „картельный сговор“, состоящий из Amazon, Google Cloud, Oracle, а эти ребята далеко не последние по предоставлению облачных услуг, подсуетился и выпустил Valkey, в рамках которого планировалось дальнейшее развитие открытой кодовой базы редиски. Лицензия BSD, контроль проекта у Linux Foundation.

Сначала был просто форк, но осенью прошлого года вышел релиз Valkey 8.0, который решил:
1) пересмотреть подход к работе с потоками(да, редис не однопоточный в современных версиях, команды в один поток, но под сторонние активности потоки есть)
2) оптимизация хеш-таблиц — за счет предвыборки данных значения в бакете(хеш таблицы реализованы на методах закрытой адресации) и закидыванием их в кеш процессора(L1), избавились от последовательного чтения из оперативки. Может показаться, что экономят на спичках, но задержку сократили вдвое, звучит прекрасно.
3) починили репликацию — изменения на мастере, которые происходят, пока реплика оживает, теперь отправляются на реплику, а не хранятся на мастере.
4) немного память оптимизировали для словарей, но работает только при небольших размерах ключей.
5) докинули метрик — использование процессора, статистика по использованию ключей, метрики ввода/вывода по каждому слоту кластера. Теперь искать слоты с повышенной нагрузкой легче.

Хоть Redis и дал заднюю в 8 версии, сказав „цели и задачи специальной изменения лицензий достигли цели, вон эти халавщики выкинули свое детище в открытый мир, теперь мы вместе работаем на благо мира“ и Санфилиппо вернули, но телодвижения интересные, конечно.

Признавайтесь, была у кого паника в компании в прошлом году по этому поводу?