dragonflydb/dragonfly
A modern replacement for Redis and Memcached
해결하는 문제
Dragonfly는 Redis 및 Memcached와 같은 기존 시스템의 처리량 및 리소스 제한을 극복하기 위해 설계된 고성능 인메모리 데이터 저장소입니다. 단일 스레드 아키텍처의 병목 현상을 해결하고 최신 멀티코어 CPU와 고메모리 클라우드 인스턴스를 활용하여 수직으로 확장함으로써, 동일한 워크로드에 필요한 리소스를 최대 80%까지 절감합니다.
작동 원리
Dragonfly는 '공유 없음(shared-nothing)' 아키텍처를 채택하여 키 공간을 개별 스레드가 관리하는 샤드로 분할함으로써 CPU 및 I/O 활용도를 극대화합니다. 뮤텍스(mutex)나 스핀락(spinlock)에 의존하지 않고 다중 키 작업의 원자성을 보장하기 위해 VLL 락 매니저 재설계에 기반한 트랜잭션 프레임워크를 사용합니다. 핵심 해시 테이블은 Dash 확장 가능 해싱 설계를 기반으로 하며, 이를 통해 증분 해싱, 상태 비저장 스캔 작업 및 fork 없는 스냅샷 알고리즘이 가능합니다.
대상 사용자
Redis 및 Memcached API와 완벽하게 호환되는 초고속, 비용 효율적인 인메모리 저장소가 필요한 최신 클라우드 애플리케이션 워크로드를 실행하는 개발자와 조직을 위해 구축되었습니다.
주요 특징
- 높은 처리량: 단일 Redis 프로세스 처리량의 최대 25배에 달하며, 3.8M QPS를 돌파합니다.
- API 호환성: Redis 및 Memcached API와 완벽하게 호환되므로 도입 시 코드 변경이 필요하지 않습니다.
- 메모리 효율성: 유휴 상태에서 Redis보다 최대 30% 더 효율적인 메모리를 사용하며, fork 없는 스냅샷 프로세스를 사용하여 메모리 급증을 방지합니다.
- 적응형 캐싱: 메모리 제한에 가까워질 때 향후 액세스 가능성에 따라 항목을 제거하는 통합된 제로 오버헤드 캐싱 알고리즘을 갖추고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트