[게임 서버] 8.10 요약 및 더 알아보기
카테고리: GameServer
태그: GameServer
이 글은 아래의 책을 자세히 정리한 후, 정리한 글을 GPT에게 요약을 요청하여 작성되었습니다.
게임 서버 프로그래밍 교과서, 배현직 저자
📦 8. NoSQL 기초
👉🏻 10. 요약 및 더 알아보기
📊 관계형 데이터베이스 vs NoSQL
| 구분 | 관계형 데이터베이스 | NoSQL |
|---|---|---|
| 레코드 구조 | 테이블 안의 모든 레코드가 동일한 데이터 구조(필드)를 가져야 한다. | 컬렉션 안의 모든 도큐먼트가 서로 다른 데이터 구조(트리)를 가져도 된다. |
| 중요점 | 데이터의 원자성과 일관성을 중요하게 여긴다. | 데이터의 가용성(데이터 액세스 요청 신속 응답)과 수평 확장성을 중요하게 여긴다. |
| 질의 기능 | 질의 기능이 많고, 표준화 되어 있다. | 질의 기능이 상대적으로 적고 표준이 없다. |
🎮 게임 서버에서의 활용
- 게임 서버 개발에서 RDBMS와 NoSQL을 혼용하여 사용한다.
- RDBMS: 게임 플레이어 데이터를 주로 관리한다.
- NoSQL: 로그 분석이나 통계 분석에 주로 사용한다.
- 즉, 하나의 데이터베이스 엔진만 사용하지 않는다.
🔎 MongoDB 추가 특징
- 오브젝트 ID는 수동 할당도 가능하다.
- 한번 설정된 샤드 키는 변경할 수 없고, 하려면 샤드를 재구성해야 한다.
- MongoDB의 인덱스 비용은 RDBMS보다 큰 경향이 있다.
- 결과적 일관성을 인지하고 프로그래밍해야 한다.
- upsert 기능: “없으면 넣고, 있으면 수정하라”는 의미이다.
댓글남기기