[게임 서버] 9.5 데이터 분산 vs 기능적 분산

게시:     수정

카테고리:

태그:

이 글은 아래의 책을 자세히 정리한 후, 정리한 글을 GPT에게 요약을 요청하여 작성되었습니다.
게임 서버 프로그래밍 교과서, 배현직 저자

📦 9. 분산 서버 구조

👉🏻 5. 데이터 분산 vs 기능적 분산

📦 데이터 분산

---
config:
  look: handDrawn
  theme: dark
  layout: elk
---
flowchart LR

Material[재료]
Product[상품]

M1(제작자<br/>부품 조립, 도색, 포장)
M2(제작자<br/>부품 조립, 도색, 포장)
M3(제작자<br/>부품 조립, 도색, 포장)
M4(제작자<br/>부품 조립, 도색, 포장)

Material --> M1
Material --> M2
Material --> M3
Material --> M4

M1 --> Product
M2 --> Product
M3 --> Product
M4 --> Product
  • 한 머신이 처리해야 하는 데이터를 같은 역할을 하는 여러 머신이 나누어 처리하는 것

⚙️ 기능적 분산

---
config:
  look: handDrawn
  theme: dark
  layout: elk
---
flowchart LR

Material[재료]
Product[상품]

A(제작자<br/>부품 조립)
B(제작자<br/>도색)
C(제작자<br/>포장)

Material --> A --> B --> C --> Product
  • 한 머신이 처리해야 하는 데이터의 처리 단계를 세분화한다.
  • 이후, 여러 머신이 나누어 처리한다.

🗄️ 데이터베이스에서의 분산

  • 게임 서버와 비슷하다.
  • 데이터 단위 분산
    • 테이블 1개를 테이블 안의 키 필드 단위로 분배
    • e.g. 레코드 10억 개가 있는 테이블 1개 → 데이터 서버 10개로 분배
    • 파티셔닝이라고 한다.
  • 기능 단위 분산
    • 서로 다른 테이블을 서로 다른 서버에 배치
    • e.g. Account 테이블, ItemData 테이블 → 각각 다른 데이터베이스 서버로 분배

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

댓글남기기