Skip to content

surrealdb

项目核心内容总结:
SurrealDB 是一个集数据库、API 和权限管理于一体的多模型数据库,支持表格、文档和图结构,提供实时同步、分布式集群、嵌入式使用等功能。

功能与特性:

  1. 多模型支持:兼容关系型表格、文档存储和图数据库,无需预先选择数据模型。
  2. 实时同步:通过 WebSocket 实现客户端与数据库的双向实时通信,支持数据变更推送和高效同步。
  3. 权限控制:内置细粒度访问权限管理,支持基于用户身份和角色的查询、创建、更新、删除操作限制。
  4. 分布式扩展:支持单节点内存运行或分布式集群部署,具备高可用性和横向扩展能力。
  5. 嵌入式与云原生:可作为嵌入式库集成到应用中,或作为云服务运行,适用于多种环境。
  6. 多语言支持:提供 JavaScript、Python、Go 等客户端库,支持 REST、GraphQL(即将推出)、SurrealQL 和 JSON-RPC 查询。
  7. JavaScript 扩展:允许通过嵌入 JavaScript 函数实现复杂业务逻辑,减少客户端数据传输。

使用方法:

  • 安装:通过 Cargo(cargo install surrealdb)或下载预编译包。
  • 客户端集成:使用官方提供的 SDK(如 JavaScript、Python 等)连接数据库。
  • 查询:支持 SurrealQL 语法,或通过 REST/JSON-RPC 接口操作数据。

主要优势:

  • 简化开发流程,无需额外编写后端安全规则。
  • 支持复杂查询与多表关联,无需 JOIN 操作。
  • 高性能、低资源消耗,适合嵌入式和云环境。