Instant 是一个面向应用的客户端数据库与后端服务,集成查询、认证、权限、存储与实时同步。
- Star
- 25,328
- Fork
- 1,091
- 未关闭 Issue
- 942
- 最近提交
- 2小时前
这是什么?
SpacetimeDB 去掉了客户端与数据库之间独立的 Web 或游戏服务器层。开发者用 Rust、C#、TypeScript 或 C++ 把表结构和业务逻辑写成一个模块,SpacetimeDB 编译后直接在数据库内运行,并把状态同步给已连接的客户端。客户端调用 reducer(修改数据的函数)并订阅表,服务端会自动推送已提交的变更,无需轮询。
所有应用状态保存在内存中以降低访问延迟,磁盘上的 commit log 负责持久化和崩溃恢复,事务满足 ACID 特性。自 2.0 版本起,默认情况下订阅更新和 reducer 结果会等到事务落盘后才发送给客户端,也可以关闭该行为以换取更低延迟。
客户端 SDK 支持 TypeScript(包括 React、Vue、Svelte、Node.js)、Rust、C#(含 Unity)以及用于 Unreal Engine 的 C++。它适用于聊天、仪表盘、协作工具等响应式 Web 应用,也适用于多人游戏。
核心功能
- 01应用逻辑以 Rust、C#、TypeScript 或 C++ 模块形式运行在数据库内部。
- 02客户端订阅数据表,无需轮询即可实时接收已提交的变更。
- 03满足 ACID 事务,状态常驻内存,并通过磁盘 commit log 保证持久性与崩溃恢复。
- 04确认读机制可让更新在事务落盘后才送达客户端,并可按客户端配置。
- 05提供 TypeScript(含 React hooks)、Rust、C#/Unity 和 C++/Unreal Engine 的客户端 SDK。
- 06可通过 Docker 或 CLI 本地运行,也支持名为 Maincloud 的云端部署。
适用场景
- 构建协作类 Web 应用或聊天服务,无需单独的 API 服务器或发布订阅层。
- 制作实时仪表盘,让所有在线客户端即时看到数据变化。
- 为 MMORPG 等多人游戏提供共享的实时世界状态后端。
- 用单一语言编写完整应用,并部署为一个可执行文件。
快速上手
- 1
运行 README 中的官方安装脚本
- 2
登录你的账户
spacetime login - 3
从模板创建项目并启动开发监视模式
spacetime dev --template chat-react-ts
使用前须知
- 采用 Business Source License 1.1 许可证,属于源码可用而非 OSI 开源许可证,约几年后才会转为 AGPL v3.0。
- 快速开始会发布到 Maincloud,这是一项有独立定价的付费托管服务。
收录于专题
标签
常见问题
- SpacetimeDB 是什么?
- 一个兼作服务器的关系型数据库,应用逻辑直接部署在库内,客户端直连并实时接收数据变更。 SpacetimeDB 去掉了客户端与数据库之间独立的 Web 或游戏服务器层。开发者用 Rust、C#、TypeScript 或 C++ 把表结构和业务逻辑写成一个模块,SpacetimeDB 编译后直接在数据库内运行,并把状态同步给已连接的客户端。客户端调用 reducer(修改数据的函数)并订阅表,服务端会自动推送已提交的变更,无需轮询。
- SpacetimeDB 可以免费使用吗?用的什么许可证?
- SpacetimeDB 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- SpacetimeDB 还在维护吗?
- 活跃维护中。SpacetimeDB 最近一次提交是在 2026年10月22日。
- SpacetimeDB 适合用来做什么?
- 构建协作类 Web 应用或聊天服务,无需单独的 API 服务器或发布订阅层。 制作实时仪表盘,让所有在线客户端即时看到数据变化。 为 MMORPG 等多人游戏提供共享的实时世界状态后端。 用单一语言编写完整应用,并部署为一个可执行文件。
- SpacetimeDB 怎么安装和运行?
- 运行 README 中的官方安装脚本 登录你的账户: spacetime login 从模板创建项目并启动开发监视模式: spacetime dev --template chat-react-ts
- 在哪里获取 SpacetimeDB?
- 源代码和安装说明在 GitHub 上:https://github.com/clockworklabs/SpacetimeDB
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
面向 Web 应用的开源响应式数据库,可用纯 TypeScript 编写服务端函数与业务逻辑。
基于 Postgres 的开发平台,提供托管数据库、认证、自动生成的 API、文件存储等功能,可作为 Firebase 的开源替代。
开源通用后端,开箱提供实时通知、数据存储与高级搜索及用户管理等基础能力。
开源的 Firebase 替代方案,基于 PostgreSQL,提供即时 GraphQL API、认证、存储和无服务器函数。
基于 SQLite 构建的轻量级、容错分布式关系型数据库,通过 Raft 共识实现多节点复制。