Building Resilient, High Performance ScyllaDB Clusters with Super Disk

핵심요약
Hyperconnect는 ScyllaDB 노드 복구 시간을 10배 이상 단축하고 운영 효율성을 극대화하기 위해 Super Disk (Write-mostly RAID)를 도입하고, 이 과정을 Windmill 기반 자동화 워크플로우로 구현했습니다.
ScyllaDB Super Disk 도입을 통한 고성능 및 고가용성 확보
1. ScyllaDB 운영 문제점 및 성능 병목
- ScyllaDB 아키텍처: Cassandra 호환 Wide-column DB로, C++ 및 Seastar 프레임워크 기반의 Embedded Cache 설계로 높은 성능과 낮은 지연시간 제공.
- Local NVMe SSD 의존성: ScyllaDB의 성능은 Local NVMe SSD에 직접적으로 의존하며, Hyperconnect는 i4i.4xlarge 인스턴스를 운영.
- 장애 복구 및 유지보수 지연: Local NVMe SSD의 휘발성(인스턴스 재부팅 시 데이터 유실)으로 인해, 노드 장애 시
nodetool replace를 통한 데이터 복구에 18~24시간 소요, 이는 EKS AMI 업그레이드 시에도 큰 부담 발생.
2. Super Disk (Write-mostly RAID) 솔루션 도입
- Write-mostly RAID-1 구성: Local NVMe SSD와 Persistent EBS를 RAID-1으로 결합하고
write-mostly옵션을 적용하여, 읽기는 Local SSD에서, 쓰기는 양쪽에 수행. - PoC 및 성능 검증: YCSB 및 Latte 벤치마크 툴을 사용하여 기존 Local SSD 구성과 Super Disk 구성 간의 성능 차이가 거의 없음을 확인.
- 재해 복구 시나리오 테스트: EBS Detach 시 RAID가
degraded상태로 전환되며 Local SSD만으로 정상 동작, 인스턴스 장애 시 새 인스턴스에 EBS 재연결 후 RAID 재구성 및 노드 복구에 약 1시간 소요.
3. Windmill 기반 자동화 및 Production 적용
- Windmill 도입: 복잡한 ScyllaDB Super Disk 관련 작업(AWS API, Kubernetes API, SSH, Cassandra Client)을 Windmill 플랫폼을 활용하여 자동화.
- 자동화 워크플로우: 새로운 ScyllaDB 인스턴스 프로비저닝, EBS 및 RAID 구성을 자동화하는 초기 Migration 워크플로우와 노드 드레인, RAID 해제, EBS 재연결 과정을 자동화하는 인스턴스 교체 워크플로우 생성.
- Production 환경 성과: 실제 운영 환경에서도 Super Disk 적용 후 Throughput 및 Latency 지표가 정상 유지되었으며,
write-mostly옵션으로 Local SSD에서 Read 발생 확인.
4. Super Disk 도입의 주요 성과
- 복구 시간 획기적 단축: 기존 18~24시간 소요되던 노드 복구 시간이 1시간 이내로 단축되어 RPO(Recovery Point Objective) 크게 개선.
- 운영 효율성 및 비용 절감: 노드 교체 작업 시간이 95% 이상 단축되었고, AWS Data Transfer 비용 절감 및 유지보수 유연성 증대.
- 자동화를 통한 안정성 향상: Windmill을 통한 복잡한 작업 자동화로 휴먼 에러 감소 및 작업 실패율 98% 이상 감소.