프로젝트 배경
1) 문제점 - 배틀그라운드 매치 데이터가 대용량이라 전적 조회가 느려지고 랭킹 계산 부하가 컸음. 2) 원인 - 단일 저장소로는 데이터 규모(샤드당 TB 단위)를 감당할 수 없고, 랭킹을 DB 에서 매번 계산하면 응답이 느려짐. 3) 목표 - 데이터를 샤딩해 분산 저장하고 Redis 기반 실시간 랭킹으로 MAU 100만+ 사용자에게 빠른 전적 검색 제공.
프로젝트 성과
MAU 100만+ 전적 검색 서비스 운영
월 100만 명 이상이 쓰는 배틀그라운드 전적 검색 서비스를 풀스택으로 개발·운영했습니다.
MongoDB 11개 유닛 · 샤드당 2.8TB 처리
대규모 매치 데이터를 샤딩해 분산 저장하며 조회 성능을 유지했습니다.
Redis Sorted Set 실시간 랭킹
DB 재계산 없이 Redis Sorted Set 으로 실시간 랭킹을 제공했습니다.
핵심 기능
진행 단계
요구사항 · 게임 API 분석
2018.08.
배틀그라운드 API 와 매치 데이터 구조를 분석해 필요한 전적·랭킹 항목을 정의했습니다.
프로젝트 상세
배틀그라운드 플레이어의 전적을 검색하고 랭킹을 보여주는 서비스 pubg.op.gg 를 풀스택으로 개발했습니다. MAU 100만 이상 사용자가 쓰는 서비스에서 대규모 매치 데이터를 저장·조회하는 구조를 만들었습니다. [배경] 배틀그라운드는 매치당 데이터가 많고 플레이어 수가 많아, 전적을 빠르게 조회하려면 대용량 데이터를 나눠 저장하고 랭킹을 실시간으로 계산하는 구조가 필요했습니다. [핵심 설계]






