데브코스 TIL/DBT 4

dbt 기능

강의 Seeds "Seeds"는 다수의 Dimension 테이블을 파일 형태로 데이터웨어하우스에 로드하는 기능 입니다. dbt seed Sources "Sources"는 입력 데이터를 추상화하여 변경처리를 용이하게 하는 기능 입니다. 입력 테이블 별칭 지정 (alias) 최신 레코드 체크 기능 제공 (Freshness) vi sources.yml cd src dbt source freshness Snapshot "Snapshot"은 테이블의 변화를 지속적으로 기록하여 과거 시점으로 돌아가서 테이블을 확인할 수 있는 기능 입니다. Snapshot 처리 방법 snapshot 폴더 환경설정 데이터 소스 조건 만족 확인 : Primary Key 및 Timestamp 존재 여부 변경 감지 기준 설정 dbt sna..

dbt Model

강의 Model "Model"은 ELT 테이블의 기본이 되는 빌딩 블록 입니다. 테이블의 뷰나 CTE의 형태로 존재합니다. Input 입력(raw) 데이터 정의 : CTE 중간(staging, src) 데이터 정의 : View Output 최종(core) 데이터 정의 : Table # model 빌딩 dbt compile dbt run Materialization "Materialization"은 입력 데이터를 연결하여 새로운 데이터를 생성하는 것을 말합니다. Materialization 종류 View : 데이터를 자주 사용하지 않는 경우 Table : 데이터를 반복해서 자주 사용하는 경우 Incremental : Fact 테이블 혹은 과거 레코드를 수정할 필요가 없는 경우 Ephemeral (CTE) ..

dbt 소개 및 설치

강의 dbt "DBT"(Data Build Tool)은 ELT용 오픈소스 입니다. 데이터 웨어하우스 지원 : Redshift, Snowflake, Bigquery, Spark 클라우드 버전 존재 : dbt Cloud dbt 구성 컴포넌트 models 테이블을 티어로 관리 : CTAS, Lineage 트래킹 Table, View, CTE tests snapshots "Fact 테이블"은 분석의 초점이 되는 양적 정보를 포함하는 중앙 테이블 입니다. "Dimension 테이블"은 Fact 테이블에 대한 상세 정보를 제공하는 테이블 입니다. 사용 목적 데이터 변경 사항 이해 및 롤백 가능 데이터간 리니지 확인 가능 데이터 품질 테스트 및 에러 보고 Fact 테이블 증분 로드 (Incremental Update..

Database Normalization

강의 Database Normalization "Database Normalization"는 데이터베이스를 조직적이고 일관된 방법으로 디자인하는 방법 입니다. Primary Key Composite Key Foreign Key 단계별 종류 1NF(First Normal Form) 중복을 제거 atomicity 만족 2NF(Second Normal Form) 1NF 만족 Primary Key 중심 의존결과 확인 가능 부분적인 의존도 제거 3NF(Third Normal Form) 2NF 만족 전이적 부분 종속성 제거 Slowly Changing Dimensions SCD Type 0 : 갱신하지 않고 처음 그대로 고정 SCD Type 1 : 생성 후에 작성하여 고정 SCD Type 2 : 생성 및 작성 후에..