자동 확장 가능한 모바일 게임 서버 구축하기

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

로그 저장용 DynamoDB 테이블 생성하기

결제 로그 및 각종 게임 로그 등 비정형 데이터를 저장할 DynamoDB 테이블을 생성합니다.

먼저 ExampleGameLog 테이블의 데이터 구조입니다.

  • action: 문자 형식이며 로그의 종류입니다. 게임, 결제 등 게임 기획에 맞게 분류합니다.
  • date: 문자열 형식이며 로그가 기록된 날짜 및 시간입니다.
  • 나머지는 로그 종류에 따라서 달라집니다.
ExampleGameLog      
키 이름(값 형식) action(String) date(string) 비정형 데이터
테이블 인덱스 해시 기본 키 범위 기본 키  

표 33-2 ExampleGameLog 테이블 구조

로그 데이터만 저장하기 때문에 테이블 구조가 매우 간단합니다. 실무에서는 게임 기획에 맞게 구조를 설계합니다.

DynamoDB에서 ExampleGameLog 테이블을 생성합니다(그림 33-5).

  • Table Name: ExampleGameLog을 입력합니다.
  • Hash Attribute Name: String을 선택하고 action을 입력합니다.
  • Hash Attribute Name: String을 선택하고 date를 입력합니다.


그림 33-5 ExampleGameLog 테이블 생성

보조 인덱스는 필요에 따라 각자 생성합니다. ExampleGameLog 테이블을 생성한 모습입니다.


그림 33-6 ExampleGameLog 테이블 생성 완료

DynamoDB 처리량 설정
게임이 성공해서 사용량이 늘어났을 때는 DynamoDB 처리량도 함께 늘려줍니다. DynamoDB 처리량이 낮으면 읽기/쓰기 동작이 실패합니다. 그래서 로그 데이터가 누락될 수 있으니 주의합니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.