Проект Dragonfly развивает более быструю замену Redis и Memcached
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Доступен первый выпуск системы кэширования данных в оперативной памят Dragonfly, обеспечивающей поддержку протоколов Memcached и Redis, но позволяющей выполнять запросы с гораздо более высокой производительностью и с меньшим потреблением памяти. Система манипулирует данными в формате ключ/значение и может применяться как легковесное решение для ускорения работы высоконагруженных сайтов, кэширующие медленные запросы к СУБД и промежуточные данные в оперативной памяти. Код Dragonfly написан на языках C/С++ и распространяется под лицензией BSL (Business Source License).
Лицензия BSL была предложена сооснователями MySQL в качестве альтернативы модели Open Core. Суть BSL в том, что код расширенной функциональности изначально доступен для внесения изменений, но в течение какого-то времени может применяться бесплатно только при соблюдении дополнительных условий, для обхода которых требуется приобретение коммерческой лицензии. Дополнительные лицензионные условия проекта Dragonfly предписывают перевод кода на лицензию Apache 2.0 лишь 1 июня 2027 года. До этого времени лицензия разрешает использование кода только для обеспечения работы своих сервисов и продуктов, но запрещает применение для создания платных облачных сервисов, выступающих надстройкой над Dragonfly.
По заявлению разработчиков и продемонстрированным тестам Dragonfly претендует на звание самой быстрой системы хранения в памяти. По сравнению с Redis в Dragonfly при типовых видах нагрузки удалось добиться 25-кратного увеличения производительности и трёхкратного снижения потребления памяти. Один сервер Dragonfly может обрабатывать миллионы запросов в секунду, например, в окружении Amazon EC2 c6gn.16xlarge удалось достичь производительности в 3.8 млн запросов в секунду.
В тестах на хранение 5 ГБ данных Dragonfly потребовал на 30% меньше памяти, чем Redis. Во время создания снапшотов командой "bgsave" потребление памяти возрастает, но в пиковые моменты оно остаётся почти в три раза меньше, чем в Redis, а сама операция записи снапшота выполняется значительно быстрее (в тесте снапшот в Dragonfly был записан за 30 секунд, а Redis - за 42 секунды).
Высокая производительность достигается благодаря многопоточной архитектуре без разделения ресурсов (shared-nothing), подразумевающей, что к каждому потоку привязывается отдельный обособленный обработчик со своей порцией данных, работающий без мьютексов и spin-блокировок. Для обеспечения атомарности при работе с несколькими ключами используются легковесные блокировки VLL. Для эффективного хранения информации в памяти применяется структура
dashtable, реализующая разновидность секционированных хэш-таблиц.
Из возможностей, доступных в первом выпуске отмечается поддержка протокола RESP2 и 130 команд Redis, что примерно соответствует функциональности выпуска Redis 2.8. Кроме того, Dragonfly поддерживает все команды memcached, кроме CAS (check and set), предоставляет поддержку асинхронных операций для создания снапшотов, обеспечивает предсказуемое потребление памяти, предоставляет встроенный интерпретатор Lua 5.4 и поддерживает сложные типы данных, такие как хэши, множества и списки (ZSET, HSET, LIST, SETS и STRING).
Отдельно доступен режим кэширования, при котором автоматически обеспечивается вытеснение старых данных новыми после исчерпания свободной памяти. Возможна привязка к данным времени жизни, в течение которого данные считаются актуальными. Состояние хранилища может сбрасываться на диск в фоновом режиме для последующего восстановления после перезапуска. Для управления системой предоставляется HTTP-консоль (привязывается к TCP-порту 6379) и API для отдачи метрик, совместимый с Prometheus. В следующих версиях планируется расширить поддержку команд Redis и реализовать возможность репликации хранилища для обеспечения отказоустойчивости и балансировки нагрузки.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://news.ycombinator.com/i...)
- OpenNews: Выпуск СУБД Redis 7.0
- OpenNews: Создатель СУБД Redis передал сопровождение проекта сообществу
- OpenNews: Компания Redis Labs перевела модули с Commons Clause на собственную несвободную лицензию
- OpenNews: Выпуск rqlite 7.0, распределённой отказоустойчивой СУБД на основе SQLite
- OpenNews: Релиз Memcached 1.6.0 с включением поддержки внешнего хранилища
Похожие новости:
- Выпуск СУБД Redis 7.0
- Релиз операционной системы DragonFly BSD 6.2
- Обновление СУБД Redis 6.2.6, 6.0.16 и 5.0.14 с устранением 8 уязвимостей
- [PHP] Отказоустойчивая работа с Redis
- [Настройка Linux, Open source, Виртуализация, Визуализация данных] Визуализация данных производительности в RHEL 8
- [Разработка веб-сайтов, NoSQL, ReactJS, Serverless] You don't know Redis
- [Программирование, Java, Промышленное программирование, Тестирование веб-сервисов] Как подружить Redis Cluster c Testcontainers?
- [Open source, PostgreSQL, NoSQL, Администрирование баз данных] А нужен ли Redis или хватит PostgreSQL (перевод)
- [Open source, NoSQL, Администрирование баз данных] Как ухаживать за грядкой Redis'а и как сохранить урожай?
- [IT-инфраструктура, Cisco, Сетевые технологии] BGP redistribute-internal: ещё один рецепт петли маршрутизации (перевод)
Теги для поиска: #_dragonfly, #_memcached, #_redis
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:30
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Доступен первый выпуск системы кэширования данных в оперативной памят Dragonfly, обеспечивающей поддержку протоколов Memcached и Redis, но позволяющей выполнять запросы с гораздо более высокой производительностью и с меньшим потреблением памяти. Система манипулирует данными в формате ключ/значение и может применяться как легковесное решение для ускорения работы высоконагруженных сайтов, кэширующие медленные запросы к СУБД и промежуточные данные в оперативной памяти. Код Dragonfly написан на языках C/С++ и распространяется под лицензией BSL (Business Source License). Лицензия BSL была предложена сооснователями MySQL в качестве альтернативы модели Open Core. Суть BSL в том, что код расширенной функциональности изначально доступен для внесения изменений, но в течение какого-то времени может применяться бесплатно только при соблюдении дополнительных условий, для обхода которых требуется приобретение коммерческой лицензии. Дополнительные лицензионные условия проекта Dragonfly предписывают перевод кода на лицензию Apache 2.0 лишь 1 июня 2027 года. До этого времени лицензия разрешает использование кода только для обеспечения работы своих сервисов и продуктов, но запрещает применение для создания платных облачных сервисов, выступающих надстройкой над Dragonfly. По заявлению разработчиков и продемонстрированным тестам Dragonfly претендует на звание самой быстрой системы хранения в памяти. По сравнению с Redis в Dragonfly при типовых видах нагрузки удалось добиться 25-кратного увеличения производительности и трёхкратного снижения потребления памяти. Один сервер Dragonfly может обрабатывать миллионы запросов в секунду, например, в окружении Amazon EC2 c6gn.16xlarge удалось достичь производительности в 3.8 млн запросов в секунду. В тестах на хранение 5 ГБ данных Dragonfly потребовал на 30% меньше памяти, чем Redis. Во время создания снапшотов командой "bgsave" потребление памяти возрастает, но в пиковые моменты оно остаётся почти в три раза меньше, чем в Redis, а сама операция записи снапшота выполняется значительно быстрее (в тесте снапшот в Dragonfly был записан за 30 секунд, а Redis - за 42 секунды). Высокая производительность достигается благодаря многопоточной архитектуре без разделения ресурсов (shared-nothing), подразумевающей, что к каждому потоку привязывается отдельный обособленный обработчик со своей порцией данных, работающий без мьютексов и spin-блокировок. Для обеспечения атомарности при работе с несколькими ключами используются легковесные блокировки VLL. Для эффективного хранения информации в памяти применяется структура dashtable, реализующая разновидность секционированных хэш-таблиц. Из возможностей, доступных в первом выпуске отмечается поддержка протокола RESP2 и 130 команд Redis, что примерно соответствует функциональности выпуска Redis 2.8. Кроме того, Dragonfly поддерживает все команды memcached, кроме CAS (check and set), предоставляет поддержку асинхронных операций для создания снапшотов, обеспечивает предсказуемое потребление памяти, предоставляет встроенный интерпретатор Lua 5.4 и поддерживает сложные типы данных, такие как хэши, множества и списки (ZSET, HSET, LIST, SETS и STRING). Отдельно доступен режим кэширования, при котором автоматически обеспечивается вытеснение старых данных новыми после исчерпания свободной памяти. Возможна привязка к данным времени жизни, в течение которого данные считаются актуальными. Состояние хранилища может сбрасываться на диск в фоновом режиме для последующего восстановления после перезапуска. Для управления системой предоставляется HTTP-консоль (привязывается к TCP-порту 6379) и API для отдачи метрик, совместимый с Prometheus. В следующих версиях планируется расширить поддержку команд Redis и реализовать возможность репликации хранилища для обеспечения отказоустойчивости и балансировки нагрузки. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:30
Часовой пояс: UTC + 5