프로젝트 소개
SpacetimeDB는 Clockwork Labs에서 개발한 오픈소스 프로젝트로, 관계형 데이터베이스와 서버 런타임을 하나로 통합했습니다. 개발자는 별도의 웹 또는 게임 서버를 배포할 필요 없이, Rust, C#, TypeScript, 또는 C++로 애플리케이션 로직을 모듈로 작성합니다. 이 모듈은 테이블과 리듀서(데이터를 변환하는 함수)를 정의합니다. 클라이언트는 데이터베이스에 직접 연결하여 리듀서를 호출하고 테이블을 구독합니다. 데이터가 변경되면 SpacetimeDB는 자동으로 구독한 클라이언트에게 업데이트를 푸시하므로, 클라이언트는 폴링이나 재요청을 할 필요가 없습니다. README에 따르면, 모든 애플리케이션 상태는 빠른 접근을 위해 메모리에 저장되며, 디스크의 커밋 로그는 내구성과 충돌 복구를 제공합니다. 또한 ACID 보장을 제공한다고 설명되어 있습니다. 이 시스템은 MMORPG인 BitCraft Online의 백엔드로 사용되고 있으며, 단일 모듈로 실행됩니다. 설치는 macOS/Linux용 셸 스크립트와 Windows용 PowerShell을 통해 가능하며, GitHub으로 인증하는 CLI 로그인이 필요합니다. 빠른 시작 명령은 템플릿에서 프로젝트를 생성하고 Maincloud에 게시하며, 파일 변경을 감지하여 자동으로 재빌드하고 재게시합니다. 데이터베이스는 Docker로 실행하거나 Cargo로 소스에서 빌드할 수도 있습니다. 서버 모듈은 Rust, C#, TypeScript, C++을 지원하며, 클라이언트 SDK는 TypeScript(React, Next.js, Vue, Svelte, Angular, Node.js, Bun, Deno), Rust, C#(독립형 및 Unity), C++(Unreal Engine)을 지원합니다. 문서에는 빠른 시작, 핵심 개념, 튜토리얼, 배포, CLI 및 SQL 참조가 포함되어 있습니다. 프로젝트는 Business Source License 1.1로 라이선스되어 있으며, 몇 년 후에는 링크 예외가 있는 AGPL v3.0으로 전환되므로, 사용자는 자신의 코드를 오픈소스화할 필요가 없습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.