今天介绍:SurrealDB
用于实时网络的可扩展、分布式、协作的文档图形数据库
github源代码:
https://github.com/surrealdb/surrealdb
国内镜像:
http://www.gitpp.com/four/surrealdb
项目介绍
SurrealDB 是一个开源的端到端云原生数据库,由 Rust 语言编写,支持多种数据模型,包括表(Table)、文档(Document)和图(Graph),并提供了多种查询语言,如 SurrealQL、GraphQL、REST 和 WebSocket。它旨在满足现代网络应用的需求,具有实时查询和权限管理等高级特性。
SurrealDB 的主要功能包括:
减少开发时间:SurrealDB 消除了对大多数服务器端组件的需求,从而简化了您的数据库和 API 堆栈,使您能够更快、更便宜地构建安全、高性能的应用程序。
实时协作API后端服务:SurrealDB既作为数据库又作为API后端服务,实现实时协作。
支持多种查询语言:SurrealDB支持客户端设备的SQL查询、GraphQL、ACID事务、WebSocket连接、结构化和非结构化数据、图形查询、全文索引和地理空间查询。
精细的访问控制:SurrealDB 提供基于行级权限的访问控制,使您能够精确管理数据访问。
随着在 GitHub 上的星标数量的增长,SurrealDB 受到了越来越多开发者的关注和认可,显示出其在开源数据库领域的潜力和影响力。
SurrealDB 的特点包括:
1. 实时性:SurrealDB 支持实时更新和查询,使开发者能够构建具有即时响应能力的应用程序。
2. 可扩展性:SurrealDB 是分布式数据库,可以在多个服务器和云环境中扩展,以满足不断增长的数据需求。
3. 灵活性:SurrealDB 使用 JSON 格式的文档,使开发者能够轻松地存储和查询数据。
4. 安全性:SurrealDB 提供了多种安全特性,包括身份验证、授权和数据加密,以确保数据的安全性。
5. 高性能:SurrealDB 采用了优化算法和数据结构,以确保高性能和低延迟的数据访问。
6. 协作功能:SurrealDB 支持多用户协作,使团队成员可以同时编辑和查询数据。
总之,SurrealDB 提供了一种简单、高效和安全的解决方案,使开发者能够专注于构建应用程序,而不是花费大量时间来处理数据库和 API 基础架构。
安装
SurrealDB 的设计易于安装和运行 - 只需使用终端中的一个命令。除了传统安装之外,SurrealDB 还可以使用 HomeBrew、Docker 或使用任何其他容器编排工具(例如 Docker Compose、Docker Swarm、Rancher)或在 Kubernetes 中安装和运行。
在 macOS 上安装
在 macOS 上使用 SurrealDB 的最快方法是使用 Homebrew。这会将命令行工具和 SurrealDB 服务器安装为单个可执行文件。如果您不使用 Homebrew,请按照下面针对 Linux 的说明安装 SurrealDB。
brew install surrealdb/tap/surreal
在 Linux 上安装
在 Unix 操作系统上使用 SurrealDB 的最简单且首选的方法是安装和使用 SurrealDB 命令行工具。在终端中运行以下命令并按照屏幕上的说明进行操作。
curl --proto '=https' --tlsv1.2 -sSf https://install.surrealdb.com | sh
如果您想要比当前发布的二进制文件更新的二进制文件,您可以安装每晚版本。
curl --proto '=https' --tlsv1.2 -sSf https://install.surrealdb.com | sh -s -- --nightly
在 Windows 上安装
在 Windows 上使用 SurrealDB 的最简单且首选的方法是安装和使用 SurrealDB 命令行工具。在终端中运行以下命令并按照屏幕上的说明进行操作。
iwr https://windows.surrealdb.com -useb | iex
使用 Docker 运行
Docker 可用于管理和运行 SurrealDB 数据库实例,无需安装任何命令行工具。SurrealDB docker 容器包含完整的命令行工具,用于从正在运行的服务器导入和导出数据,或用于运行服务器本身。
docker run --rm --pull always --name surrealdb -p 8000:8000 surrealdb/surrealdb:latest start
对于刚开始使用在内存中运行的开发服务器,您可以向容器传递基本初始化,以将用户和密码设置为 root 并启用日志记录。
docker run --rm --pull always --name surrealdb -p 8000:8000 surrealdb/surrealdb:latest start --log trace --user root --pass root memory
总结起来,surrealdb是一个具有多模型支持、高性能和可扩展性、强大查询功能、分布式事务支持、数据复制和故障恢复、安全性和权限管理、可定制化和扩展性等特点和功能的数据库系统。它适用于处理各种类型的数据和大规模的工作负载,为用户提供了一个可靠、高效和灵活的数据存储和处理解决方案。
官网https://surrealdb.com/
github源代码:
https://github.com/surrealdb/surrealdb
国内镜像:
http://www.gitpp.com/four/surrealdb