글을 시작하며
안녕하세요, 올리브영에서 데이터 엔지니어 업무를 담당하고 있는 고라파덕 입니다. 🙏
오늘 올리브영 데이터 엔지니어링에 대한 얘기를 하려 글을 작성하게 되었습니다.
데이터 엔지니어링 정의
데이터 엔지니어링을 간단하게 정의하면 "데이터를 유용한 상태로 필요한 이에게 제공하는 업무" 로 이야기할 수 있습니다.
간단해 보이지만, 이 역할에는 많은 데이터 활용 능력이 필요합니다.
아래 그림은 데이터 엔지니어링과 관련된 활동의 한 예와 2020년 기준 Data Engineer 기술에 관한 내용입니다.
데이터 엔지니어링을 업무 영역으로 구분하면 좁게는 데이터 파이프라인 개발 로,
넓게는 효과적인 데이터 제공을 위한 데이터 프로세스 수립 및 데이터 플랫폼 구축, 데이터 파이프라인 개발을
포함한 회사 데이터 생태계의 대부분 업무를 포괄할 수도 있습니다.
회사마다 조직의 성격에 따라 데이터 엔지니어링의 정의가 다를 수 있어, 올리브 영 데이터 엔지니어링 에 대해 이야기하겠습니다.
올리브영 데이터 엔지니어링
1. IDC 기반 데이터 엔지니어링
기존 올리브영 데이터 파이프라인은 다음과 같은 구조로 이루어져 있었습니다.
이는 전통적 ETL 시스템 구조로 원본 DB 소스를 ETL 하여 DW (Data Warehouse) 에 적재하고,
DW 데이터를 이용하여 BI (Business Intelligence) 를 구성하거나, DW 쿼리를 통해 데이터 분석 업무를 진행하게 됩니다.
위 시스템은 좁은 업무 영역의 데이터 엔지니어링을 의미하며, DW에 데이터를 적재하는 파이프라인 개발에 한정 되었습니다.
2. IDC + 클라우드 기반 데이터 엔지니어링
기존 ETL 시스템도 여러 장점이 있지만,
빠르게 추가되는 원천 데이터 수용 문제와 다양한 경로를 통한 데이터 제공 등 여러 한계가 있어 새로운 데이터 플랫폼 설계 및 구성이 필요하였습니다.
새로운 데이터 플랫폼 구성은 서비스 확장 및 구성이 쉬운 클라우드 기반으로 결정하였으며, AWS / Azure / GCP를 비교,
그중 GCP 로 데이터 플랫폼 구성을 진행하게 되었습니다.
GCP 도입 이후 Airflow / Spark 를 통해 다양한 데이터 원천을 수용하고, 효율적인 데이터 작업이 가능하게 되었습니다. 그리고 현재 데이터 기술 중 가장 강력한 분석 도구의 하나인 빅쿼리를 이용한 데이터 분석 환경도 제공하게 되었습니다.
또한 클라우드 기반의 데이터 플랫폼의 장점인 서비스 확장성을 통해 ETL 을 통한 데이터 수집 외 로그 수집 기능도 제공하게 되었습니다.
이는 올리브영의 데이터 엔지니어링 업무가 이전 좁은 의미에서 넓은 의미로 확장되고 있음 을 의미한다 할 수 있습니다.
마치며
올리브영의 데이터 플랫폼은 다양한 형태의 데이터 제공을 위해 MSA 아키텍처를 통한 데이터 서비스 플랫폼으로 또 한 번의 확장을 진행 중입니다.
기존 요청 사항에 대한 데이터 처리 및 제공 업무에서 우리가 제공할 수 있는 데이터 서비스는 무엇이고, 데이터 기반의 올리브 영이 될 수 있을지 계속 고민하고 있습니다.
저희와 올리브영 데이터 여정을 함께 하실 분들 모집하고 있습니다.
감사합니다.