2025-11-12T05:58:09.775127

Comparative Performance Analysis of Modern NoSQL Data Technologies: Redis, Aerospike, and Dragonfly

Bodra, Khairnar
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
academic

Сравнительный анализ производительности современных технологий NoSQL: Redis, Aerospike и Dragonfly

Основная информация

  • 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. Методология оценки фиксировала характеристики задержки, пропускной способности и памяти в условиях реальной эксплуатации, обеспечивая глубокое понимание компромиссов производительности и поведения масштабируемости каждой системы.

Исследовательский контекст и мотивация

Определение проблемы

  1. Вызовы современных приложений: Современная цифровая среда предполагает массовое создание и использование данных, быстрое развитие веб-приложений, мобильных технологий и устройств IoT создаёт новые требования к системам баз данных
  2. Ограничения традиционных баз данных: Традиционные системы управления реляционными базами данных, несмотря на свою мощность, испытывают трудности в удовлетворении требований современных приложений к производительности и масштабируемости, особенно для приложений, требующих ответов в миллисекундах и обработки миллионов операций в секунду
  3. Возникновение баз данных NoSQL: Базы данных NoSQL, в частности хранилища типа ключ-значение, преодолевают эти вызовы, делая упор на производительность и масштабируемость

Значимость исследования

  • Практическая ценность: Предоставляет практическое руководство архитекторам систем при выборе подходящего решения для хранилища типа ключ-значение
  • Академическая ценность: Заполняет пробел в систематическом сравнительном анализе систем Redis, Aerospike и Dragonfly
  • Техническая ценность: Раскрывает характеристики производительности каждой системы посредством систематической оценки при различных паттернах рабочей нагрузки и уровнях параллелизма

Ограничения существующих исследований

Несмотря на широкое использование этих систем, отсутствуют комплексные сравнительные исследования, систематически оценивающие характеристики производительности при различных паттернах рабочей нагрузки и уровнях параллелизма.

Основные вклады

  1. Комплексное сравнение производительности: Предоставляет полный анализ производительности, включающий метрики задержки и пропускной способности
  2. Анализ характеристик потребления памяти: Глубокое исследование паттернов использования памяти и эффективности трёх систем
  3. Оценка при множественных рабочих нагрузках: Систематическая оценка при трёх типах рабочей нагрузки: интенсивное чтение, интенсивная запись и сбалансированная нагрузка
  4. Анализ масштабируемости: Выявление характеристик расширения каждой системы посредством тестирования с 1-32 одновременными клиентами
  5. Практическое руководство: Предоставляет практические рекомендации архитекторам систем при выборе подходящего решения для хранилища типа ключ-значение

Подробное описание методологии

Обзор систем

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

Анализ потребления памяти

СистемаДо запуска (МБ)После запуска (МБ)Кратность роста
Redis36,32261072x
Aerospike232,1772,33,3x
Dragonfly58,98235040x

Ключевые выводы:

  • Aerospike имеет наибольшую эффективность использования памяти благодаря гибридной модели хранения
  • Redis имеет наибольшие накладные расходы памяти, отражая ограничения одноузлового хранения в памяти
  • Dragonfly занимает промежуточное положение, многопоточные структуры координации создают дополнительные накладные расходы

Анализ масштабируемости

Характеристики расширения пропускной способности:

  • Aerospike: почти линейное расширение, увеличение в 9-10 раз
  • Redis: увеличение в 10-11 раз, но рост задержки более значительный
  • Dragonfly: увеличение в 12-13 раз, но базовая производительность ниже

Связанные работы

Статья ссылается на множество соответствующих исследований:

  1. Фреймворки тестирования: Фреймворк YCSB Cooper et al. (2010) заложил основу для тестирования облачных сервисных систем
  2. Сравнительные исследования NoSQL: Эмпирическое сравнение хранилищ типа ключ-значение Anthony & Rao
  3. Исследования конкретных систем: Исследование Aerospike Volminger (2021), анализ Redis Charan et al.
  4. Последние разработки: Оценка NoSQL для рабочих нагрузок OLAP Mohan et al. (2024)

Выводы и обсуждение

