[게임 서버] 7.1 플레이어의 정보 저장

게시:     수정

카테고리:

태그:

📦 7. 데이터베이스 기초

👉🏻 1. 플레이어의 정보 저장

💾 저장 방식

기본 원칙:

  • 온라인 게임에서는 플레이어 정보를 서버에만 저장한다

저장 방법:

  • 파일
  • 데이터베이스

📊 파일 vs 데이터베이스 비교

비교 조건 단순 파일 데이터베이스 비고
소프트웨어 비용 없다 없거나 높다 오픈 소스 제품은 제한적으로 무료다
저장 및 로딩 속도 빠르다 느리다 데이터베이스도 결국 파일 시스템을 사용한다
데이터 관리, 분석 속도 느리다 빠르다 데이터베이스는 빠른 검색을 위한 인덱스 기능이 있다
데이터 백업 및 복원 기능 없다 있다 -
원자성 불가능하다 가능하다 데이터베이스의 트랜잭션 기능이다
일관성 없다 있다 데이터베이스의 제약(constraints) 기능이다
고립성 없다 있다 데이터베이스의 락 기능이다
지속성 없다 있다 데이터베이스의 로그 버퍼 기능이다
데이터 구조 변경 느리다 빠르다 컨버팅 과정 필요 vs 즉시 변경 가능

🔐 ACID 속성

원자성 (Atomicity):

  • 데이터 2개 이상을 전부 변경하고자 할 때 전부 혹은 전무(全無) 처리가 되게 한다
  • 데이터베이스의 트랜잭션 기능

일관성 (Consistency):

  • 잘못된 상태의 데이터를 원천 봉쇄한다
  • 데이터베이스의 제약(constraints) 기능

고립성 (Isolation):

  • 경쟁 상태로부터 자유롭게 해 주는 기능
  • 데이터베이스의 락 기능

지속성 (Durability):

  • 장애 직전의 상태로 복구 가능한지에 관한 것
  • 데이터베이스의 로그 버퍼 기능

🧐 정리

파일 방식 권장:

  • 소규모 프로젝트
  • 단순한 데이터 구조
  • 빠른 저장/로딩이 중요

데이터베이스 권장:

  • 대규모 온라인 게임
  • 복잡한 데이터 관리
  • 데이터 무결성이 중요
  • 검색/분석 기능 필요

핵심:

  • 데이터베이스는 ACID 속성으로 안정성 보장
  • 파일은 간단하지만 고급 기능 없음
  • 온라인 게임은 대부분 데이터베이스 사용

GameServer 카테고리 내 다른 글 보러가기

댓글남기기