에이블리 데이터 엔지니어 6문 6답

2024-10-16

에이블리 서비스의 뒤편에는 대용량 데이터를 빠르고 안정적으로 처리하기 위해 데이터 파이프라인과 데이터 플랫폼을 개발하는 데이터 엔지니어가 있어요.

24년 10월 기준 MAU 878만, DAU 237만. 하루에만 수억 개의 취향 데이터가 쌓이는 에이블리에 관심 가져주시는 분들을 위해 궁금해하실 만한 내용을 모아 데이터 엔지니어 6문 6답을 준비했습니다.

에이블리 데이터 엔지니어는 어떤 일을 하는지, 어떤 환경에서 일하는지 지금 바로 살펴보세요!

1️⃣ 데이터 엔지니어는 무슨 일을 하나요?

에이블리 데이터 엔지니어는 대용량 데이터를 빠르고 효율적으로 활용할 수 있도록 데이터 플랫폼을 구축하고 운영하는 업무부터, 높은 처리량과 장애 대응에 유리하도록 파이프라인을 지속적으로 개선하는 일까지 담당해요.

가장 대표적으로는, 실시간 처리와 배치 처리를 조화롭게 운영하며 커머스 서비스 특성상 증가하는 데이터를 빠르게 처리하고 안정적으로 관리하는 업무가 있어요. 실시간 처리에서는 Kafka로 사용자 행동 데이터를 안정적으로 수집하고, 이를 Flink로 가공해 필요한 데이터를 적시에 제공합니다. 배치 처리 작업에서는 Spark와 Airflow가 함께 사용되는데, Spark는 대용량 데이터를 분산 처리해 분석할 수 있는 형태로 가공하고, Airflow를 통한 자동화를 통해 데이터 파이프라인의 가용성을 높이고 있어요.

에이블리는 데이터 기반의 의사 결정을 매우 중요하게 생각하고, MD나 다른 직무 구성원들도 직접 쿼리를 짜 데이터를 살펴볼 만큼 전사 구성원의 데이터 리터러시가 높아요. 이를 지원하기 위해, 데이터 엔지니어는 BigQuery, Athena, S3와 같은 다양한 스토리지 솔루션을 활용해 방대한 데이터를 안전하게 저장하고 분석할 수 있는 환경을 조성하고 있죠. 또한, Redash와 Superset 같은 시각화 도구를 통해 전사적으로 데이터를 쉽게 시각화하고 이해할 수 있는 기반을 제공해요. 이러한 시스템 덕분에 구성원분들은 언제든지 손쉽게 필요한 데이터에 접근할 수 있어, 신속하고 정확한 비즈니스 의사결정에 기여하고 있습니다.

이 외에도 에이블리 데이터 엔지니어는 개인화 추천 시스템을 위한 피쳐 스토어 관리를 통해 사용자 데이터를 기반으로 맞춤형 추천이 가능하게 하며, 빠르게 변화하는 비즈니스 요구에 발맞춰 데이터 기반의 개인화 서비스를 실현하고 있습니다.

2️⃣ 그렇다면, 현재 트래킹하고 있는 데이터 규모는 어느 정도 되나요?

에이블리에서는 MAU 878만 명(24년 10월 기준)의 유저 행동 데이터와 서비스 데이터를 매일 처리하고 있어요. 정확한 데이터의 크기나 로우 수는 데이터의 형태에 따라 차이가 있지만, 유저가 매일 240만여 명 이상 방문해 수억 개의 상품을 취향에 맞게 살펴보는 규모를 생각해 보시면 감이 오실 거예요. 이처럼 다양한 유저의 행동 데이터가 쌓이면서, 패션, 뷰티, 라이프 등 여러 카테고리에서 사용자들이 '취향에 맞는' 제품을 찾고, 구매하는 패턴이 계속해서 기록되고 있습니다.

또한, 이러한 데이터를 기반으로 더 정교한 추천 시스템을 구축해 나가고 있어요. 유저의 관심 상품, 찜한 상품, 구매 패턴 등을 바탕으로 더 개인화된 추천을 제공하려 노력하고 있죠. 에이블리의 방대한 데이터는 단순히 저장되는 것이 아니라, 사용자 경험을 개선하고 더욱 최적화된 서비스를 제공하기 위해 지속적으로 분석되고 활용되고 있습니다.

