The rise of distributed applications and cloud computing has created a demand for scalable, high-performance key-value storage systems. This paper presents a performance evaluation of three prominent NoSQL key-value stores: Redis, Aerospike, and Dragonfly, using the Yahoo! Cloud Serving Benchmark (YCSB) framework. We conducted extensive experiments across three distinct workload patterns (read-heavy, write-heavy), and balanced while systematically varying client concurrency from 1 to 32 clients. Our evaluation methodology captures both latency, throughput, and memory characteristics under realistic operational conditions, providing insights into the performance trade-offs and scalability behaviour of each system
- ID статьи: 2510.08863
- Название: Comparative Performance Analysis of Modern NoSQL Data Technologies: Redis, Aerospike, and Dragonfly
- Авторы: Deep Bodra (Harrisburg University of Science and Technology), Sushil Khairnar (Virginia Tech)
- Классификация: cs.DB cs.DC
- Журнал публикации: Journal of Research, Innovation and Technologies, Volume IV, Issue 2(8), 2025
- Ссылка на статью: https://doi.org/10.57017/jorit.v4.2(8).05
С развитием распределённых приложений и облачных вычислений растёт спрос на масштабируемые высокопроизводительные системы хранилищ типа ключ-значение. В данной работе проведена оценка производительности трёх основных систем хранилищ NoSQL типа ключ-значение с использованием фреймворка Yahoo! Cloud Serving Benchmark (YCSB): Redis, Aerospike и Dragonfly. Исследование включало обширные эксперименты при трёх различных паттернах рабочей нагрузки (интенсивное чтение, интенсивная запись и сбалансированная нагрузка) с систематическим варьированием количества одновременных клиентов от 1 до 32. Методология оценки фиксировала характеристики задержки, пропускной способности и памяти в условиях реальной эксплуатации, обеспечивая глубокое понимание компромиссов производительности и поведения масштабируемости каждой системы.
- Вызовы современных приложений: Современная цифровая среда предполагает массовое создание и использование данных, быстрое развитие веб-приложений, мобильных технологий и устройств IoT создаёт новые требования к системам баз данных
- Ограничения традиционных баз данных: Традиционные системы управления реляционными базами данных, несмотря на свою мощность, испытывают трудности в удовлетворении требований современных приложений к производительности и масштабируемости, особенно для приложений, требующих ответов в миллисекундах и обработки миллионов операций в секунду
- Возникновение баз данных NoSQL: Базы данных NoSQL, в частности хранилища типа ключ-значение, преодолевают эти вызовы, делая упор на производительность и масштабируемость
- Практическая ценность: Предоставляет практическое руководство архитекторам систем при выборе подходящего решения для хранилища типа ключ-значение
- Академическая ценность: Заполняет пробел в систематическом сравнительном анализе систем Redis, Aerospike и Dragonfly
- Техническая ценность: Раскрывает характеристики производительности каждой системы посредством систематической оценки при различных паттернах рабочей нагрузки и уровнях параллелизма
Несмотря на широкое использование этих систем, отсутствуют комплексные сравнительные исследования, систематически оценивающие характеристики производительности при различных паттернах рабочей нагрузки и уровнях параллелизма.
- Комплексное сравнение производительности: Предоставляет полный анализ производительности, включающий метрики задержки и пропускной способности
- Анализ характеристик потребления памяти: Глубокое исследование паттернов использования памяти и эффективности трёх систем
- Оценка при множественных рабочих нагрузках: Систематическая оценка при трёх типах рабочей нагрузки: интенсивное чтение, интенсивная запись и сбалансированная нагрузка
- Анализ масштабируемости: Выявление характеристик расширения каждой системы посредством тестирования с 1-32 одновременными клиентами
- Практическое руководство: Предоставляет практические рекомендации архитекторам систем при выборе подходящего решения для хранилища типа ключ-значение
Redis:
- Открытое хранилище структур данных в памяти, разработано в 2009 году
- Однопоточная архитектура, исключающая сложные механизмы блокировки, но ограничивающая масштабируемость многоядерных систем
- Поддерживает множество структур данных: строки, хеши, списки, множества, отсортированные множества и др.
- Обеспечивает персистентность через периодические снимки состояния или файлы только для добавления
Aerospike:
- Распределённая база данных NoSQL, основана в 2009 году
- Гибридная архитектура памяти: DRAM для хранения индексов, SSD для хранения данных
- Архитектура без общего состояния, каждый узел работает независимо
- Обеспечивает строгую согласованность и автоматический переход при отказе
Dragonfly:
- Хранилище данных в памяти, выпущено в 2022 году, как прямая замена Redis
- Многопоточная архитектура без общего состояния, может использовать несколько ядер CPU
- Совместимо с протоколом Redis
- Реализует сложное управление памятью и неблокирующие структуры данных
Аппаратное окружение:
- Система: Mac OS с процессором Apple M3 Pro
- Конфигурация: 12 ядер, 36 ГБ ОЗУ, macOS Sequoia
- Развёртывание: использование контейнеров Docker для обеспечения согласованности и изоляции окружения
Фреймворк тестирования:
- Использование Yahoo! Cloud Serving Benchmark (YCSB)
- Двухэтапный подход: этап загрузки заполняет начальные данные, этап выполнения осуществляет операции тестирования
- Уровни параллелизма: 1, 2, 4, 8, 16, 32 одновременных клиента
- Распределение выбора ключей: распределение Zipfian, моделирующее реальные неравномерные паттерны доступа
Рабочая нагрузка с интенсивным чтением:
- 95% операций чтения, 5% операций обновления
- 1 КБ данных на запись (10 полей, по 100 байт каждое)
- Загрузка 1 474 560 записей
- Моделирует сценарии кеширования, системы распределения контента и др.
Сбалансированная рабочая нагрузка:
- 50% операций чтения, 50% операций обновления
- Аналогичная структура записей в 1 КБ
- Представляет смешанные паттерны доступа социальных сетей, совместных приложений и др.
Рабочая нагрузка с интенсивной записью:
- 10% операций чтения, 90% операций вставки
- Данные временных рядов, 64 поля, по 8 символов в каждом
- Этап выполнения осуществляет 2 949 120 операций вставки
- Моделирует сценарии приложений IoT, систем мониторинга и др. с высокой пропускной способностью приёма данных
Aerospike показывает лучший результат:
- Задержка P99: 436 мс (один клиент) до 2 979 мс (32 клиента)
- Пропускная способность: 3 348 ops/s до 32 592 ops/s
- Преимущество производительности обусловлено гибридной архитектурой памяти и архитектурой без общего состояния
Redis показывает среднюю производительность:
- Задержка P99: 862 мс до 4 447 мс
- Пропускная способность: 1 656 до 17 158 ops/s
- Однопоточная архитектура становится узким местом при высоком параллелизме
Dragonfly имеет наибольшую задержку:
- Задержка P99: 1 137 мс до 4 883 мс
- Пропускная способность: 1 371 до 16 328 ops/s
- Накладные расходы многопоточной координации нивелируют преимущества параллельной обработки
Иерархия производительности остаётся согласованной:
- Aerospike: задержка P99 441-2 409 мс, пропускная способность 3 372-33 741 ops/s
- Redis: задержка P99 874-4 017 мс, пропускная способность 1 664-17 004 ops/s
- Dragonfly: задержка P99 1 187-4 631 мс, пропускная способность 1 278-16 497 ops/s
Все системы показывают лучшую производительность:
- Aerospike: задержка P99 410-2 233 мс, пропускная способность 3 562-34 896 ops/s
- Redis: задержка P99 808-3 547 мс, пропускная способность 1 757-17 170 ops/s
- Dragonfly: задержка P99 1 124-3 859 мс, пропускная способность 1 331-16 925 ops/s
| Система | До запуска (МБ) | После запуска (МБ) | Кратность роста |
|---|
| Redis | 36,32 | 2610 | 72x |
| Aerospike | 232,1 | 772,3 | 3,3x |
| Dragonfly | 58,98 | 2350 | 40x |
Ключевые выводы:
- Aerospike имеет наибольшую эффективность использования памяти благодаря гибридной модели хранения
- Redis имеет наибольшие накладные расходы памяти, отражая ограничения одноузлового хранения в памяти
- Dragonfly занимает промежуточное положение, многопоточные структуры координации создают дополнительные накладные расходы
Характеристики расширения пропускной способности:
- Aerospike: почти линейное расширение, увеличение в 9-10 раз
- Redis: увеличение в 10-11 раз, но рост задержки более значительный
- Dragonfly: увеличение в 12-13 раз, но базовая производительность ниже
Статья ссылается на множество соответствующих исследований:
- Фреймворки тестирования: Фреймворк YCSB Cooper et al. (2010) заложил основу для тестирования облачных сервисных систем
- Сравнительные исследования NoSQL: Эмпирическое сравнение хранилищ типа ключ-значение Anthony & Rao
- Исследования конкретных систем: Исследование Aerospike Volminger (2021), анализ Redis Charan et al.
- Последние разработки: Оценка NoSQL для рабочих нагрузок OLAP Mohan et al. (2024)
- Aerospike лидирует в целом: Показывает лучшую производительность при всех рабочих нагрузках и уровнях параллелизма, обладает лучшей масштабируемостью пропускной способности и относительно низкой задержкой
- Redis стабилен и надёжен: Показывает стабильную и предсказуемую производительность при всех паттернах рабочей нагрузки, но ограничен однопоточной архитектурой
- Dragonfly имеет потенциал и вызовы: Несмотря на современный дизайн, показывает плохую производительность по задержке, демонстрирует потенциал в сценариях с интенсивной записью
- Рабочая нагрузка оказывает значительное влияние: Все базы данных показывают лучшую производительность при условиях интенсивной записи
- Максимальные требования к производительности: Выбирайте Aerospike
- Приоритет операционной простоты: Redis достаточен для удовлетворения требований
- Требования совместимости с Redis: Dragonfly является интересным вариантом, но требует тщательной оценки для приложений, чувствительных к задержке
- Однопроцессорная тестовая среда: Все тесты проводились на одной машине, не полностью отражая преимущества распределённых систем
- Ограниченные сетевые условия: Не учитывается влияние сетевой задержки и разделения на производительность
- Единственное распределение данных: Используется только распределение Zipfian, реальные приложения могут иметь различные паттерны
- Отсутствие режима кластера: Не тестировались реальные сценарии распределённого развёртывания
- Тестирование в производственной среде: Оценка производительности систем в реальных производственных условиях
- Распределённые сценарии: Тестирование истинной распределённой масштабируемости в режиме кластера
- Исследование моделей согласованности: Влияние теоремы CAP на проектирование каждой системы
- Механизмы отказоустойчивости: Оценка механизмов толерантности к отказам при сбое узлов
- Репликация между центрами обработки данных: Согласованность данных и задержка репликации при разделении сети
- Строгая методология: Использование стандартного фреймворка YCSB обеспечивает справедливое сравнение
- Комплексные эксперименты: Охватывают множество рабочих нагрузок и уровней параллелизма
- Глубокий анализ: Не только предоставляет данные производительности, но и глубоко анализирует архитектурные причины
- Высокая практическая ценность: Предоставляет чёткие рекомендации для выбора реальных систем
- Ясное изложение: Логичная структура, точное техническое описание
- Ограничения окружения: Однопроцессорная среда Docker не может полностью продемонстрировать преимущества распределённых систем
- Единственная конфигурация: Не тестировалось влияние различных параметров конфигурации на производительность
- Отсутствие оценки персистентности: Отсутствует подробная оценка влияния механизмов персистентности на производительность
- Отсутствие анализа затрат: Не учитываются аппаратные затраты и сложность эксплуатации
- Долгосрочная стабильность: Отсутствуют тесты стабильности при длительном времени работы
- Академическая ценность: Предоставляет систематический метод для исследования производительности баз данных NoSQL
- Практическая ценность: Служит справочником для промышленности при выборе подходящей системы хранилища типа ключ-значение
- Вклад методологии: Демонстрирует, как систематически сравнивать производительность систем NoSQL
- Воспроизводимость: Подробное описание экспериментальной установки облегчает воспроизведение и расширение
- Выбор системы: Служит справочником для проектов, требующих выбора системы хранилища типа ключ-значение
- Оптимизация производительности: Предоставляет базовые показатели для оптимизации производительности существующих систем
- Проектирование архитектуры: Служит основой для проектирования архитектуры крупномасштабных распределённых систем
- Академические исследования: Предоставляет базовые данные и методологические справочники для исследований в соответствующих областях
Статья ссылается на множество важных источников, включая:
- Cooper, B.F. et al. (2010). Benchmarking cloud serving systems with YCSB
- Anthony, A., & Rao, Y. N. M. Memcached, Redis, and Aerospike Key-Value Stores Empirical Comparison
- Mohan, R. K. et al. (2024). Evaluating NoSQL Databases for OLAP Workloads
- А также официальную документацию и технические материалы систем баз данных
Данная статья вносит ценный вклад в область оценки производительности баз данных NoSQL. Посредством систематического проектирования экспериментов и глубокого анализа она предоставляет важный справочник для понимания характеристик производительности современных систем хранилищ типа ключ-значение и выбора подходящего технологического решения.