작업 완료 · 2022–2023

ETL DB 영역 분리 — 수집/배포/PROD 경계 재설계

수집용 중간 데이터가 고객사에 전달되지 않도록 수집·배포 영역과 메타·파일 경로를 나눴습니다.

기간2022–2023
소속래브라도랩스(LabradorLabs)
역할Data Engineer · 구조 재설계
MySQLBinary LogDB 아키텍처

작업 요약

수집·배포 분리 · 메타 → 파일 반영 순서 정리

수집 중간 데이터가 고객사까지 전달됐습니다

수집 중간 데이터와 고객사 배포 데이터를 같은 DB에서 관리해, 수집 실패나 재처리 중인 데이터까지 고객사로 전달됐습니다. 수집·배포·서비스 영역을 나누고 각 단계에 필요한 데이터만 넘기도록 바꿨습니다.

원천(raw) → 정제·배포(curated) → 서비스(serving)로 구분한다는 점에서는 메달리온 아키텍처와 유사하지만, 당시에는 운영 문제를 해결하기 위해 영역을 나눈 것입니다.

배경

초기에는 ETL 전 과정이 하나의 DB에서 이루어졌습니다. 수집 작업과 배포용 데이터, 서비스 PROD까지 한 곳에 있다 보니 수집 과정의 중간 데이터까지 고객사로 그대로 전달되는 구조였습니다.

Before

수집·배포·PROD가 한 DB → 수집 중간 산출물이 고객사까지 노출, 정합성 깨짐, 불필요한 데이터가 PROD에 누적

After

수집 DB / 배포 DB 영역 분리, 배포 DB는 메타·파일 2계열 → 반영 순서가 보장되는 binlog 경로로 PROD 정합성 확보

한 일

아키텍처 (데이터 흐름)

전체 구조를 먼저 보고, 크게 열어 세부 내용을 확인하세요.크게 보기ExcalidrawMermaid
수집 DB의 정제 데이터가 메타정보와 파일정보 배포 DB로 분기하고 메타 먼저 파일 나중 순서로 고객사 PROD에 반영되는 구조
수집용 중간 데이터는 수집 영역에 두고 배포 DB를 메타·파일 계열로 나눴습니다. 고객사 PROD에는 메타정보가 먼저 반영된 뒤 파일정보가 따라갑니다.

메타정보가 먼저 PROD에 반영된 뒤 파일 정보가 따라가도록 순서를 보장해, 파일 데이터가 존재하지 않는 메타를 참조하는 일이 없게 했습니다. 원천 → 정제 → 서비스로 층을 나눈, 메달리온 아키텍처(bronze/silver/gold)와 유사한 단계 구분입니다.

결과

정합성 확보메타 먼저, 파일 나중이라는 반영 순서가 구조로 보장되어 참조가 깨지는 문제를 차단
PROD 데이터 정리수집용 중간 데이터를 걷어내 고객사로 나가는 DB에 배포에 필요한 데이터만 유지
수집·배포 분리수집 영역의 변경·실험이 배포와 PROD에 번지지 않는 분리 구조

역할

Data Engineer로서 영역 분리 설계와 배포 DB 2계열 분류, binlog 반영 경로 재구성을 수행했습니다. 운영 중인 서비스와 고객사 동기화에 직접 닿는 변경이라, 경계를 먼저 세운 뒤 데이터 흐름을 옮기는 순서로 진행했습니다. 이때 세운 수집/배포 DB 경계는 지금의 데이터 플랫폼에도 사용하고 있습니다.

이후 DB 아키텍처 인스턴스 분리(2024), 바이너리 로그 기반 동기화 개선으로 이어지는 수집/배포 분리 구조의 출발점.

근거 자료

아래 기록에 근거해 정리했습니다. 내부 원문 경로를 표시하며, 비공개 원문 파일은 이 페이지에서 제공하지 않습니다.