모요 데이터 이야기 : 데이터 파이프라인 구축하기
모요의 핵심가치 중 가장 강조되는 핵심 가치 중 하나가 “데이터 기반 사고“ 인데요. 그래서 모요의 데이터 챕터는 모요가 핵심가치에 맞게 일 할 수 있도록 모두가 데이터를 보거나 분석하기 쉬운 문화를 만드려 노력해 왔어요.
지금부터 저희가 데이터 파이프라인을 만들어온 이야기를 들려드릴게요.
기존 파이프라인과 문제점
기존 AWS 파이프라인
모요 기존 데이터 파이프라인
기존 파이프라인은 아래와 같이 구성했었어요.
이 파이프라인은 2022년 6월부터 활용하여 현재 2년간 활용 되고 있었어요.
뭐가 문제 였을까요?
1. 리소스는 없는데 관리하기가 어려웠어요.
아테나를 활용하고 싶은 동료들에게 계속 AWS 계정을 발급해야 했어요.
2. 데이터 용량이 커지다보니 Lambda로 처리하기 어려운 데이터들이 생겼어요.
3. 데이터 엔지니어가 없다보니 개선이나 관리를 맡아서 Fully 일 할 수 있는 사람이 없었어요.
현재의 파이프라인
모요의 현재 파이프라인
왜 GCP였는가?
위의 문제점들을 요약하면 아래와 같아요.
“현재 파이프라인에서 배치를 처리하는 친구들의 성능이 좋지않다.”
“관리가 어렵다.”
“근데 관리할 리소스는 없다.”
이런 문제가 대두되면서 저희 팀 내부에서 고민이 생겼었던것 같아요.
“최대한 관리가 편한 시스템을 선택하여 최대한 자동화 해야하는 걸까?“
고민하던 중에 그냥 관리가 편해보이는(?) GCP 시스템을 도입해보자는 선택을 하게 됐어요.
(개인적으로 저한테 좀 편했던 것 같아요. + 덤으로 크레딧이 있어서 쓰고 싶었어요!)
“성능이 좋지않다.” 부터 해결해보자
성능 좋은 Google BigQuery를 쓸 거예요.
“관리가 어렵다.” 도 해결해보자
여기서의 관리에 대한 문제는 여러가지가 있었고 하나씩 해결했어요.
1. Data Lake 테이블, 컬럼 추가 및 관리의 어려움 : DataStream을 통한 테이블과 컬럼 자동 동기화
동기화된 모습
2. Job별 Dependency 관리의 어려움 : Cloud Composer로 Job orchestration
(과거) 데이터 배치 람다
데이터 마트 람다
(현재) Cloud Composer(airflow)에서 의존성 관리
3. 로그 전송구조의 복잡성: pub/sub to BigQuery로 간소화
파티션이나 테이블 관리 정책은 빅쿼리에서 정해요.
결과로 받게되는 빅쿼리 테이블
4. 계정 관리가 어려움: Google Workspace활용
그리고 앞으로...
이런 과정을 통해서 기존의 파이프라인이 가지고 있던 문제들을 많이 해소할 수 있었어요. 사실 아직 마이그레이션이 조금 남아있긴 하지만, 내부 동료들도 만족스럽게 Google BigQuery를 활용하고 있어요.
그러나 데이터 파이프라인이 개선되었다고 해서 모든 것이 해결된 건 아니에요. 데이터 품질 관리나 데이터 카탈로그, 데이터 거버넌스 수립 등등 많은 일들이 남았어요. 앞으로 GCP기반의 데이터 환경에서 동료들이 데이터를 더 잘 활용할 수 있도록 여러가지 노력을 할 예정이에요.
더 궁금한 부분이 있으시면, 커피챗을 신청해주세요. 자세한 건 커피챗을 통해서 알려 드릴게요.