Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas 아키텍처 센터
/ / /

글로벌 게임 관리 효율화

MongoDB Atlas를 통한 끊김없는 게임 데이터 관리(글로벌 프로필, 기록 및 실시간 대시보드 포함).

사용 사례: 분석

산업 분야: 미디어

제품: Atlas, Atlas Global Clusters, Atlas Search, Atlas Charts, Aggregation Framework, Atlas Data Federation

파트너: Unity 게임 엔진, Amazon EC2

게임 산업에서 플레이어 프로필, 인벤토리 및 게임 상태를 전 세계적 규모로 관리하는 것은 과제입니다. MongoDB Atlas와 Leafsteroids를 결합하면 탁월한 솔루션을 제공합니다. 글로벌 클러스터는 지리적 위치에 상관없이 플레이어 프로필을 원활하게 처리하며, 유연한 문서 모델을 갖춘 MongoDB는 고급 데이터 관리 기능을 제공하여 상세한 게임 기록을 가능하게 합니다. Atlas Charts를 통해 실시간 대시보드를 제공하고, Atlas Search와의 사용자 친화적인 상호작용은 플레이어 경험을 풍부하게 합니다. MongoDB Atlas와 함께, 글로벌 확장성, 효율적인 데이터 관리, 사용자 중심의 디자인이 게임 산업에서 조화롭게 공존하는 미래가 이미 현실이 되었습니다.

Atlas가 없는 참조 아키텍처
클릭하여 확대

그림 1. Atlas가 없는 참조 아키텍처

글로벌 확장에서 게임 데이터 및 프로필을 관리하는 전통적인 접근 방식에는 글로벌 쿼리 라우터 구축, 전 세계 여러 노드 간의 복제 서비스, 별도의 웜 스토리지 옵션 통합이 포함됩니다. 또한 아키텍처에는 데이터를 시각화 도구에 통합하기 위한 serverless 쿼리 서비스와 함께 별도의 검색 엔진과 시각화 도구가 필요합니다.

Atlas가 있는 참조 아키텍처
클릭하여 확대

그림 2. Atlas가 있는 참조 아키텍처

Atlas를 사용하면 MongoDB Atlas의 최신 멀티 클라우드 데이터베이스 플랫폼에 대한 단일 연결이면 충분합니다. 글로벌 클러스터, 온라인 아카이브, Atlas Search, Atlas Charts 및 Data Federation을 활용하여 전 세계 규모의 게임 데이터를 관리하는 데 필요한 기능들을 보유하고 있습니다.

데이터 모델 접근 방식 일러스트

그림 3. 데이터 모델 접근 방식 그림