Основные выводы

  1. Aerospike лидирует в целом: Показывает лучшую производительность при всех рабочих нагрузках и уровнях параллелизма, обладает лучшей масштабируемостью пропускной способности и относительно низкой задержкой
  2. Redis стабилен и надёжен: Показывает стабильную и предсказуемую производительность при всех паттернах рабочей нагрузки, но ограничен однопоточной архитектурой
  3. Dragonfly имеет потенциал и вызовы: Несмотря на современный дизайн, показывает плохую производительность по задержке, демонстрирует потенциал в сценариях с интенсивной записью
  4. Рабочая нагрузка оказывает значительное влияние: Все базы данных показывают лучшую производительность при условиях интенсивной записи

Практическое руководство

  • Максимальные требования к производительности: Выбирайте Aerospike
  • Приоритет операционной простоты: Redis достаточен для удовлетворения требований
  • Требования совместимости с Redis: Dragonfly является интересным вариантом, но требует тщательной оценки для приложений, чувствительных к задержке

Ограничения

  1. Однопроцессорная тестовая среда: Все тесты проводились на одной машине, не полностью отражая преимущества распределённых систем
  2. Ограниченные сетевые условия: Не учитывается влияние сетевой задержки и разделения на производительность
  3. Единственное распределение данных: Используется только распределение Zipfian, реальные приложения могут иметь различные паттерны
  4. Отсутствие режима кластера: Не тестировались реальные сценарии распределённого развёртывания

Направления будущих исследований

  1. Тестирование в производственной среде: Оценка производительности систем в реальных производственных условиях
  2. Распределённые сценарии: Тестирование истинной распределённой масштабируемости в режиме кластера
  3. Исследование моделей согласованности: Влияние теоремы CAP на проектирование каждой системы
  4. Механизмы отказоустойчивости: Оценка механизмов толерантности к отказам при сбое узлов
  5. Репликация между центрами обработки данных: Согласованность данных и задержка репликации при разделении сети

Глубокая оценка

Преимущества

  1. Строгая методология: Использование стандартного фреймворка YCSB обеспечивает справедливое сравнение
  2. Комплексные эксперименты: Охватывают множество рабочих нагрузок и уровней параллелизма
  3. Глубокий анализ: Не только предоставляет данные производительности, но и глубоко анализирует архитектурные причины
  4. Высокая практическая ценность: Предоставляет чёткие рекомендации для выбора реальных систем
  5. Ясное изложение: Логичная структура, точное техническое описание

Недостатки

  1. Ограничения окружения: Однопроцессорная среда Docker не может полностью продемонстрировать преимущества распределённых систем
  2. Единственная конфигурация: Не тестировалось влияние различных параметров конфигурации на производительность
  3. Отсутствие оценки персистентности: Отсутствует подробная оценка влияния механизмов персистентности на производительность
  4. Отсутствие анализа затрат: Не учитываются аппаратные затраты и сложность эксплуатации
  5. Долгосрочная стабильность: Отсутствуют тесты стабильности при длительном времени работы

Влияние

  1. Академическая ценность: Предоставляет систематический метод для исследования производительности баз данных NoSQL
  2. Практическая ценность: Служит справочником для промышленности при выборе подходящей системы хранилища типа ключ-значение
  3. Вклад методологии: Демонстрирует, как систематически сравнивать производительность систем NoSQL
  4. Воспроизводимость: Подробное описание экспериментальной установки облегчает воспроизведение и расширение

Применимые сценарии

  1. Выбор системы: Служит справочником для проектов, требующих выбора системы хранилища типа ключ-значение
  2. Оптимизация производительности: Предоставляет базовые показатели для оптимизации производительности существующих систем
  3. Проектирование архитектуры: Служит основой для проектирования архитектуры крупномасштабных распределённых систем
  4. Академические исследования: Предоставляет базовые данные и методологические справочники для исследований в соответствующих областях

Список литературы

Статья ссылается на множество важных источников, включая:

  • 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. Посредством систематического проектирования экспериментов и глубокого анализа она предоставляет важный справочник для понимания характеристик производительности современных систем хранилищ типа ключ-значение и выбора подходящего технологического решения.