SQL 문장만으로 데이터 변환을 소프트웨어처럼 관리하는 도구
데이터 분석가가 select 문장만 작성하면, dbt가 이를 데이터 웨어하우스의 테이블과 뷰로 만들어 줍니다. 소프트웨어 엔지니어가 애플리케이션을 만들 때 쓰는 관행을 데이터 변환 과정에 그대로 적용할 수 있게 됩니다. 이 저장소는 Rust로 완전히 재작성된 dbt v2.0의 소스 코드를 담고 있습니다.
v2.0의 핵심 변화
dbt v2.0은 대규모 프로젝트에서 파싱, 컴파일, 실행 시간을 크게 단축하도록 설계되었습니다. 파싱 시점에 정확성을 강제하는 엄격한 언어 사양을 적용해 오류를 줄였습니다. 설치 과정도 단순해져 Python 런타임이나 의존성 관리 없이 단일 바이너리로 배포됩니다. v2.0은 Parquet 형식의 아티팩트를 생성해 dbt 프로젝트를 더 쉽게 조회하고 분석할 수 있게 합니다. 기존 JSON 아티팩트도 하위 호환성을 위해 계속 생성됩니다.
모델 기반 데이터 변환
분석가는 select 문장, 즉 '모델'을 작성하여 데이터를 변환합니다. dbt는 이러한 모델들이 서로 어떻게 연결되는지 관리하고 시각화합니다. 모델 간 관계를 명확히 하고, 테스트를 통해 변환 품질을 보장할 수 있습니다. 로컬 문서 경험도 개선되어 대규모 프로젝트에서도 dbt docs가 원활하게 작동합니다.
지원 환경과 설치
dbt v2.0과 드라이버는 운영체제와 아키텍처별로 컴파일됩니다. macOS와 Linux는 x86-64와 ARM 모두 지원하며, Windows는 x86-64만 지원하고 ARM은 아직 지원하지 않습니다. 설치 시 Python 환경 설정이 필요 없으므로, 기존 데이터 엔지니어링 스택과 독립적으로 사용할 수 있습니다.
라이선스와 사용 전 확인 사항
이 저장소의 소스 코드는 Apache 2.0 라이선스로 공개되어 있습니다. dbt 제품 자체는 dbt 제품 라이선스로 배포되는 별도 분포판입니다. Windows ARM 사용자는 현재 지원되지 않으므로, 해당 환경에서는 v1 또는 다른 아키텍처를 고려해야 합니다.