본문으로 건너뛰기

시작하기

출시 예정

데이터베이스는 2026년 1월에 출시 예정입니다.

데이터베이스는 유니티 개발자에게 친숙한 LINQ(Language Integrated Query) 문법을 사용하여 서버의 데이터를 손쉽게 관리할 수 있는 기능을 제공합니다.

복잡한 쿼리 언어를 배우지 않고도 C# 코드로 강력한 데이터베이스 기능을 활용할 수 있습니다.

주요 특징

  • Type-Safe: 컴파일 시점에 타입 체크를 수행하여 런타임 오류를 방지합니다.
  • 강력한 보안: 테이블별 권한 설정(ClientAccess, Read, Write)을 통해 클라이언트 주도 개발의 보안 취약점을 해결했습니다.
  • 목적별 테이블 지원: 유저 데이터를 위한 UserTable과 공용 데이터를 위한 FlexibleTable을 제공합니다.
  • 인덱스 지원: 자주 조회되는 컬럼에 인덱스를 설정하여 쿼리 성능을 최적화할 수 있습니다. 인덱스 생성 가이드를 참고하세요.
  • 운영 관리 콘솔: 뒤끝 콘솔 데이터 에디터을 통해 데이터베이스 스키마와 데이터를 시각적으로 관리하고, Query EditorSQL를 직접 작성하여 서비스 운영을 효율적으로 수행할 수 있습니다.

네임스페이스

SDK를 사용하기 위해 다음 네임스페이스를 추가해야 합니다.

using BACKND.Database; // 데이터베이스 SDK
using BackEnd; // 뒤끝 베이스 SDK

초기화

데이터베이스 기능을 사용하기 위해서는 먼저 Client 객체를 생성하고 초기화해야 합니다. 이 작업은 뒤끝 로그인(Backend.BMember.Login 등)이 성공한 이후에 수행해야 합니다.

public class DatabaseManager : MonoBehaviour
{
// 데이터베이스 클라이언트 인스턴스
public static Client DBClient;

public void InitializeDatabase()
{
// 1. 뒤끝 초기화 및 로그인 (선행 필수)
Backend.InitializeAsync(bro =>
{
if (bro.IsSuccess())
{
Backend.BMember.CustomLogin("user", "password", async loginBro =>
{
if (loginBro.IsSuccess())
{
// 2. 데이터베이스 클라이언트 생성
// 뒤끝 콘솔 > 데이터베이스 관리 메뉴에서 발급받은 DB UUID를 입력하세요.
DBClient = new Client("YOUR_DB_UUID");

// 3. 데이터베이스 초기화
await DBClient.Initialize();

Debug.Log("데이터베이스 초기화 완료");
}
});
}
});
}
}

기본 사용법

초기화된 클라이언트(DBClient)를 사용하여 쿼리를 작성할 수 있습니다.

// 예시: 레벨 10 이상인 유저 조회
var users = await DBClient.From<User>()
.Where(u => u.Level >= 10)
.OrderByDescending(u => u.Experience)
.Take(10)
.ToList();

테이블 & 인덱스 제한 사항

데이터베이스 테이블 & 인덱스 설계 시 반드시 알아야 할 주요 제한사항은 다음과 같습니다.

항목제한 내용
테이블 개수데이터베이스당 최대 100개
컬럼 개수테이블당 최대 80개
JSON/string 컬럼테이블당 최대 20개
인덱스 개수데이터베이스당 최대 10개
인덱스 컬럼인덱스 1개당 최대 2개 컬럼까지 묶어서 생성 가능
테이블 생성1개 이상의 컬럼과 primary 필수

※ 자세한 제약 및 예외 사항은 콘솔 가이드의 테이블 에디터, 데이터베이스 설정 문서를 참고하세요.