SpacetimeDB数据库和服务器合二为一

联合创作 · 2023-10-01 02:35

SpacetimeDB 是一种关系型数据库系统,可让你通过称为"modules"的存储过程将应用程序逻辑直接上载到数据库中。

你的客户端无需在客户端和数据库之间部署网络或游戏服务器,而是直接连接到数据库,在数据库内部执行您的应用逻辑。你可以像在普通服务器中一样,在模块中编写所有权限和授权逻辑。

这意味着你可以用一种语言 Rust 编写整个应用程序,并将其部署为一个二进制文件。不再有微服务、不再有容器、不再有 Kubernetes、不再有 Docker、不再有虚拟机、不再有 DevOps、不再有基础设施、不再有运营、不再有服务器。

它实际上类似于智能合约的想法,只不过SpacetimeDB是一个数据库,与区块链无关,并且比任何智能合约系统快几个数量级。

事实上它的速度非常之快,以至于大型多人在线角色扮演游戏 BitCraft Online 的整个后端就只是一个 SpacetimeDB 模块。没有运行任何其他服务器或服务,这意味着游戏中的所有内容,所有聊天消息、物品、资源、地形,甚至玩家的位置都由数据库存储和处理,然后再同步出去实时发送给所有客户。

SpacetimeDB 针对最大速度和最小延迟进行了优化,而不是针对批处理或 OLAP 工作负载。它旨在用于游戏、聊天和协作工具等实时应用程序。

这种速度和延迟是通过将所有应用程序状态保存在内存中,同时将数据保留在用于恢复应用程序状态的预写日志 (WAL) 中来实现的。

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报