기록은 점수, 이동 및 통계를 포함하여 이벤트에서 플레이어의 게임 플레이를 나타냅니다. .net (C#)을 사용하여 플레이어 및 이벤트의 하위 집합은 서브클래싱과 사용자 지정 직렬화를 사용하여 확장 참조 패턴을 통해 녹화에 저장됩니다. 이 디자인은 선택적 필드 삽입을 허용하여 쿼리 성능을 향상시키고 향후 유연성을 제공합니다. 수십억 명의 플레이어가 참여하는 'PUBG'와 같은 대규모 온라인 게임에서 데이터 지역성은 최적의 경험과 법적 요구 사항을 충족하는 데 매우 중요합니다. 플레이어와 녹음은 위치 기반 ISO 코드를 활용하여 전 세계적으로 샤딩되었습니다. Atlas Global Cluster 우수한 성능과 손쉬운 확장성을 지원하므로 서비스 중단 없이 샤드와 영역을 추가할 수 있습니다.

매력적인 Leaf Steroid 게임 플랫폼의 핵심에는 MongoDB Atlas 의 견고성이 있습니다. 데모용으로 설계된 이 게임은 대화형 사용자 경험과 세심한 데이터 관리 조화롭게 조화를 이루고 있습니다.Github 리포지토리의 에서 이 솔루션을 빌드 방법에 대한 자세한 지침을 찾을 수 있습니다.

  • MongoDB Atlas: Leafsteroids는 Atlas Global Cluster 의 기능을 완벽하게 활용합니다. 이를 통해 대규모의 플레이어 프로필이 효율적으로 관리되며, 플레이어의 지리적 위치에 관계없이 중단 없는 게임 여정을 보장합니다. 데이터 정확성을 위해 플레이어 정보는 ISO 국가 코드와 샤드/구역 할당을 사용하여 저장됩니다.

  • 데이터 처리의 기반에는 유연한 document model이 있습니다. 이 모델은 심층 게임 녹화도 지원하며 '함께 작동하는 데이터는 함께 존재한다'는 철학도 내포하고 있습니다. 운영의 단순성이라는 원칙에 따라 다른 데이터 세트들도 복잡하지 않은 컬렉션 내에 정리됩니다.

  • 시간이 지남에 따라 게임이 수백만 명의 플레이어와 수많은 게임 플레이로 크게 성공하면, 생성되는 데이터 양이 증가하여 비용이 늘고 성능에 영향을 미칠 수 있습니다. Leafsteroids는 Atlas Online Archive를 통해 데이터 계층화 전략을 사용하여 90일 이상 지난 게임 데이터를 자동으로 최적화된 저장소로 오프로드합니다. 그 후 Atlas Data Federation을 사용하면 최신 데이터와 과거 데이터 모두에 원활하게 액세스할 수 있습니다.

  • 플레이어 대시보드: 두드러진 기능인 맞춤형 플레이어 대시보드는 Atlas Charts를 통해 온라인으로 제공되며 게임 내 성과와 진행 현황을 실시간으로 업데이트합니다. Atlas Charts의 필터링 및 임베딩 기능을 활용해 동일한 대시보드를 플레이어별 또는 이벤트별 대시보드로 재사용할 수 있습니다. 이로써 플레이어의 전반적인 경험이 향상됩니다.

  • Atlas Search: 게임의 사용자 중심성을 높이는 또 다른 핵심 구성 요소로, 플레이어는 자동 완성 및 퍼지 매칭 기능을 사용하여 웹 UI에서 닉네임을 신속하게 찾을 수 있어 보다 직관적인 사용자 상호 작용을 촉진합니다.

  • 게임 클라이언트: Unity3D, .NET, C#을 사용하여 개발되었습니다

  • 게임 서버: ASP.NET 웹 API, .NET, C#을 기반으로 구축

  • 웹사이트: .NET과 C#을 활용한 Blazor 서버 애플리케이션으로 개발되었습니다.

  • 사전 요구 사항: .NET SDK 7을 설치하고 MongoDB Atlas 데이터베이스를 설정하세요.

  • REST 서비스 실행: rest_service 폴더로 이동한 뒤 .env 파일을 수정하고 주어진 명령어로 실행하세요.

  • 웹사이트를 실행합니다: 웹사이트 폴더에 액세스한 후 .env 파일을 조정하고 제공된 명령어로 실행합니다.

  • 게임 클라이언트 실행: game_client 디렉토리에서 자산의 .env 파일을 수정하고 게임을 시작합니다.

  • 게임 플레이(녹화): 이벤트 중 플레이어의 게임 내 활동을 나타냅니다. 확장된 참조 패턴을 사용하여 저장된 이러한 녹음은 전체 플레이어 및 이벤트 객체에 연결될 수 있지만 지속 시 선택 필드만 직렬화됩니다.

  • 플레이어 프로필 및 게임 플레이: 대규모 멀티플레이어 게임에서는 데이터 현지화가 매우 중요합니다. Leafsteroids 솔루션은 전 세계적으로 Players and Recordings collection 샤딩했습니다. Atlas Global Cluster 사용하면 ISO 국가 및 하위 부문 코드가 영역에 연결되어 쿼리 및 쓰기 요청 라우팅이 최적화됩니다. 이점에는 무제한 확장성과 번거로움 없는 데이터 배포 업그레이드가 포함됩니다.

  • 글로벌 클러스터를 활용하여 세컨더리에서 읽고 프라이머리에 기록하는 방식으로 수평 확장을 실현하며, 문제나 지연 없이 전 세계 고객에 서비스를 제공합니다.

  • 문서 모델을 활용하여 단일 게임 실행에 대한 모든 데이터를 단일 문서에 저장하지만 성능 향상을 위해 런타임 중에 하위 집합을 직렬화합니다.

  • 플레이어 및 녹음 컬렉션은 “전역적으로 샤딩”됩니다. 샤드 키의 첫 번째 부분은 위치입니다. Atlas 글로벌 클러스터는 ISO 국가 및 하위 구분 코드(ISO-3166-1,ISO-3166-2)를 클라우드 리전에서 호스팅되는 1+ 샤드인 구역에 연결하여 쿼리 및 쓰기 요청을 라우팅하고 최상의 성능을 보장합니다. 전 세계 규모의 쿼리도 지원됩니다.

  • Sigfrido Narvaez, MongoDB

  • Dominic Frei, MongoDB

  • 휴버트 응우옌, MongoDB

돌아가기

통합 네임스페이스 데이터 무결성

이 페이지의 내용