
文章目录SurrealDB一个数据库搞定所有数据模型它到底能干什么部署方式灵活SDK 覆盖面广适合什么场景不足之处写在最后SurrealDB一个数据库搞定所有数据模型做后端开发的人大概都经历过这种痛苦项目里同时要用关系型数据库存结构化数据用文档数据库存 JSON用图数据库处理关系查询再加个 Redis 做缓存。光是维护这些数据库的连接、同步数据、处理一致性问题就够头疼的。SurrealDB 想解决的就是这个问题。它用 Rust 写的把文档、图、关系、时序、地理空间、键值这六种数据模型塞进了一个引擎里。项目在 GitHub 上拿了 3.2 万 Star关注度不低。它到底能干什么SurrealDB 的定位是 multi-model 数据库但不是那种每样都沾点、每样都不精的类型。它的核心卖点是用一套查询语言 SurrealQL 把所有数据操作统一了。举个例子你可以在同一个查询里既做关系型的 JOIN 操作又走图遍历还能对文档做嵌套查询。不用在多个数据库之间来回倒腾数据。它还内置了全文搜索和向量检索做 AI 应用的时候可以直接在数据库里做相似度计算不用再单独搭一套 Elasticsearch 或者向量数据库。权限控制也做得比较细支持行级别的访问控制。每个用户能看到哪些数据、能改哪些字段都可以在数据库层面直接定义不用在业务代码里写一堆 if-else。部署方式灵活SurrealDB 是单个 Rust 二进制文件部署方式很多直接嵌入到应用里当库用通过 WebAssembly 跑在浏览器里作为独立服务端节点运行组成分布式集群macOS 用 Homebrew 一行命令装好Linux 用 curl 脚本安装Windows 也有对应的安装命令。Docker 也能直接跑一条命令起来就能用。对于小项目单节点内存模式就够了。等业务量上来再切到分布式集群模式不用换数据库。SDK 覆盖面广官方提供了 Rust、JavaScript、Python、Golang、.NET、PHP、Java 的 SDK前端也有 WebAssembly 和 Node.js 的支持。基本上主流技术栈都能用。查询方面除了自家的 SurrealQL还支持 GraphQL开发中、REST API、WebSocket 上的 JSON-RPC。客户端可以直接连数据库做查询不用再过一层后端 API这在实时应用里比较有用。适合什么场景从官方文档看SurrealDB 适合这几类场景数据类型复杂的系统。比如电商项目里同时有商品结构化数据、用户行为日志、社交关系图谱用 SurrealDB 一个库就能覆盖。AI 应用的数据层。内置向量检索意味着你可以把 embedding 直接存数据库里做 RAG 的时候不用额外组件。实时应用。WebSocket 连接加上 live query数据变了客户端立刻收到推送适合做协作编辑、实时监控这类功能。边缘计算。单个二进制加上低内存占用嵌入到 IoT 设备或者 CDN 节点都行。不足之处社区里反馈的问题主要有两个。一是学习成本SurrealQL 虽然基于 SQL但扩展了不少语法需要时间适应。二是生态成熟度跟 PostgreSQL、MongoDB 这些老牌数据库比工具链、文档、第三方集成还有差距。另外分布式模式目前还在迭代中生产环境大规模部署的案例不算多。如果你的场景对高可用要求很高建议先做充分测试。写在最后SurrealDB 的思路是对的用一个数据库统一多种数据模型减少基础设施的复杂度。Rust 写的性能有保障部署方式也够灵活。3.2 万 Star 说明社区对这个方向是认可的。如果你正在被多数据库维护的问题困扰或者在做 AI 应用需要一个支持向量检索的数据库可以关注一下这个项目。认可的。如果你正在被多数据库维护的问题困扰或者在做 AI 应用需要一个支持向量检索的数据库可以关注一下这个项目。