광고 성과 데이터 StarRocks 도입기
8
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 퀸잇 광고 성과 데이터를 기존 MySQL 기반 집계 구조의 한계를 넘어 StarRocks(OLAP)로 전환한 과정을 정리한 니다. 기존 시스템은 캠페인 단위 중심 구조로 인해 상품/일자 등 새로운 성과 요청 추가 시 확장성이 떨어지고, 실시간 원천 적재에 따른 DB 쓰기 부하 증가 및 커서 기반 증분 집계 누락·장애 복구 복잡성이 발생했 니다. 해결 방향으로 Iceberg(S3)+Glue를 원천으로 두고 StarRocks external table과 MV를 구성했으며, shared-data에서 shared-nothing으로 전환해 S3 트랜잭션 비용과 모니터링 한계를 개선했 니다. MV 성능을 위해 시간 컬럼 기반 파티셔닝, ad_id 기반 해시 버켓팅, 동일 colocation group을 활용한 colocate join 전략을 적용했 니다. 도입 후에는 MySQL 쓰기 부하 감소, 평균활성세션/커밋 레이턴시 개선, MV 파티션 기반 갱신으로 집계 누락 근본 차단, 장애 시 원천 수정만으로 빠른 복구가 가능해졌 니다. 실전 이슈로는 MV 동기화 지연에 따른 실시간성 요구 데이터 분리, MV 파티셔닝 DDL 실패 및 파티션 매핑 누락 원인(특정 상황의 FE 메타데이터 이슈) 대응, UTC 적재 후 KST 파티션 컬럼 분리 등이 언급됐 니다.

연관 게시글