라이엇게임즈코리아, MongoDB Atlas 기반으로 수십억 건의 전투 게임 경험을 새롭게 정립하다

MongoDB

역동적인 한국 게임 시장의 중심에는 PC방 문화가 있습니다. 몰입감 넘치는 플레이를 함께 즐기는 독특한 문화 덕분에 한국은 글로벌 게임 업계에서 주목하는 시장으로 성장했습니다.

세계적인 게임 개발 및 서비스 기업인 라이엇게임즈는 대표 게임인 리그 오브 레전드(League of Legends)를 필두로 한국 시장에서 강력한 입지를 구축했습니다. 실제 리그 오브 레전드는 국내 PC방 점유율의 40~50%(2023년 9월 기준)를 차지하는 인기 게임인만큼 라이엇게임즈와 PC방 업계는 협력 관계를 공고히 맺고 있습니다.

김동인 라이엇게임즈코리아 소프트웨어 엔지니어는 MongoDB.local Seoul에 참석해, 라이엇게임즈가 한국에서 독보적인 게임 경험을 제공하고 PC방 생태계와 협력을 강화하는 데 있어 MongoDB Atlas가 발휘하는 영향력에 대해 소개했습니다. 아래의 동영상을 통해서도 본 세션에 대한 자세한 내용을 확인하실 수 있습니다.

PC방 관리 시스템에 혁신을 가져오다

라이엇게임즈코리아는 게이머들이 PC방에서 게임을 즐기는 시간에 따라 요금을 책정하며, 1시간 동안 진행된 게임 정보는 하나의 세션 데이터로 데이터베이스에 저장됩니다. 라이엇게임즈는 국내 게이머들의 많은 사랑을 받는 인기 게임을 필두로 한국에서 괄목할 만한 성공을 거두면서 동시에 연간 40억 건에 달하는 PC방 게임 세션 데이터를 효과적으로 관리해야 하는 과제를 안게 되었습니다.

기존 외주 시스템으로 PC방 과금 체계를 관리하던 라이엇게임즈코리아는 오과금 문제와 비용 상승로 인한 PC방 업주들의 끊임없는 요구에 대응해야 했으며, 동시에 PC방 게이머들을 위한 맞춤형 이벤트를 선보이는 등 서비스 측면에서 새로운 변화를 준비 중이었습니다.

이에 소규모 엔지니어로 구성된 라이엇게임즈코리아의 개발팀은 직접 새로운 시스템 구축 및 운영에 나섰습니다. 팀의 목표는 폭발적으로 증가하는 데이터를 매끄럽게 처리하고, 잦은 스키마 변경에도 문제없이 변화하는 요구 사항을 충족하기 위해 수평적으로 쉽게 확장할 수 있는 시스템을 구축하고 관리하는 것이었습니다.

관계형 데이터베이스의 한계에 대해 알고 있던 팀은 확장성과 빠른 변화에 대한 적응력을 갖춘 MongoDB와 협업을 진행했습니다.

MongoDB Atlas를 통한 데이터 관리 간소화

라이엇게임즈코리아는 먼저 AWS EC2 기반 MongoDB 커뮤니티 버전을 사용해 클러스터를 구성했으며, MongoDB의 도큐먼트 모델로 손쉽게 스키마를 변경할 수 있었습니다.

그러나 서비스 확장에 따라 연간 40억 개의 게임 세션 데이터 도큐먼트가 축적되면서 운영 측면에서 부담이 증가했습니다. AWS EC2의 주기적인 점검과 다운타임 없이 MongoDB 버전 업그레이드를 진행하는 것은 물론 백업 데이터 저장, 서비스 중단, 데이터 손실 없는 서비스 복구 과정 또한 쉽지 않은 작업이었습니다. 이와 함께 내부 이해관계자로부터 게임 유저들에 대한 데이터 분석 및 시각화에 대한 요구도 계속됐습니다.

이에 라이엇게임즈코리아는 MongoDB Korea의 전문적인 가이드와 지원을 통해 AWS 기반 MongoDB Atlas로 마이그레이션을 진행했습니다. Atlas로의 마이그레이션 후 사용자 친화적인 웹 UI를 통해 클러스터 관리를 간소화하고, API를 통한 프로그래밍 방식의 클러스터 생성이 가능해졌습니다. 원활한 마이그레이션을 위해 사용한 Mongomirror 애플리케이션은 동기화 및 테일링(tailing)을 포함해 단 16시간 만에 100억 개의 게임 세션 데이터를 비롯한 도큐먼트를 동기화했습니다.

김동인 엔지니어는 "소프트웨어 백엔드 엔지니어로서 MongoDB Atlas로의 마이그레이션은 만만치 않은 작업이었다. 하지만 코드적으로는 구성에서 DB URI 하나만 수정하면 되었기 때문에 매우 간단하게 진행할 수 있었다"고 설명했습니다.

김동인 라이엇게임즈코리아 소프트웨어 엔지니어

개발자의 생산성 극대화

라이엇게임즈코리아는 특히 MongoDB Atlas로 마이그레이션 후 자동화된 유지·보수 기능으로 상당한 운영 개선 효과를 거두었고, 효율성을 높여 더 나은 게임 경험을 제공하는 데 주력할 수 있었습니다.

김동인 엔지니어는 "MongoDB Atlas를 통해 더 자주, 자동으로 백업을 진행할 수 있어 엔지니어가 새로운 서비스 개발에 집중할 수 있는 환경을 구축할 수 있었다"며 "이제 Query Profiler 메뉴에서 이상 쿼리를 탐지 및 식별하고, 슬로우 쿼리(slow query) 모니터링도 신속하게 진행할 수 있다. 데이터베이스 성능 향상을 위한 개선 사항을 제안하는 Performance Advisor는 인덱스 추천을 통해 효율적인 데이터베이스 관리를 가능케한다"고 전했습니다.

김동인 라이엇게임즈코리아 소프트웨어 엔지니어

이 밖에도 개발 팀은 MongoDB Atlas Charts를 통해 동시 접속자 수, 일일 매출, UV(Unique Visitor) 등 내부 직원들의 다양한 데이터 관련 요청사항에 신속하게 대응할 수 있었습니다. 이러한 인사이트는 곧 서비스 개발을 위한 인사이트 구체화에도 활용됐습니다.

또한 팀은 Atlas의 Online Archive기능을 활용해 자주 액세스하는 데이터와 사용 빈도가 낮은 오래된 데이터를 분리해 저장함으로써 데이터베이스 성능을 최적화하고 운영 부담을 크게 줄일 수 있었습니다. 이를 통해 150억 건에 육박하던 도큐먼트 워크로드가 46억 건으로 줄어들었습니다.

김동인 엔지니어는 "도큐먼트 기반 데이터베이스 중 가장 강력하고 편리한 기능을 제공하는 MongoDB를 통해 개발자의 운영 부담을 줄일 수 있었다"며 "무엇보다도 MongoDB Korea 팀이 보여준 컨설팅, 마이그레이션 및 퍼포먼스 역량과 다양한 요구사항에 대한 상세한 답변은 실무진에게 많은 도움이 됐다"고 강조했습니다.

라이엇게임즈코리아는 앞으로도 MoongoDB와 적극 협업하며 발전을 거듭하는 게임 산업의 밝은 미래를 이끌어갈 예정입니다.