pile·
DB / 데이터·NC소프트 DANBINC소프트 DANBI·

ETL 성능 향상을 위한 몇 가지 팁들

문제Hive·RDBMS 기반 ETL이 데이터량 증가로 느려져 잡 완료가 지연되고 클러스터 자원이 낭비되는 사례가 누적됐다.
접근HiveQL에서는 조건절 UDF를 기본 함수로 바꿔 파티션 프루닝을 살리고 DISTINCT COUNT를 GROUP BY + COUNT로 분산, JOIN 순서에 STREAMTABLE 힌트를 적용하고 Parquet에서는 와일드카드 대신 필요한 컬럼만 SELECT했으며, RDBMS는 불필요한 인덱스 제거·WHERE 함수 호출 회피·OR을 UNION으로 분할하고, 운영 측면에서는 샘플 데이터 사전 테스트·Airflow Sensor 기반 스케줄링과 용량 계획을 정착시켰다.
결과쿼리 수정만으로도 ETL 잡 실행 시간이 줄고 운영 체계화로 수정 빈도가 감소해 데이터 파이프라인 안정성이 향상됐다.
NC소프트 DANBI
NC소프트 DANBI 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. DB / 데이터·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

    분석가가 직접 만든 마케팅 자동화 시스템 — 오디언스 빌더 제작기

    여기어때 데이터 분석팀(UB팀)이 개발 경험 없이 AI 에이전트 바이브 코딩으로 마케팅 자동화 시스템 '오디언스 빌더'를 구축한 과정이다. SQL 없이 UI에서 타겟 조건을 설정하면 BigQuery에서 수천만 행 대상자를 추출해 Kafka·S3를 통해 마케팅 도구로 전달하는 파이프라인을 직접 만들어, 캠페인 준비 시간을 2~3일에서 10분으로 단축했다.

    요약 이어보기
    #data-pipeline#kafka#postgres+2
  2. DB / 데이터·vercel-blogVercel Blog·

    모든 Vercel 빌드를 지탱하는 데이터베이스 마이그레이션 이야기

    Vercel이 빌드 웜 풀(warm pool) 상태 데이터를 Redis에서 DynamoDB로 마이그레이션한 과정을 다룬다. 빌드 풀의 청구 매핑 데이터가 Redis 장애 시 복구 불가능하다는 구조적 위험이 이주를 결정한 핵심 이유였고, 24/7 프로덕션 트래픽 속에서 다운타임 없이 5단계 점진적 전환을 완료했다.

    요약 이어보기
    #database-migration#zero-downtime#redis+2
  3. DB / 데이터·channel-talk채널톡·

    DynamoDB 핫 파티션을 해결하는 3가지 방법 (3): 조회를 인덱스 테이블로 옮기기

    채널톡이 DynamoDB 핫 파티션을 해결하려 GSI를 별도 인덱스 테이블로 떼어낸 연재의 마지막 편으로, 조회 경로를 GSI에서 인덱스 테이블로 옮긴 과정을 다룬다. 2편에서 쓰기 파이프라인이 완성돼 WriteThrottleEvents가 월 110만 회에서 0회가 됐지만, 조회 코드가 여전히 GSI를 읽고 있어 GSI를 지울 수 없었다. GSI가 읽기에서 대신해주던 키 해석·정확 일치·삭제 필터·페이지 채우기를 사내 공통 라이브러리의 조회 규칙으로 흡수해, 호출부는 GSI든 인덱스 테이블이든 같은 코드를 쓰게 만들었다.

    요약 이어보기
    #migration#dynamodb#hot-partition+5