마이리얼트립 EDW(Enterprise Data Warehouse) 구축 : phase 1

Meta data를 활용한 데이터 수집기 개발

Share
마이리얼트립 EDW(Enterprise Data Warehouse) 구축 : phase 1

마이리얼트립 Data platform팀은 여행자에게 최고의 여행 서비스를 제공하기 위해 사용자의 구매/행동/상품/이벤트/마케팅등 내/외부 데이터를 쉽고 빠르게 분석 할 수 있도록 데이터를 수집하고 관리합니다. 회사가 성장하면서 비즈니스 요구 사항이 증가하고, 업무가 늘어남에 따라 데이터가 점점 복잡해지고 데이터의 양도 많아지게 됩니다. 현재 시스템으로 미래를 대비할 수 없다고 판단해 마이리얼트립에 가장 적합한 EDW(Enterprise Data Warehouse)를 구축하게 되었습니다.

EDW의 구축 phase 1에서는 5가지의 목표(빠른 수집, 안정적인 데이터 제공, 체계적인 데이터관리, Data Quality, 통제 가능한 시스템)로 하여 통합 데이터 수집 시스템을 개발하게 되었습니다.

1. 빠른 수집

빠른 비즈니스 대응을 위해서 신규로 생성되는 데이터에 대한 이관 시간을 최소화 할 수 있도록 ETL Job Meta를 설계/적용하여 ETL(exact/transfer/load)을 자동화하였습니다.

마이리얼트립은 신규 데이터에 대한 수집/이관/검증이 10분 이내로 가능합니다. 신규 개발된 통합 데이터 수집 시스템은 오직 Job Meta DB에 테이블 정보와 ETL Job 이름 Target 테이블 정보 등 필요한 정보만 넣어 주게 되면 자동으로 수집/이관/검증이 완료됩니다.

현재 통합 데이터 수집 시스템에서 사용 중인 Airflow는 Dag의 숫자가 증가하면 시스템의 장애 이슈가 매우 커지고 개발/운영이 매우 복잡하고 느려지게 됩니다. 이런 문제들을 해결하기 위해 ETL Job meta를 이용하여 주제지향적으로 Dag를 운영한다면 이러한 문제들을 해결 할 수 있습니다.

  • AS-IS 이관 프로세스
    데이터 이관 요청 → Dag 개발 → 데이터 이관 → 데이터 수동 검증 → 제공
  • 신규 이관 프로세스
    데이터 이관 요청 → Meta DB값 → (데이터 이관 및 검증 자동) → 제공

2. 안정적인 데이터 제공

데이터 수집 시스템은 항상 장애에 대비 해야 합니다. 장애 발생 시 빠르게
인지 해야 하고, 재작업을 최대한 빠르게 진행되어야 합니다. 신규 통합 데이터 수집 시스템은 Job에 대한 로깅 및 Alert system을 적용하였습니다.

ETL Job 실패 시 Slack으로 자동으로 알람이 발송되고 원인에 대해서 빠르게 확인 할 수 있도록 합니다. Slack 채널 연동은 별도의 코딩 없이 Job Meta 테이블에 신규로 모니터링 해야 하는 공간 정보만 넣어주면 추가가 가능합니다.

또한 일시적인 장애로 인한 적재 이슈를 해결하기 위해서 Job meta에 재시도 주기를 추가하면 에러 발생 시 자동으로 설정한 주기에 따라서 Job을 Retry 합니다. (보통 장애는 새벽에 발생하고, 이러한 장치가 있어야만 데이터 엔지니어들이 밤잠을 설치지 않을 수 있습니다)

Slack alert meta 등록

airflow 상세 Log 확인

3. 체계적인 데이터 관리

회사의 비즈니스가 복잡해지고 지속해서 성장하기 위해 데이터는 체계적으로 관리 되어야 합니다. 마이리얼트립의 EDW는 데이터 프로세스를 적용하여 효율적으로 운영할 수 있으며, 데이터 거버넌스를 적용하여 데이터 사용의 편의성과 안정성을 가져갈 수 있도록 하였습니다.

EDW Flow

Job / Table 명명규칙 적용

데이터 사전 적용
마이리얼트립에서 사용하는 단어를 관리하여 정보의 통일성을 가져간다

컬럼 자동 생성
사전 정의된 단어 사전을 참조하여 자동으로 컬럼명을 생성한다.

4. Data Quality 보장

데이터는 항상 신뢰성이 보장되어야 합니다. 데이터의 신뢰성을 보장하기 위한 장치는 최소한의 리소스로 빠른 인지를 할 수 있도록 해야 합니다.
ETL Job이 실행되면, 다양한 방법으로(count, sum, min, max …) 원천/타겟 테이블에 대한 데이터 검증을 하고 Job 실행 로그에 기록됩니다.

5. 통제 가능한 자체 시스템 구축

