게임 정보 관리

뒤끝을 활용하면 손쉽게 유저의 데이터를 관리할 수 있습니다.
뒤끝에서는 스키마를 정의한 테이블과 정의하지 않은 테이블, 두가지 방식으로 테이블을 생성할 수 있으며
뒤끝 SDK를 활용해 뒤끝 서버와 통신하며 실제 게임 정보를 저장, 수정, 조회, 삭제할 수 있습니다.

관련 콘솔 가이드 : 게임 정보 관리 - 데이터 관리
관련 SDK 개발자 문서 : 스키마 미정의 게임정보 관리 / 스키마 정의 게임 정보 관리

스키마 유무에 따른 차이점

구분스키마를 정의한 테이블스키마를 정의하지 않은 테이블
테이블 컬럼 확장뒤끝 콘솔에서만 가능클라이언트 & 뒤끝 콘솔에서 가능
클래스 삽입지원하지 않음클라이언트에서만 가능
기본값 설정지원지원하지 않음
쿼리문 선언지원지원하지 않음
트랜잭션지원지원
우편지원하지 않음 (추후 지원 예정)지원
연산자 (Update와 동시에 연산)지원하지 않음 (추후 지원 예정)지원

스키마 정의 테이블

  • 사전에 정의한 컬럼만 삽입/수정이 가능합니다.
    콘솔에서 테이블을 생성할 때 테이블을 이루는 컬럼을 모두 선언한 후 사용이 가능한 테이블입니다.
    사전에 콘솔에서 정의하지 않은 컬럼들의 삽입/수정을 시도할 경우 모두 실패하게 됩니다.
  • 콘솔에서 테이블을 이루는 컬럼들의 기본값 설정이 가능합니다.
    클라이언트에서는 테이블을 삽입하기만 해도 모든 컬럼이 기본값으로 초기화됩니다.
    기본값으로 초기화 하지 않고 각각의 값을 명시하여 삽입하는 것도 가능합니다.

스키마 미정의 테이블

기존에 뒤끝에서 지원하던 형태의 테이블입니다.

  • 확장이 자유로운 noSql 형태의 테이블입니다.
    콘솔에서 테이블을 생성한 후에는 클라이언트애서 어떤 형태의 컬럼을 사입/수정하든 모두 성공하게 됩니다.
  • 테이블을 이루는 컬럼들과 기본값을 클라이언트에서 설정해야 합니다.
    noSql 특성 상 삽입/수정을 할 때 컬럼이 생성되기 때문에 클라이언트에서 이를 수행해야 합니다.

Public 테이블과, Private 테이블의 차이

테이블ReadWrite
public 테이블모든 게이머의 정보를 반환자신의 테이블만 수정 가능
private 테이블자신의 테이블 정보만 반환자신의 테이블만 수정 가능

public 테이블의 경우 타인의 정보는 보안 이슈로 수정이 불가능하고 조회만 가능합니다.

트랜잭션 기능

트랜잭션이란 여러 개의 읽기 혹은 쓰기 작업을 한 번에 모두 수행하거나 아무것도 수행하지 않는 작업으로 그룹화하는 동기식 작업입니다.
작업은 원자 단위로 완료되므로 작업이 모두 성공하거나 모두 실패하게 됩니다.

즉 트랜잭션으로 묶인 작업 들이 모두 성공할 시 성공으로 리턴하고,
작업들 중 일부가 실패할 시 모든 작업의 처리를 초기화 하고 실패로 리턴합니다.

뒤끝에서는 읽기 혹은 쓰기를 최대 10개로 묶어 트랜잭션 처리를 할 수 있습니다.

게임정보의 저장최대량

하나의 row( column들의 집합 ) 에서 400KB까지 저장이 가능합니다.
예를들어 column의 이름이 shirt-color이고 이 값이 R이면 12 Byte를 저장한 것입니다.

  • 하나의 row( column들의 집합 )이 400KB를 넘는 경우
    statusCode : 413
    errorCode : ServerErrorException
    message : request entity too large