20분
아키텍처 결정 기록 (ADR)
Day 1: 처음부터 끝까지 혼자 만들어봐
아키텍처 결정 기록 (ADR)
Phase 1 캡스톤: E2E 데이터 파이프라인 > Day 1: 처음부터 끝까지 혼자 만들어봐
학습 목표
ADR의 목적과 작성법을 이해한다 기술 선택의 근거를 문서화할 수 있다
왜 ADR을 쓰는가?
"왜 Spark를 썼어요? Pandas로 하면 안 돼요?"
6개월 후에 이 질문이 들어온다. 그때 "기억이 안 나는데..."라고 하면 안 된다.
ADR (Architecture Decision Record) = 기술 선택의 이유를 기록하는 문서
ADR 템플릿
에디터 로딩 중...
이번 프로젝트의 핵심 ADR
ADR-002: 데이터 레이어 분리 (Bronze/Silver/Gold)
| 레이어 | 설명 | 형식 |
|---|---|---|
| Bronze (Raw) | 원본 그대로 | JSON, CSV |
| Silver (Staging) | 정제, 중복 제거 | Delta |
| Gold (Warehouse) | 분석용, Star Schema | Delta |
왜 분리하는가?
- 문제 추적이 쉽다 (어느 단계에서 오류가 났는지)
- 재처리가 쉽다 (Bronze부터 다시 돌리면 됨)
- 각 레이어마다 SLA가 다르다
ADR-003: Airflow를 오케스트레이션 도구로 선택
고려한 대안:
- Prefect: 현대적이지만 커뮤니티 작음
- Dagster: 좋지만 학습 곡선 높음
- Airflow: 업계 표준, 자료 풍부
결정: Airflow 2.x (TaskFlow API 사용)
ADR 작성 팁
- 결정 이유를 명확히 - "좋아서"가 아니라 구체적인 이유
- 대안을 기록 - 왜 다른 것을 선택하지 않았는지
- 결과를 추적 - 결정이 맞았는지 나중에 검증
- 짧게 작성 - 1페이지 내외로