데브허브 | DEVHUB | How Amazon Aurora Achieves Durability with Quorum Writes | Aurora Paper Deep Dive - Section 2How Amazon Aurora Achieves Durability with Quorum Writes | Aurora Paper Deep Dive - Section 2
- 대규모 클라우드 환경에서는 인스턴스, 디스크, 네트워크, 심지어 데이터 센터 장애가 빈번하므로, 데이터가 영구적으로 보존되는 내구성이 핵심입니다. 🛡️
- Amazon Aurora는 데이터의 안전한 저장을 위해 분산된 노드들이 특정 상태에 동의하는 쿼럼 기반 모델을 사용합니다. 🤝
- 읽기 쿼럼(VR)과 쓰기 쿼럼(VW)의 합이 총 복제본 수(V)보다 커야 최신 데이터 읽기를 보장하고(VR + VW > V), 쓰기 쿼럼이 총 복제본 수의 절반을 넘어야(VW > V/2) 쓰기 충돌을 방지합니다. ➕
- 일반적인 3개 노드 쿼럼(2x3)은 단일 가용 영역(AZ) 장애 또는 AZ 장애와 추가 노드 장애가 동시에 발생할 경우 데이터 가용성을 보장하기 어렵습니다. 📉
- Aurora는 6개의 데이터 복제본을 3개의 가용 영역에 각각 2개씩 분산 저장하고, 쓰기 쿼럼 4개(VW=4), 읽기 쿼럼 3개(VR=3)를 설정하여 1개 AZ 장애와 추가 노드 1개 장애까지 허용합니다. ⚙️
- 이 설계를 통해 1개 AZ가 다운되어도 읽기/쓰기가 모두 가능하며, 1개 AZ와 추가 노드 1개가 다운되어도 읽기는 계속 제공됩니다. 🚀
- Aurora는 10GB 크기의 고정 세그먼트로 데이터를 분할하여 저장하며, 각 세그먼트는 6번 복제됩니다. 🧩
- 세그먼트 단위 스토리지는 장애 발생 시 영향 범위를 줄이고(blast radius), 손상된 세그먼트를 다른 복제본에서 10초 이내에 빠르게 복구(MTTR)할 수 있게 하여 시스템의 자가 치유 능력을 높입니다. ⏱️