PE Notes · DB
데이터 레이크와 델타 레이크
Schema-on-Read 레이크의 수집·존·처리·카탈로그 계층과, Parquet 위 트랜잭션 로그로 ACID·타임 트래블을 여는 델타 레이크·레이크하우스를 정리합니다.
정형만 받아 적는 창고는 로그·이미지·센서를 먼저 거절합니다. 는 원본 형식을 오브젝트 스토리지에 두고, 읽을 때 스키마를 얹습니다. 파일이 쌓이기만 하면 동시 쓰기와 부분 실패를 못 막습니다. 는 Parquet 위에 트랜잭션 로그를 올려 ·스키마 강제·타임 트래블을 엽니다. 그 조합이 의 바닥입니다.
계층과 존
수집은 배치·스트림·CDC입니다. 저장은 Raw(Bronze) → Cleansed(Silver) → Curated(Gold)로 나눕니다. 처리는 정제·집계·피처입니다. 테이블 포맷이 그 위에 버전을 걸고, 카탈로그가 위치·스키마·계보를 모으며, 거버넌스가 권한과 품질을 잠급니다. 소비는 SQL·BI·학습입니다. 플랫폼 노트는 입출력·인프라 칸을, 이 글은 레이크와 테이블 포맷을 닫습니다.
메달리온은 Bronze에 원본을 남기고, Silver에서 표준화·조인하며, Gold에서 KPI·피처를 만듭니다. 목적과 소유자 없이 덤프하면 입니다. 카탈로그, 오너, 품질 규칙, 계보, 보존·삭제, 최소 권한, 그리고 스키마를 강제하는 테이블 포맷이 출구입니다. 늪의 증상은 이웃 글이, 파이프라인 상태는 글이 이어집니다.
| 비교축 | 웨어하우스 | 레이크 | 레이크하우스 |
|---|---|---|---|
| 형태 | 정형 | 정형·반정형·비정형 | 같음 |
| 스키마 | 쓰기 때 | 읽기 때 | 강제 + 진화 |
| 트랜잭션 | ACID | 파일 단위 | ACID |
| 저장 | 전용 | 오브젝트 | 오브젝트 + 테이블 포맷 |
| 자리 | BI | 탐색·학습 원천 | BI와 학습을 한 저장 |
로그가 커밋이다
데이터 파일은 Parquet입니다. _delta_log/에 커밋마다 JSON이 붙고, 일정 횟수마다 체크포인트로 접습니다. 로그 파일 생성이 성공해야 커밋입니다. 부분 실패 파일은 읽히지 않습니다. 쓰기는 버전을 보고 충돌하면 재시도합니다. 읽기는 한 버전의 스냅샷입니다. VERSION AS OF·TIMESTAMP AS OF로 학습 세트를 재현합니다.
스키마가 안 맞으면 쓰기를 막고, 허용하면 컬럼을 더합니다. MERGE·UPDATE·DELETE가 CDC와 삭제 요청을 받습니다. OPTIMIZE가 작은 파일을 모으고, Z-Order가 스킵을 도우며, VACUUM이 낡은 파일을 지웁니다. Iceberg는 매니페스트 계층으로 엔진 중립을, Hudi는 타임라인으로 증분 Upsert를 앞세웁니다. 출발이 Databricks·Netflix·Uber로 다를 뿐, 레이크 파일을 테이블로 만드는 일은 같습니다.
답안은 Schema-on-Read, 메달리온 세 존, 늪 방지 한 줄, 델타 로그=원자 커밋, 웨어하우스·레이크·레이크하우스 표를 한 장에 닫습니다.