"스마트 승급 시스템, 회원 승급 자동화의 혁신 스토리"
안녕하세요. 회원 스쿼드 백엔드 개발자 뮤즈입니다!🙌🏻
서비스에서 고객과 브랜드의 관계를 가장 잘 보여주는 것이 무엇일까요? 저는 멤버쉽 서비스라고 생각합니다.
멤버쉽 서비스는 단순히 포인트 적립이나 할인 혜택을 제공하는 것을 넘어, 고객과 브랜드 사이의 신뢰를 구축하고, 고객 충성도를 강화하는 핵심적인 접점 역할을 합니다.
이렇게 중요한 멤버쉽 서비스에서 매년 이루어지는 회원 등급 승급 작업은, 고객들에게 더 큰 혜택을 제공하고 브랜드에 대한 만족도를 높이는 중요한 순간입니다.
하지만 이 승급 작업은 고객 경험의 기반이 되는 동시에, 방대한 데이터를 다루는 복잡한 기술적 도전 과제이기도 합니다.
수작업 기반의 승급 프로세스는 많은 문제를 안고 있었고, 올리브영은 이를 해결하기 위해 올해 대대적인 혁신을 추진한 바 있습니다.
이번 글에서는 멤버쉽 승급 프로세스가 왜 중요한지, 그리고 올리브영이 어떻게 기술적으로 이를 자동화하고 효율적으로 개선했는지를 자세히 소개하겠습니다.
고객과 브랜드의 신뢰를 기술로 어떻게 구현했는지 그 비하인드 스토리를 함께 알아볼까요!
1. 올리브영의 회원 규모
현재 약 1,400만명 이상의 고객이 올리브영 온라인몰을 이용하고 있습니다.
이는 대한민국 전체 인구(약 5,000만명)의 약 1/5에 해당하며, 대한민구 국민 5명 중 1명이 올리브영의 고객이라는 놀라운 규모를 보여주고 있습니다.
이렇게 방대한 고객 기반을 보유한 올리브영은 고객과의 지속적인 관계를 유지하며 더 나은 서비스를 제공하기 위한 올리브 멤버스라는 멤버쉽 서비스를 운영하고있습니다.
아래는 올리브 멤버스에서 현재 운영 중인 회원 등급 시스템입니다.
2. 올리브영의 회원 등급
올리브영에서 멤버쉽 회원 등급을 부여하는 승급작업은 매년 1월, 7월에 2번 이루어지며, 이때 약 1,400만명의 회원이 대상이 됩니다.
그래서 승급 작업 시에 DML이 수행되는 데이터 건 수도 굉장히 많아질테고 데이터 처리 및 마케팅 서비스에 연동되는 처리량도 굉장히 많아져서 이슈가 자주 발생했었고 이에 대한 대응이 필요했어요.
우리는 어떻게 승급 작업을 정확하고 빠르게 또한 가장 중요한 부분인 장애없이 안정적으로 회원 승급 작업을 수행할 수 있을지 고민하고 개선하기 시작했어요.
그럼 먼저 승급 작업 프로세스에서 어떤 점들이 문제였는지 자세히 알아볼까요??
3. 회원 승급 프로세스의 문제점
수기 검증 프로세스의 문제점
사전 데이터 검증 작업과 승급 작업은 대량의 데이터와 복잡성으로 긴 시간이 소요되고, 각 데이터 상태를 일일이 확인해야 하므로 휴먼 에러가 발생할 가능성이 높았습니다.
기존 승급 작업 순서는 아래와 같습니다.
- 승급 전날, 승급 대상 회원의 상태를 사전에 검증합니다. 회원 상태가 정상인지, 약관 철회나 탈퇴 상태가 아닌지 확인합니다.
- 승급 작업은 사용자가 가장 적은 새벽 시간대에 이루어집니다. 개발자들이 직접 PL-SQL을 통해 온라인 스토어 DB와 오프라인 스토어 DB에 등급을 업데이트하고 이력을 저장한 후, 정상적으로 적용되었는지 확인합니다.
- 마케팅 서비스에 회원 등급 데이터를 연동합니다.
- 승급 작업 완료 후, 쿠폰 발급 작업을 진행합니다.
- 쿠폰 발급에 대한 데이터를 마케팅 서비스와 연동합니다.
승급 작업 중 수작업으로 진행되는 과정과 문제점은 아래와 같습니다.
- 밤새 순차적으로 온라인 DB와 오프라인 DB에 대한 DML 작업 및 검증 작업을 수행합니다.
- 수행된 데이터를 각각 온라인 스토어 DB와 오프라인 스토어 DB에서 검증합니다.
- 7개 부서의 각 담당자들이 새벽부터 대기하며 작업 후 검증 작업을 진행합니다. (많은 인적 리소스 소모)
대용량 데이터 작업의 문제점
회원 등급 변경 및 쿠폰 발급 작업이 끝난 후, 변경된 데이터를 마케팅 시스템으로 연동하는데 몇 가지 문제점이 발생했습니다.
- 대용량 DML 작업 후 Oracle GoldenGate를 이용하여 마케팅 시스템으로 데이터가 연동되는 과정에서 동기화 지연 발생
- 데이터 연동 과정에서 지연이 발생하면, 회원 등급 변경 정보와 쿠폰 발급 데이터가 각 서비스에 제대로 반영되지 않아 정상적인 서비스 이용의 어려움
실제로 새벽에 승급 작업을 하고 나서, 마케팅 시스템에 연동이 되어야 하는데 매장 오픈 시간 전까지 데이터가 연동이 안되었어있었습니다.
그래서 매장에서 고객이 사용할 수 있는 쿠폰이 조회되지 않아 쿠폰을 사용할 수 없을 수 있는 문제가 발생하기도 했어요.
그 당시에 연동시간이 대략 9시간 정도 넘게 소요되었습니다.
이렇게 긴 시간동안 데이터가 연동되지 않으면, 매장 오픈 후 서비스를 이용하는데 불편함을 느낄 수 밖에 없었어요.
이런 다양한 문제들로 인해 기존의 수동 방식의 회원 승급 프로세스는 대용량 데이터 작업에 대해서 수작업 검증에 의존하고 있어서 효율성과 정확성 측면에서 너무 많은 한계를 가지고 있었어요.
이러한 문제점을 해결하기 위해, 회원 승급 프로세스를 자동화하고, 대용량 데이터 작업을 효율적으로 처리할 수 있는 방안을 모색해야 했습니다.
그럼 이제 과연 이러한 많은 문제점들을 어떻게 해결했는지 소개해드릴게요!
4. 회원 승급 프로세스는 어떻게 개선되었나요?
승급 작업 자동화 개선
기존 PL-SQL 기반으로 이루어지던 수작업을 AWS 배치로 자동화하여 효율적으로 처리할 수 있도록 개선했어요.
AWS 배치는 대규모 데이터를 효율적으로 처리할 수 있는 스케줄링 및 병렬 처리 기능을 제공하여, 기존 수작업 프로세스의 비효율성을 해소하는데 적합했어요.
아래와 같은 작업 방식 변경을 통해 개발자의 수작업을 최소화하고 효율적인 프로세스를 정립할 수 있도록 하였습니다.
기존 : 온라인, 오프라인 DB각각 PL-SQL을 통해 DML 작업을 직접 수행하고 결과 검증
변경 : AWS 배치를 통해 온라인 스토어 DB, 오프라인 스토어 DB에 대한 사전 데이터 검증, 승급 DML 작업을 한번에 수행하고, 작업 결과에 대한 검증도 함께 자동화
그래서 우리는 비효율적인 프로세스를 개선함으로써 다음과 같은 효과를 얻을 수 있었습니다.
-
인적 리소스 절감
- 기존 수기 작업으로 인해 소요되던 시간과 리소스를 대폭 축소
- 매번 승급 대상 데이터를 사전 검증하고 PL-SQL을 수행하고 승급 결과를 검증하는 반복적인 작업 최소화
- 담당자는 배치 수행 모니터링과 배치 수행 결과를 확인하는 역할로 전환
-
휴먼 에러 감소
- 수기 작업에서 발생할 수 있는 검증 누락 등 오류를 방지
- 데이터 검증과 승급 작업이 어플리케이션 로직 내에서 수행되므로 작업에 대한 정확도 향상
-
배치 스케줄링
- AWS 배치를 통해 작업 스케쥴링 가능
- 기존에는 담당자가 특정 주기에 맞춰 DML 작업을 직접 수행했지만, 배치 작업이 자동으로 실행되므로 승급 주기를 단축 가능
- 슬랙 웹훅을 활용한 알림 전송을 통해 배치 수행 상황을 실시간으로 확인하며 모니터링 가능
대용량 데이터 동기화 개선
기존에는 Oracle GoldenGate를 통해 데이터 동기화를 수행했으나, 대용량 데이터 처리에 한계가 있었습니다.
Oracle GoldenGate는 실시간 복제와 데이터 정합성을 보장해 안정적이지만, 분당 약 3만 건의 처리량으로 대규모 데이터 처리에는 적합하지 않았습니다.
특히, 트랜잭션 기반 동작 특성상 수백만 건 이상의 대용량 데이터 처리에서는 성능 이슈가 발생했습니다.
이를 해결하기 위해 Apache Kafka를 도입하여 데이터 동기화 속도를 개선했습니다.
Apache Kafka는 고성능, 고가용성의 분산 메시지 플랫폼으로, 대용량 데이터 처리에 특화되어 있으며 분당 수십만 건 이상의 데이터 처리가 가능합니다.
이를 통해 기존의 성능 한계를 극복하고 데이터 연동 속도를 대폭 향상할 수 있었습니다.
- 처리 속도 향상
- Oracle GoldenGate의 분당 처리량(약 3만건)에 비해, Kafka는 분당 10만건 이상의 데이터 처리가 가능하기 때문에 데이터 동기화 성능이 약 3배 이상 개선
- 지연 리스크 감소
- Apache Kafka는 서비스 간 데이터 전달 과정에서 발생할 수 있는 버퍼링 지연을 최소화
- 동기화 과정에서의 병목 현상을 제거하여 데이터 일관성 향상
- 확장성 강화
- Apache Kafka는 수평적으로 확장 가능한 구조를 가지고 있어, 데이터 처리량 증가에도 유연하게 대응 가능
- 추가적인 서비스가 연결되더라도 데이터 처리 성능에 영향을 주지 않으므로, 향후 비즈니스 확장에 적합
- 마케팅 서비스 연동 시간 개선
- Oracle GoldenGate 연동시간 : 9시간 41분
- Apache Kafka 적용 후 연동시간 : 58분 (약 90% 이상 감소)
마치며
이번 프로젝트를 통해 회원 승급 프로세스를 자동화하고 대용량 데이터 처리 방식을 개선하여, 기존 수작업의 한계를 극복하고 안정적인 서비스 제공의 기반을 마련했습니다.
특히, AWS Batch와 Apache Kafka를 도입해 대용량 데이터 처리와 동기화 성능을 크게 향상시켰으며, 수작업으로 이루어지던 비효율적인 업무들을 자동화하여 인적 리소스를 절감하고 휴먼 에러를 감소시킬 수 있었습니다.
이를 통해 승급 작업의 효율성과 안정성을 모두 강화할 수 있었습니다.
물론 여전히 개선해야 할 점들이 남아 있습니다. 하지만 우리는 지속적으로 서비스를 개선해 업무 효율성을 높이고, 사용자들에게 더 나은 서비스를 제공할 수 있도록 노력할 것입니다.
앞으로도 올리브영 회원 서비스에 많은 관심과 응원 부탁드립니다.
감사합니다.