3️⃣ 이렇게 많은 양의 데이터를 어떻게 안정적으로 운영할 수 있는 건가요?

에이블리에서는 대규모 데이터를 안정적으로 운영하기 위해 분산 처리 플랫폼을 적극적으로 활용하고 있어요. 트래픽 변화에 유연하게 대응하기 위해 확장성에 중점을 두고, Hadoop(Spark), Kafka, Flink, ScyllaDB 같은 기술들을 사용하고 있습니다. 이러한 기술 스택 덕분에 데이터가 급격히 증가하는 상황에서도 데이터를 효과적으로 분산 처리하고, 필요한 만큼 빠르게 확장할 수 있어요.

더불어, 시스템별 메트릭 모니터링을 통해 장애에 신속하게 대응할 수 있는 환경을 갖추고 있습니다. Spark는 대용량 데이터를 안정적으로 처리하고, Kafka는 실시간 데이터 스트리밍을 담당해요. Flink는 실시간 데이터의 변화를 빠르게 처리할 수 있게 해 주고, ScyllaDB는 높은 처리량을 유지하면서도 지연 시간을 줄여줘요. 이러한 분산 시스템들 덕분에 데이터가 끊임없이 유입되는 환경에서도 안정적인 처리가 가능하죠.

또한, 모니터링 시스템을 통해 작은 변화도 즉시 감지할 수 있고, 자동화된 시스템을 통해 빠르게 대응할 수 있는 환경을 구축했습니다. 에이블리에서는 한 시스템에 장애가 발생하더라도 서비스 전체에 영향을 주지 않도록 아키텍처를 설계해, 언제나 안정적인 데이터 운영을 목표로 삼고 있습니다.

이처럼 에이블리는 분산 처리와 확장성을 바탕으로 안정적인 데이터 운영을 위해 끊임없이 노력하고 있어요. 예측할 수 있는 문제를 미리 대비하고, 항상 매끄럽게 서비스가 운영될 수 있도록 최선을 다하고 있습니다.

4️⃣ 주로 어떤 데이터를 다루고 있나요?

에이블리에서 주로 다루는 데이터는 크게 네 가지로 나눌 수 있어요.

첫 번째는 유저들의 이벤트 데이터입니다. 에이블리 앱에 들어온 유저들이 어떤 행동을 하는지, 예를 들어 상품을 살펴본다거나, 찜하거나 장바구니에 담는 등 모든 이벤트를 저희가 개발한 SDK와 이벤트 수집 서버를 통해 실시간으로 수집하고 있습니다. 이를 통해 사용자 행동 패턴을 분석하고, 개인화된 추천이나 UX/UI 개선 등에 활용하고 있어요.

두 번째는 운영 데이터베이스에 쌓여 있는 테이블 데이터입니다. 이 데이터는 실시간으로 분석용 데이터베이스에 동기화되어, 다양한 분석과 비즈니스 인사이트 도출에 사용됩니다. 유저 행동뿐만 아니라, 서비스 운영에 필요한 중요한 데이터를 한곳에 모아 실시간으로 접근할 수 있도록 해주는 거죠.

세 번째는 실험 로그 데이터입니다. 자체 개발한 실험 플랫폼을 통해 다양한 실험을 진행하면서, 실험 결과를 추적하고 분석하는 로그 데이터를 수집하고 있어요. 이를 통해 새로운 기능이나 변화가 실제 사용자 경험에 어떤 영향을 미치는지 검증하고, 의사결정에 활용하고 있습니다.

마지막으로 추천과 관련된 피처 데이터가 있어요. 추천 시스템에 필요한 여러 피처를 수집하고 이를 분석해, 사용자들이 더 맞춤형으로 자신에게 맞는 상품을 찾을 수 있도록 돕고 있습니다. 다양한 소스로부터 수집된 피처 데이터를 바탕으로, 보다 정교한 추천이 가능해지고 있죠.

이렇게 에이블리는 다양한 종류의 데이터를 실시간으로 수집하고 동기화하여, 사용자 경험을 개선하고 비즈니스 성과에 기여할 수 있도록 노력하고 있어요. 또한, 정합성을 엄격하게 검증하는 과정도 포함되어 있어, 언제나 정확하고 신뢰할 수 있는 데이터를 제공하는 것을 최우선으로 하고 있습니다.

