15분
사고 보고서: 프로덕션 데이터를 덮어썼습니다
Delta Lake: ACID 트랜잭션과 Time Travel
사고 보고서: 프로덕션 데이터를 덮어썼습니다
Spark 심화: Streaming & Delta Lake > Delta Lake: ACID 트랜잭션과 Time Travel
학습 목표
데이터 레이크의 구조적 한계를 이해한다 Delta Lake가 해결하는 문제를 파악한다
"방금 뭐 했어요?"
금요일 오후 5시. 배포 직전 데이터 확인 중.
에디터 로딩 중...
"아..."
3년치 주문 데이터가 사라졌다.
전통적인 데이터 레이크의 문제
문제 1: 롤백 불가
에디터 로딩 중...
문제 2: 동시 쓰기 충돌
에디터 로딩 중...
문제 3: 스키마 드리프트
에디터 로딩 중...
문제 4: 부분 실패
에디터 로딩 중...
"데이터베이스였으면 이런 일 없었을 텐데..."
맞다. RDBMS에는 이런 기능이 있다:
- ROLLBACK: 실수 복구
- TRANSACTION: 원자적 쓰기
- CONSTRAINT: 스키마 검증
"데이터 레이크에도 이런 게 있으면 좋겠다."
Delta Lake: 데이터 레이크 + ACID
에디터 로딩 중...
_delta_log가 모든 변경사항을 기록한다. → 시간 여행, 롤백, ACID 모두 가능!
이번 Day에서 배울 것
- Delta Lake 기본: ACID가 뭔지, 왜 중요한지
- Time Travel: 과거 버전 조회와 롤백
- MERGE (Upsert): CDC 데이터 처리
- OPTIMIZE & VACUUM: 성능 최적화
시작하자.