데이터 이관 시스템의 Core 부분은 자체적으로 개발하였으며, Airflow의 일부 스케줄링 기능만을 이용하여 구축하였습니다. 기존에 사용 중인 3rd party 데이터 수집 솔루션에 대한 종속성을 완전히 끊어 버렸습니다. 이로 인해 3rd party 솔루션에서 제공되지 않는 데이터 소스도 안정적으로 제공 가능하고 데이터 증가로 인한 솔루션 사용 비용 증가를 방지 할 수 있었습니다.

기존에는 여러 솔루션을 이용하여 case-by-case로 관리를 하고 있었지만 이런 운영은 장애인지도 상당히 늦어질 수 있으며, 장애 대응 비용도 상승할 수 있습니다.

마이리얼트립의 신규 통합 데이터 수집 시스템은 여러 플랫폼에서
수집하고 있는 데이터 수집기를 일원화하여 통합 관리를 통해 운영 비용을
최소화하였습니다.

마이리얼트립의 데이터 플랫폼 프로젝트는 클라우드에 비종속적으로 설계하고 있습니다. 이유는 특정 클라우드 서비스에 Lock-in이 되지 않기 위해서 입니다. 클라우드를 운영하다 보면 처음에는 데이터 분석에 대한 비용이 적게 발생 되지만, 비즈니스가 성장하면 할수록 데이터가 폭발적으로 증가를 하게 되고, 이로 인해 클라우드 비용이 폭발적으로 증가합니다.

마이리얼트립은 클라우드에서 제공하고 있는 장점 중에서 꼭 필요한 기능을 활용하여 통합 데이터 시스템을 만들어 가고 있습니다.
데이터의 체계적인 관리는 데이터로 움직이는 서비스 및 회사를 만들기 위해 반드시 필요합니다. 데이터를 개발/운영하는 분들께 이 글이 도움 되었기를 바라며 앞으로의 Phase2, 3에 대해서도 지속적해서 공유 하도록 하겠습니다.

마이리얼트립 Data Platform팀은 데이터를 분석하여 여행자에게 최고의 여행을 선사하고자 노력하고 있습니다. 팀과 회사에 대해 궁금하신 분들은 아래의 페이지를 방문해주세요.
https://career.myrealtrip.com/

Read more

"무엇을 자동화할까보다, 무엇을 먼저 정리할까": 두 사람이 정책 운영을 다시 짠 이야기

"무엇을 자동화할까보다, 무엇을 먼저 정리할까": 두 사람이 정책 운영을 다시 짠 이야기

마이리얼트립 서비스정책팀은 두 사람이 회사 서비스 정책 전반을 함께 책임지는 조직입니다. 파트너 입점 자격, 상품 검수 기준, 가격 표시, 후기, 외부 거래 안내까지, 다루는 영역은 좁지 않습니다. 그런데도 이 폭을 두 사람이 감당할 수 있게 된 데에는, 팀의 리듬을 처음부터 다시 잡은 시간이 있었습니다. 마이리얼트립은 AI Native 조직으로 일하는 방식을

By Myrealtrip
PE가 영업으로 '전직'해보는 3주: Sales Lab 1기 모집 시작

PE가 영업으로 '전직'해보는 3주: Sales Lab 1기 모집 시작

마이리얼트립은 지난 2년 동안 AI Lab을 운영하며, 같은 일을 더 적은 인원과 더 짧은 시간으로 만들 수 있는지 확인해왔습니다. 만드는 데 드는 시간이 줄어들자, 자연스럽게 다음 질문이 따라왔습니다. 그 시간을 어디에 다시 써야 하는가. 마이리얼트립의 답은 '고객을 이해하는 영역'이었습니다. 그리고 그 답을 조직 차원의 실험으로 옮긴 것이

By Myrealtrip
AI 네이티브 조직의 CX: 마이리얼트립이 2년 동안 발전 시킨 고객 응대의 구조

AI 네이티브 조직의 CX: 마이리얼트립이 2년 동안 발전 시킨 고객 응대의 구조

마이리얼트립의 AI 전환 2년이 가장 먼저, 가장 깊게 닿은 곳은 고객 응대였습니다. 채팅·전화·운영 인력·상담원 도구가 같이 움직였고, 그 결과를 지금은 AICX라는 조직이 자사를 넘어 다른 회사의 CX 위로 옮기는 단계까지 와 있습니다. 마이리얼트립과 자회사 AICX의 CTO를 같이 맡고 있는 허원진 님이, 이 흐름을 외부 자리에서 정리하기 시작했습니다.

By Myrealtrip
AI Lab 2년이 마이리얼트립에 남긴 것

AI Lab 2년이 마이리얼트립에 남긴 것

AI Lab 이동훈 팀장 2024년 11월에 출범한 마이리얼트립 AI Lab이 2년의 운영을 마칩니다. 별도 추진 조직이 끌어가지 않아도 구성원 각자가 자기 손으로 AI를 일에 녹여내는, AI Native한 일하는 방식이 회사 안에 자리 잡았다는 판단에서 내린 결정입니다. 끝맺음이라기보다, 무게중심을 다음 단계로 옮기기 위한 정리에 가깝습니다. 마이리얼트립 AI Lab을 2년간 이끌어 온

By Myrealtrip