5️⃣ 어떤 데이터 엔지니어를 찾고 있나요?

먼저 대규모 데이터를 안정적이고 효율적으로 관리할 수 있는 데이터 엔지니어를 찾고 있어요. 특히, Kafka, Spark(Hadoop)과 같은 분산 처리 프레임워크 경험을 갖추신 분이라면 더욱 환영이에요. 높은 처리량을 요구하는 환경이다 보니 자연스럽게 난이도가 높은 엔지니어링 문제를 직면하게 되는데요. 문제를 해결하는 과정에서 새로운 기술을 도입하거나, 자동화를 적극 활용하는 등 다양한 고민을 해보신 분이 오셨으면 좋겠어요.

그리고 문제 해결에 대한 열정과 개방적인 태도를 가진 분도 환영해요. 에이블리는 문제 해결에 필요하다면 새로운 기술(Hudi, DataHub, ScyllaDB)도 적극적으로 도입하고 있어요. 문제 해결에 있어서 특정 도구에 얽매이지 않고, 비즈니스에 기여할 수 있는 기술이라면 무엇이든 유연하게 사용할 수 있는 분을 환영합니다.

또한, 비즈니스의 우선순위를 파악하고 주도적으로 실행할 수 있는 분을 찾고 있어요. “이 일이 에이블리를 성장시키는 데 정말 중요한가?”를 끊임없이 고민하며, 비즈니스에 핵심적인 기여를 할 수 있는 액션을 찾아 실행할 수 있는 능동적인 분이 함께 해주셨으면 해요. 필요하지 않은 작업이라면 과감하게 스킵할 줄 아는 판단력도 중요합니다.

“어떤 일이 우리 팀과 회사를 성공으로 이끌 수 있을까?”를 고민하며 깊이 있는 사고로 협력하고 싶으신 분, 적극적으로 의견을 나누고 기술을 탐구하는 것을 즐기는 분이라면 에이블리 팀에 꼭 맞을 거예요!

6️⃣ 에이블리 데이터 엔지니어, 이런 점이 좋아요.

먼저, 국내에서 손꼽히는 대규모 서비스 환경에서 일할 수 있다는 점이 매력적이에요. 매일 엄청난 양의 데이터가 발생하기 때문에, 이를 더 빠르고 단순하게 처리하기 위해 도전할 과제가 늘 존재합니다. 배치 처리와 실시간 처리를 모두 경험할 수 있다는 점도 꼽아볼 수 있어요. Spark와 Airflow를 통한 배치 작업으로 대규모 데이터를 정기적으로 처리하고 있고, Kafka와 같은 실시간 처리 도구를 활용해 적시에 데이터를 제공하고 있다 보니 다양한 데이터 환경에서 경험을 쌓을 수 있어요.

두 번째로는, 다양한 데이터 기술 스택을 직접 다뤄볼 수 있다는 점이에요. Spark, BigQuery, Athena, Kafka, Airflow 같은 플랫폼을 이용해 실제로 대용량 데이터를 안정적으로 관리하고 처리하면서 매일 성장하고 있다고 느껴요. 특히 에이블리는 새로운 기술 도구를 도입하는 데 열려 있어서, Hudi나 DataHub 같은 신기술로 문제를 해결할 때가 많아요. 비즈니스에 꼭 필요한 최적의 솔루션을 찾아가는 과정에서 늘 도전이 있고, 그게 정말 재미있습니다.

마지막으로, 데이터 파이프라인의 모든 단계에 깊게 관여하면서 비즈니스의 실질적인 성과에 직접 기여할 수 있어요. 대규모 데이터 환경에서 전체 그림을 보며 파이프라인을 설계하고 운영할 수 있는 기회는 흔치 않죠. 에이블리에서 일하며 기술적 성장을 이루는 동시에, 데이터 엔지니어로서 비즈니스 문제를 해결하고 가시적인 성과를 만들어가는 경험을 할 수 있다는 점도 가장 큰 장점입니다.

에이블리는 지금 채용 중

아무도 상상하지 못한 넥스트 커머스. 지금, 에이블리와 함께 해주세요.