https://docs.getdbt.com/docs/
- ...
"dbt? 데이터 변환 관리 가속화" : https://global.trocco.io/ko/blogs/what-is-dbt
- 데이터 웨어하우스 Management
- ETL 또는 ELT 프로세스 이후 -> 데이터를 변환 & 통합.
- 데이터 테이블간의 관계를 체계적으로 관리.
- -> dbt : 모델링과 변환 로직을 코드로 정의하고, 자동화 문서화 하는 "모던 데이터 엔지니어링 툴"
- ETL : DB -> 추출 -> 변환 -> Warehouse -> 필요한 데이터만 적재.
- ELT : DB -> 추출 -> Warehouse -> 원시 데이터 적재 -> (대용량 원시 데이터 고속처리 DWH) -> 필요한 변환 수행.
- dbt
- ELT 에서 SQL 기반의 변환을 자동화 하고, 복잡한 파이프라인 구조를 문서화 및 테스트 해줌.
- Core : 무료로 사용가능한 CLI 으로 Open Source Software 버전.
- Cloud : SaaS 방식의 GUI 으로 브라우저에서 쉽게 사용.
- dbt 기능
- Git Repo -> CI/CD 연동 :
- 데이터베이스 메타데이터 생성 :
- 데이터베이스간 관계 자동 추출 :
- 디펜던시 기반의 데이터 가공 및 변환 :
"Data Build Tool 개요" : https://mjs1995.tistory.com/263
- Materialization : SQL 모델을 저장하는 방식
- Table : {{ config(materialized='table', sort=, dist=, ...) // SQL 모델을 테이블에 저장하여, 쿼리시 직접 조회.
- View : {{ config(materialized='view', indexs=[{}], ...) // ...
- Incremental :
- Ephemeral :
- Sources : 데이터 소스에 접근 할 수 있도록 schema.yml 에 database, ..., tables 설정.
- Seeds :
- Ref :
- Macros :
- Packages :
"DBT를 도입한대요" : https://raiknow.tistory.com/128
- 개념
- 사용자 작성 SQL 파일 -> SQL 컴파일 -> 웨어하우스에 직접 실행 (Data Transformation 수행의 수많은 쿼리를 관리하는 툴)
- 소스(Source) : raw data. {{ source('source_name', 'table_name') }} Jinja 를 사용해서 접근.
- 모델(Model) : SQL 쿼리의 형태로 저장. 데이터를 변환하고 최종 생성을 하기위한 로직으로 정의.
- 매크로(Macro) : 반복적인 쿼리를 재사용하기 위한 SQL 함수.
- 패키지(Package) : 모델, 테스트, 매크로 등을 포함하는 DBT 프로젝트의 모듈. (dbt Hub 에서 packages.yml 로 제공)
- 기초
- ...

- "Core CLI vs Cloud GUI" : ...
- analysis : 분석만을 위한 SQL 파일
- data : 정적 파일(csv 등) -> 데이터 -> Warehouse 적재
- macros : 사용자 정의 Jinja Template Macro
- models : dbt 데이터 테이블
- snapshot : source 테이블 -> 스냅샷 테이블
- dbt_project.yml : dbt 프로젝트 메타정보
"dbt 사용법과 기본 개념" : https://zzsza.github.io/data-engineering/2025/01/16/dbt-core
-끝-
'Data Broker' 카테고리의 다른 글
| Lightdash (0) | 2025.09.20 |
|---|---|
| Airflow + Celery (0) | 2020.09.02 |
| SQS (0) | 2020.05.16 |
| RabbitMQ (AMQP) (0) | 2020.04.30 |
| Elastic Stack 란? (1) | 2020.04.12 |