Skip to content

[DDM] 글로벌 서비스를 준비하기 위한 데이터라이즈의 고민

데이터라이즈

 

 

지난 DDM(Datarize Dev Meetup)의 첫 세션은 데이터 챕터 이야기였습니다. 데이터 챕터 세션 중에서도 데이터 엔지니어(DE)이자 데이터 챕터의 Lead를 맡고 있는 승호님이 첫 주자로 발표를 시작했는데요. 글로벌 서비스를 준비하고 있는 데이터라이즈 데이터 챕터의 고민을 주제로 이야기를 시작했습니다. 

ᄋᄋ

안녕하세요. 데이터 엔지니어이자 Lead를 맡고 있는 정승호입니다. 데이터를 비즈니스로 만들기 위한 저희의 고민과 노력을 담아 보았습니다. 첫번째는 글로벌 서비스를 준비하기 위한 고민입니다. 데이터라이즈에서는 안정적인 데이터를 처리하기 위해 많은 고민을 하고 있는데요. 오늘은 그중에서도 글로벌 서비스를 위한 타임존에 대해서 이야기해보려고 합니다. 글로벌 진출에서 왜 타임존에 대해서 고민해야할까 의문을 가지실 수 있습니다.

저희는 현재 국내 이커머스 타겟의 데이터 기반 CRM 마케팅 솔루션입니다. 이커머스 내에서 일어나는 고객의 행동 시간과 데이터라이즈가 움직이는 시간이 동일합니다. 하지만, 글로벌에서는 다릅니다. 데이터라이즈가 가지고 있는 타임 개념과 이커머스의 타임 개념이 달라집니다. 그래서 글로벌로 진출한다면 이커머스의 시간대, 이커머스를 이용하는 고객의 시간대에 맞춰서 구매 유도에 대한 캠페인을 수행해야 합니다. 그 말은 즉, 시간대를 알아야만 제대로 된 서비스를 제공할 수 있다는 것을 의미합니다.

 

01_data_최최최최종.007

주문데이터의 시간대를 예시로 살펴보겠습니다. LA와 한국 시간 모두 오후 3시에 주문 했다고 가정해 보겠습니다. 이 때, 우리는 DB를 어떤 형태로 저장해야할지 또 주문일을 각 시간대 기준으로 할지 혹은 다른 형태가 좋은지 고민해야 합니다. 또한, 미국을 비롯해 여러 국가들이 서머타임을 가지고 있기에 이 부분은 어떻게 처리할지 고민이 필요합니다.

 

01_data_최최최최종.008-1

데이터라이즈는 지금까지 하이브 메타스토어 기반의 방식 기반으로 Athena Query나 Spark을 통해 분산처리를 했습니다. 하지만 비즈니스 사이드로부터 데이터의 최신성과 다양한 케이스의 데이터 처리에 대한요구사항이 점점 증가하고 있습니다. 데이터가 증가할수록 소요 시간도 늘어나고 데이터가 증가하면서 구조적인 한계로 인해 모든 데이터를 메모리에 올려서 처리해야하는 문제에 직면하면서 새로운 아키텍쳐에 대한 고민도 하게 되었습니다.

 

01_data_최최최최종.009

혹시 아이스버그(ICEBERG)라고 들어보셨나요? 넷플릭스에서 처음 만들어지면서 알려졌고, 요즘은 오픈 테이블 포맷으로 비슷하지만 다른 형제격인 델타테이블(Delta table)과 후디(hudi)와 함께 알려지고 있습니다. 아이스버그는 “데이터 처리는 왜 RDB에서처럼 쓰지 못하는가”에 대한 고민에서 시작됐습니다. 이 고민은 아이스버그 내부의 카탈로그와 메타 스토어 레이어를 통해 이를 추적 관리하는 방식으로 해결했습니다. 데이터라이즈는 그러한 아이스버그를 통해 나라별 시간대에 맞춘 동시 수행을 구축했습니다. 데이터라이즈는 S3구조임에도 최근 AWS에서 모든 컴포넌트에서 아이스버그를 지원하도록 제공하면서 현재 데이터라이즈에서도 전환이 가능하게 된거죠. 오늘 세션은 아이스버그에 대한 기술 세션이 아니므로 이 정도로만 설명을 드리겠습니다.

모든 기술이 그렇듯 아이스버그만 쓰면 모든 것들이 해결 되는 것은 아닙니다. 데이터라이즈는 아이스버그를 이용해 다양한 시간대의 데이터를 어떻게 써야하고 파티션을 어떻게 쓰고 제공하는 것이 효율적인지를 고민하고 적용해야합니다. 즉, 이 고민이 현재 데이터라이즈 데이터 엔지니어가 가장 고민 하고 있는 점입니다.

 

01_data_최최최최종.011

데이터라이즈는 2년전에는 50개의 고객사를 대상으로 하루에 2400만건의 실시간 데이터와 4500만건의 배치데이터를 처리하는 레벨이었습니다. 현재는 파이프라인 안정화를 통해 고객사가 500개로 늘어나면서 기존의 4배 이상의 처리량을 커버할 수 있는 형태로 진화했습니다. 이제 현재의 10배 이상의 데이터를 처리할 수 있는 구조를 만들기 위해 고민이 필요한 시점이고, 그 과정 중에 하나인 타임존과 아이스버그에 대해 말씀 드렸습니다.

 

이와 같이 데이터라이즈 데이터 엔지니어는 패러다임 쉬프트를 포함한 데이터 아키텍쳐 설계, 이를 수행하기 위한 인프라 관리, 이 모든 것들을 원할하게 제공하기 위한 흐름을 제어 관리하는 역할을 수행하고 있습니다. 데이터가 비즈니스로 직접 연결되기 때문에 가능한 일입니다. 이 다양한 역할은 데이터 엔지니어로서 좋은 커리어가 될 것이라 확신하고 있습니다. 성장에 목마른 엔지니어가 있다면 데이터라이즈에서 저희와 함께 회사와 본인의 성장을 느껴보셨으면 좋겠습니다.

함께 성장할 DE를 찾고 있습니다!

회사의 성장과 스스로의 성장을 함께 만들고 싶은 분이라면?