피드로 돌아가기
Dev.toInfrastructure
원문 읽기
INFORMATION_SCHEMA 최적화를 통한 Dataform 비용 모니터링 파이프라인 구축
Deeper into Dataform 3: Auditing Dataform
AI 요약
Context
Dataform의 증분 업데이트 누락이나 비효율적인 Window Function 사용으로 인한 BigQuery 비용 급증 위험 존재. 개별 Job 단위의 비용 추적이 어려워 전체 플랫폼의 비용 최적화 및 가시성 확보가 절실한 상황.
Technical Solution
- WorkflowInvocationAction API를 통한 실행 단위별 BigQuery Job ID 일괄 추출
- INFORMATION_SCHEMA.JOBS_BY_PROJECT 뷰를 활용한 메타데이터 기반의 통합 쿼리 수행
- 단일 쿼리 내 IN 절과 creation_time 파티션 필터링을 적용하여 시스템 부하 및 쿼리 비용 최소화
- 추출된 runtime, bytes_billed, slot_ms 데이터를 분석 전용 BigQuery 테이블로 적재하는 파이프라인 설계
- Pub/Sub과 Cloud Function을 연동하여 Workflow 완료 시점에 작동하는 Event-Driven 자동화 구조 제안
실천 포인트
- BigQuery INFORMATION_SCHEMA 조회 시 반드시 파티션 컬럼(creation_time)을 조건절에 포함하여 스캔량 제한 - API 호출 횟수를 줄이기 위해 개별 Job 조회가 아닌 Job ID 리스트를 통한 Batch Query 방식 채택 - 비용 분석 데이터 자체를 Dataform으로 재가공하여 메타데이터 분석 루프 구축 검토