질문&답변
강의 관련 질문
1) 현재 저는 dbt+Airflow 기반으로 CRM 분석 마트 테이블을 팀에 적용하려고 하고 있습니다. 현재 raw테이블을 자동화해서 airflow로 db에 적재하여 사용하고 있는데요, 조인 결합, 가공을 통한 2차, 3차 테이블들은 현재 수동으로 만들어지고 있고 이를 자동화하려고 하고 있는데 현재 운영 및 성과 분석을 위한 너무 많은 테이블이 생기면서 점점 복잡해지고 있어 처음 만든 저도 헷갈려지는 단계에 왔는데...설계 관리(테이블간 관계, 단계로직을 정리하여 적재)하는 것에 대한 노하우가 있으신지 궁금합니다. 그리고 설계 이후 dbt로 만든 모델을 팀원들(분석가나 마케터) 쉽게 활용할 수 있게 하려면, 어떤 방식으로 문서화나 공유를 하시나요? --> 노하우는 아무래도 말씀하신 것처럼 "굉장히 활용범위가 넓은 툴"이다보니, 절대적인 방법은 없는 것 같습니다. 상황에 따라 너무 많은 노하우가 있어서 뭘 공유드려야할지 모르겠네요. dbt는 말그대로 'tool(도구)'이기 때문에, 그 전에 정보계에서의 데이터의 logical modeling과 layer에 대한 설계, 그리고 데이터 공급/사용 방식에 대한 정책 수립이 가장 최우선이고, 이를 빠르게 실행하고 쉽게 관리할 수 있게 하는게 dbt라고 생각합니다. 팀원들(분석가나 마케터) 쉽게 활용하도록 가이드를 주는것은 저도 아직 많이 고민하고 있는 문제이기도 합니다. 가능한 GUI를 제공하는 것, 이를 통한 백그라운드에서의 자동화(encapsulation)가 사실상 핵심이긴한 것 같아요. 그래서 streamlit 통해서 필요한 툴이나 아이디어를 빠르게 delivery 해보고, 서버화가 필요하면 간단하게 앱으로도 구축하면 좋은 것 같습니다. 마치 dbt cloud를 직접 만드는 느낌 처럼요. 2) Airflow DAG에서 dbt run/test를 통합할 때, 실행 단위를 모델 단위로 쪼개는 게 좋은가요, 아니면 전체 프로젝트 단위로 돌리는 게 좋은가요? 정답은 없습니다. 상황에 따라 너무 다른 문제이기 때문에, 주어진 상황에서 여러 방식을 시도해보면서 각각의 장단점을 비교해볼 수 밖에 없는 문제에요..
- 좋아요수
- 2
- 댓글수
- 2
- 조회수
- 110





