surrealdb
项目核心内容总结:
SurrealDB 是一个集数据库、API 和权限管理于一体的多模型数据库,支持表格、文档和图结构,提供实时同步、分布式集群、嵌入式使用等功能。
功能与特性:
- 多模型支持:兼容关系型表格、文档存储和图数据库,无需预先选择数据模型。
- 实时同步:通过 WebSocket 实现客户端与数据库的双向实时通信,支持数据变更推送和高效同步。
- 权限控制:内置细粒度访问权限管理,支持基于用户身份和角色的查询、创建、更新、删除操作限制。
- 分布式扩展:支持单节点内存运行或分布式集群部署,具备高可用性和横向扩展能力。
- 嵌入式与云原生:可作为嵌入式库集成到应用中,或作为云服务运行,适用于多种环境。
- 多语言支持:提供 JavaScript、Python、Go 等客户端库,支持 REST、GraphQL(即将推出)、SurrealQL 和 JSON-RPC 查询。
- JavaScript 扩展:允许通过嵌入 JavaScript 函数实现复杂业务逻辑,减少客户端数据传输。
使用方法:
- 安装:通过 Cargo(
cargo install surrealdb)或下载预编译包。 - 客户端集成:使用官方提供的 SDK(如 JavaScript、Python 等)连接数据库。
- 查询:支持 SurrealQL 语法,或通过 REST/JSON-RPC 接口操作数据。
主要优势:
- 简化开发流程,无需额外编写后端安全规则。
- 支持复杂查询与多表关联,无需 JOIN 操作。
- 高性能、低资源消耗,适合嵌入式和云环境。