Aurora Paper Deep Dive: Distributed Database Fundamentals & Storage-Compute Separation (Section 1)
- 클라우드 네이티브 데이터베이스는 복원력과 확장성을 제공한다. ☁️
- 분산 데이터베이스는 스토리지와 컴퓨팅을 분리하고 스토리지를 여러 노드에 복제한다. 💾↔️💻
- 스토리지-컴퓨팅 분리는 네트워크 호출을 유발하지만, 운영 단순화 및 비용 효율성을 제공한다. 💸
- 컴퓨팅 노드는 쿼리를 파싱하고 실행 계획을 생성하며, 스토리지 노드는 데이터 복제 및 지속성을 담당한다. ⚙️
- 스토리지-컴퓨팅 분리는 노드 장애 시 복구를 용이하게 하고, 읽기 복제본 추가 및 확장을 간편하게 한다. ➕
- 네트워크 대역폭 및 스토리지 노드의 IOPS는 스토리지-컴퓨팅 분리 아키텍처의 병목 지점이 될 수 있다. ⚠️
- 분산 환경에서 트랜잭션 보장은 더 복잡해지며, 2단계 커밋 프로토콜이 필요할 수 있다. 🤝
- Aurora는 스토리지 독립성, 내결함성, 자가 치유 기능을 제공하며, 성능 변동을 줄이고 네트워크 IOPS를 감소시킨다. ✅
- Aurora는 redo 로그를 활용하여 MySQL 기반의 분산 데이터베이스를 구축하고, 지속적인 백업을 제공한다. 🔄