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- 논문 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
분산 애플리케이션과 클라우드 컴퓨팅의 부상으로 확장 가능하고 고성능의 키-값 저장소 시스템에 대한 수요가 증가하고 있습니다. 본 논문은 Yahoo! Cloud Serving Benchmark (YCSB) 프레임워크를 사용하여 세 가지 주요 NoSQL 키-값 저장소 시스템인 Redis, Aerospike, Dragonfly의 성능을 평가했습니다. 연구는 세 가지 서로 다른 워크로드 패턴(읽기 집약형, 쓰기 집약형, 균형형)에서 광범위한 실험을 수행했으며, 클라이언트 동시성을 1개에서 32개로 체계적으로 변화시켰습니다. 평가 방법은 실제 운영 조건에서 지연 시간, 처리량, 메모리 특성을 포착했으며, 각 시스템의 성능 트레이드오프와 확장성 동작에 대한 심층적 통찰력을 제공합니다.
- 현대 애플리케이션 요구 사항의 도전: 현대 디지털 환경은 대량의 데이터 생성 및 사용을 포함하며, 웹 애플리케이션, 모바일 기술, IoT 기기의 빠른 확장은 데이터베이스 시스템에 새로운 도전을 제시합니다
- 전통 데이터베이스의 한계: 전통적인 관계형 데이터베이스 관리 시스템은 기능이 강력하지만, 현대 애플리케이션의 성능 및 확장성 요구사항, 특히 밀리초 이하의 응답 시간과 초당 수백만 작업 처리가 필요한 애플리케이션을 충족시키는 데 어려움이 있습니다
- NoSQL 데이터베이스의 부상: NoSQL 데이터베이스, 특히 키-값 저장소는 성능과 확장성을 강조함으로써 이러한 도전을 극복합니다
- 실용적 가치: 시스템 아키텍트가 적절한 키-값 저장소 솔루션을 선택하는 데 실용적 지침을 제공합니다
- 학술적 가치: Redis, Aerospike, Dragonfly 시스템의 체계적 비교 평가에 대한 공백을 채웁니다
- 기술적 가치: 다양한 워크로드 패턴과 동시성 수준에서의 체계적 평가를 통해 각 시스템의 성능 특성을 드러냅니다
이러한 시스템들이 널리 사용되고 있음에도 불구하고, 다양한 워크로드 패턴과 동시성 수준에서 성능 특성을 체계적으로 평가하는 포괄적인 비교 연구가 부족합니다.
- 포괄적인 성능 비교: 지연 시간 및 처리량 지표를 포함한 완전한 성능 비교 분석 제공
- 메모리 소비 특성 분석: 세 시스템의 메모리 사용 패턴 및 효율성에 대한 심층 분석
- 다중 워크로드 평가: 읽기 집약형, 쓰기 집약형, 균형형 세 가지 워크로드에서 체계적 평가
- 확장성 분석: 1~32개의 동시 클라이언트 테스트를 통해 각 시스템의 확장 특성 파악
- 실용적 지침: 시스템 아키텍트가 적절한 키-값 저장소 솔루션을 선택하는 데 실제 지침 제공
Redis:
- 2009년 개발된 오픈소스 인메모리 데이터 구조 저장소
- 단일 스레드 아키텍처로 복잡한 잠금 메커니즘을 제거하지만 멀티코어 시스템 확장성을 제한
- 다양한 데이터 구조 지원: 문자열, 해시, 리스트, 집합, 정렬된 집합 등
- 주기적 스냅샷 또는 추가 전용 파일을 통해 지속성 구현
Aerospike:
- 2009년 설립된 분산 NoSQL 데이터베이스
- 하이브리드 메모리 아키텍처: DRAM에 인덱스 저장, SSD에 데이터 저장
- 공유 없는 아키텍처로 각 노드가 독립적으로 작동
- 강한 일관성 및 자동 장애 조치 기능 제공
Dragonfly:
- 2022년 출시된 인메모리 데이터 저장소로 Redis의 직접적 대체제
- 멀티스레드, 공유 없는 아키텍처로 다중 CPU 코어 활용 가능
- Redis 프로토콜과 호환
- 복잡한 메모리 관리 및 잠금 없는 데이터 구조 구현
하드웨어 환경:
- 시스템: Apple M3 Pro 칩이 탑재된 Mac OS
- 구성: 12코어, 36GB RAM, macOS Sequoia
- 배포: Docker 컨테이너를 사용하여 일관되고 격리된 환경 보장
벤치마크 프레임워크:
- Yahoo! Cloud Serving Benchmark (YCSB) 사용
- 2단계 방식: 로딩 단계에서 초기 데이터 채우기, 실행 단계에서 벤치마크 작업 실행
- 동시성 수준: 1, 2, 4, 8, 16, 32개 클라이언트
- 키 선택 분포: Zipfian 분포로 실제의 비균등 접근 패턴 모의
읽기 집약형 워크로드:
- 95% 읽기, 5% 업데이트 작업
- 레코드당 1KB 데이터(10개 필드, 각 100바이트)
- 1,474,560개 레코드 로드
- 캐시 시나리오, 콘텐츠 전송 시스템 등을 모의
균형형 워크로드:
- 50% 읽기, 50% 업데이트 작업
- 동일한 1KB 레코드 구조
- 소셜 미디어 플랫폼, 협업 애플리케이션 등의 혼합 접근 패턴 대표
쓰기 집약형 워크로드:
- 10% 읽기, 90% 삽입 작업
- 시계열 데이터, 64개 필드, 각 필드 8자
- 실행 단계에서 2,949,120회 삽입 작업 수행
- IoT 애플리케이션, 모니터링 시스템 등의 고처리량 데이터 수집 시나리오 모의
Aerospike 최고 성능:
- P99 지연 시간: 436ms(단일 클라이언트)에서 2,979ms(32개 클라이언트)
- 처리량: 3,348 ops/s에서 32,592 ops/s
- 성능 우위는 하이브리드 메모리 아키텍처 및 공유 없는 설계에서 비롯
Redis 중간 성능:
- P99 지연 시간: 862ms에서 4,447ms
- 처리량: 1,656에서 17,158 ops/s
- 단일 스레드 아키텍처가 높은 동시성에서 성능 병목
Dragonfly 최고 지연 시간:
- P99 지연 시간: 1,137ms에서 4,883ms
- 처리량: 1,371에서 16,328 ops/s
- 멀티스레드 조정 오버헤드가 병렬 처리 이점을 상쇄
성능 계층 일관성 유지:
- Aerospike: P99 지연 시간 441ms-2,409ms, 처리량 3,372-33,741 ops/s
- Redis: P99 지연 시간 874ms-4,017ms, 처리량 1,664-17,004 ops/s
- Dragonfly: P99 지연 시간 1,187ms-4,631ms, 처리량 1,278-16,497 ops/s
모든 시스템 최고 성능:
- Aerospike: P99 지연 시간 410ms-2,233ms, 처리량 3,562-34,896 ops/s
- Redis: P99 지연 시간 808ms-3,547ms, 처리량 1,757-17,170 ops/s
- Dragonfly: P99 지연 시간 1,124ms-3,859ms, 처리량 1,331-16,925 ops/s
| 시스템 | 실행 전(MB) | 실행 후(MB) | 증가 배수 |
|---|
| Redis | 36.32 | 2610 | 72배 |
| Aerospike | 232.1 | 772.3 | 3.3배 |
| Dragonfly | 58.98 | 2350 | 40배 |
주요 발견:
- Aerospike 메모리 효율성 최고로 하이브리드 저장소 모델의 이점
- Redis 메모리 오버헤드 최대로 단일 노드 인메모리 저장소의 한계 반영
- Dragonfly는 두 시스템 사이로 멀티스레드 조정 구조로 인한 추가 오버헤드
처리량 확장 특성:
- Aerospike: 거의 선형 확장으로 9-10배 향상
- Redis: 10-11배 향상이지만 지연 시간 증가가 더 두드러짐
- Dragonfly: 12-13배 향상이지만 기본 성능이 낮음
논문은 여러 관련 연구를 인용합니다:
- 벤치마크 프레임워크: Cooper et al. (2010)의 YCSB 프레임워크가 클라우드 서비스 시스템 벤치마킹의 기초 마련
- NoSQL 비교 연구: Anthony & Rao의 키-값 저장소 실증 비교
- 시스템 특정 연구: Volminger (2021)의 Aerospike 연구, Charan et al.의 Redis 분석
- 최신 발전: Mohan et al. (2024)의 OLAP 워크로드 NoSQL 평가
- 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 데이터베이스 성능 평가 분야에 가치 있는 기여를 제공하며, 체계적인 실험 설계 및 심층 분석을 통해 현대 키-값 저장소 시스템의 성능 특성을 이해하고 적절한 기술 방안을 선택하는 데 중요한 참고 자료를 제공합니다.