데브허브 | DEVHUB | Aurora Paper Deep Dive: Distributed Database Fundamentals & Storage-Compute Separation (Section 1)Aurora Paper Deep Dive: Distributed Database Fundamentals & Storage-Compute Separation (Section 1)
- 클라우드 네이티브 데이터베이스의 핵심: Amazon Aurora는 클라우드 환경에 최적화된 데이터베이스로, 기존 관계형 데이터베이스의 한계를 극복하기 위해 근본부터 재설계되었습니다. ☁️
- 분산 데이터베이스의 두 가지 강점: 분산 클라우드 데이터베이스는 뛰어난 복원력(노드 장애 시 가용성 유지 및 쉬운 교체)과 확장성(요청 급증 시 유연한 처리)을 제공하여 인기를 얻고 있습니다. 💪
- 스토리지-컴퓨트 분리 원칙: 모든 최신 분산 데이터베이스의 핵심은 스토리지와 컴퓨트 계층을 분리하고, 스토리지를 여러 노드에 복제하여 데이터 가용성과 처리량을 높이는 것입니다. 🧩
- 전통적인 DB의 한계: 기존 데이터베이스는 스토리지와 컴퓨트가 단일 노드에 긴밀하게 결합되어 있어, 확장성 및 운영 효율성에 제약이 있었습니다. 🔗
- 스토리지-컴퓨트 분리의 이점:
- 비용 효율성: 쿼리 실행 시에만 컴퓨트 비용을 지불하는 서버리스 모델을 가능하게 하여, 유휴 시 비용을 절감합니다. 💰
- 운영 간소화: 노드 장애 시 손쉬운 교체, 읽기 복제본 추가, 페일오버 및 스케일링이 용이해 인프라 관리가 단순해집니다. 🛠️
- 스토리지-컴퓨트 분리의 단점:
- 네트워크 병목 현상: 스토리지 접근 시마다 네트워크 호출이 발생하여 데이터 전송량과 대기 시간이 증가할 수 있습니다. 🚦
- 쓰기 작업 지연: 여러 노드에 데이터를 복제해야 하므로, 가장 느린 노드에 의해 쓰기 응답 시간이 결정되어 동기 작업이 느려집니다. 🐢
- 트랜잭션 복잡성: 분산 트랜잭션(예: 2단계 커밋)은 네트워크 오버헤드와 조정 문제로 인해 비용이 많이 들고 실패에 취약할 수 있습니다. 💸
- Amazon Aurora의 혁신: Aurora는 리두 로그(redo log)를 활용하여 이러한 문제들을 해결합니다. 이는 네트워크 I/O를 줄이고, 높은 처리량을 달성하며, 지속적인 백업과 거의 즉각적인 크래시 복구를 가능하게 합니다. 🚀
- 성능 일관성: Aurora는 부하 변동이나 장애 발생 시에도 일관된 성능을 제공하며, 스토리지 계층을 독립적이고 내결함성 및 자가 치유가 가능하도록 설계했습니다. ✨