시작하기
출시 예정
데이터베이스는 2026년 1월에 출시 예정입니다.
데이터베이스는 유니티 개발자에게 친숙한 LINQ(Language Integrated Query) 문법을 사용하여 서버의 데이터를 손쉽게 관리할 수 있는 기능을 제공합니다.
복잡한 쿼리 언어를 배우지 않고도 C# 코드로 강력한 데이터베이스 기능을 활용할 수 있습니다.
주요 특징
- Type-Safe: 컴파일 시점에 타입 체크를 수행하여 런타임 오류를 방지합니다.
- 강력한 보안: 테이블별 권한 설정(
ClientAccess,Read,Write)을 통해 클라이언트 주도 개발의 보안 취약점을 해결했습니다. - 목적별 테이블 지원: 유저 데이터를 위한
UserTable과 공용 데이터를 위한FlexibleTable을 제공합니다. - 인덱스 지원: 자주 조회되는 컬럼에 인덱스를 설정하여 쿼리 성능을 최적화할 수 있습니다. 인덱스 생성 가이드를 참고하세요.
- 운영 관리 콘솔: 뒤끝 콘솔 데이터 에디터을 통해 데이터베이스 스키마와 데이터를 시각적으로 관리하고, Query Editor로 SQL를 직접 작성하여 서비스 운영을 효율적으로 수행할 수 있습니다.
네임스페이스
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 필수 |