Redis (인메모리 데이터베이스)
- Redis는 빠른 읽기/쓰기 성능이 필요한 경우에 유리하다.
- 자주 변경되거나 실시간으로 액세스해야 하는 데이터를 저장하는 데 사용하자.
▶ 실시간으로 자주 업데이트되어야 하는 것
- 게임 세션에 입장하는 유저의 데이터
- 유저 세션 정보: 현재 게임 세션에 있는 유저의 상태, 위치, 점수 등
- 캐시 데이터: 자주 조회되는 유저 프로필, 설정 정보 등
- 게임 세션 데이터
- 실시간 게임 상태: 현재 진행 중인 게임의 상태, 타이머, 이벤트 정보 등
- 메시지/채팅 로그: 게임 중 채팅 메시지나 이벤트 로그 등
MySQL (관계형 데이터베이스)
MySQL은 영속성이 필요한 데이터나 복잡한 쿼리가 필요한 경우에 유용하다.
데이터의 무결성, 관계형 데이터 관리가 필요한 경우에 사용하자.
< 영속성으로 저장되어야 하는 데이터 >
- 유저 데이터
- 유저 프로필: 유저의 기본 정보, 로그인 정보, 친구 목록 등
- 게임 데이터
- 게임 기록: 게임 결과, 게임 시작 및 종료 시간, 점수 등 게임의 영구 기록 등
- 결제 및 통계 데이터
- 결제 및 구매 내역 등
- 통계 데이터: 다양한 통계 정보, 예를 들어 유저 활동 로그, 게임 이용 패턴 등