Modern data stack 의 transformation layer
dbt (data build tool) — 2026.4 기준 1.9 — 가 modern data team 이 ELT 의 transformation 절반 작성하는 방법. Orchestrator 가 SQL 돌리는 Python 도는 거 대신 dbt 는 SQL transformation 관리 전용 도구: version-controlled 코드로, 테스트, docs, lineage, 배포 스토리와 함께.
dbt 가 관리하는 것
- Model — dbt 가 테이블 또는 뷰로 materialize 하는 SQL
SELECT문. - Source — freshness 체크 있는 선언된 raw upstream 테이블.
- Test — model 출력에 대한 assertion (uniqueness, non-null, accepted value, custom).
- Docs — 자동 생성 lineage 그래프 + 문서 사이트.
- Snapshot — SCD Type 2 이력 테이블의 dbt 이름.
- Macro — Jinja 템플릿 재사용 가능 SQL.
모두가 dbt 에 있는 이유
dbt 이전에 transformation layer 가 scheduler 가 돌리는 ad-hoc SQL 또는 orchestrator task 안 묻힌 거였어. 어느 쪽이든 SQL 자체가 first-class 산출물 아니었어 — 테스트 없고, docs 없고, version control 규율 없고. dbt 가 SQL 을 산출물로 만들었고, 한 번 그게 일어나니 모든 다른 practice (review, test, lineage) 가 자연스레 따라옴.