956066631e
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled
4.9 KiB
4.9 KiB
BaraDB - 安装指南
系统要求
- Nim 编译器 >= 2.2.0
- OpenSSL 开发头文件 (用于 TLS 支持)
- 操作系统: Linux、macOS、Windows
支持的平台
| 操作系统 | 架构 | 状态 |
|---|---|---|
| Linux | x86_64 | ✅ 完全支持 |
| Linux | ARM64 | ✅ 完全支持 |
| macOS | x86_64 | ✅ 完全支持 |
| macOS | ARM64 (Apple Silicon) | ✅ 完全支持 |
| Windows | x86_64 | ✅ 支持 |
| FreeBSD | x86_64 | 🟡 社区测试 |
安装 Nim
Linux
# 官方安装脚本
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install nim
# Fedora
sudo dnf install nim
# Arch Linux
sudo pacman -S nim
macOS
# Homebrew
brew install nim
# MacPorts
sudo port install nim
Windows
# 使用 choosenim
curl.exe -A "MSYS2_$(uname -m)" -L https://nim-lang.org/choosenim/init.ps1 | powershell -
# 使用 winget
winget install nim
# 使用 scoop
scoop install nim
验证安装
nim --version
# 预期输出: Nim Compiler Version 2.2.0 或更高
安装 OpenSSL
Linux
# Ubuntu/Debian
sudo apt-get install libssl-dev
# Fedora
sudo dnf install openssl-devel
# Arch Linux
sudo pacman -S openssl
macOS
OpenSSL 已随系统提供。如有需要:
brew install openssl
Windows
OpenSSL 已捆绑在 Nim Windows 分发版中。如需手动构建, 请从 slproweb.com 下载。
构建 BaraDB
克隆仓库
git clone https://codeberg.org/baraba/bara-lang
cd barabaDB
安装依赖
nimble install -d -y
构建选项
调试构建
nim c -d:ssl -o:build/baradadb src/baradadb.nim
发布构建 (推荐)
nim c -d:ssl -d:release --opt:speed -o:build/baradadb src/baradadb.nim
使用 Nimble Tasks
# 调试构建
nimble build_debug
# 发布构建
nimble build_release
精简二进制文件
nim c -d:ssl -d:release --opt:size -o:build/baradadb src/baradadb.nim
strip build/baradadb
验证构建
./build/baradadb --version
# 预期输出: BaraDB v1.1.0 — Multimodal Database Engine
运行测试
所有测试
nim c -d:ssl -r tests/test_all.nim
特定测试套件
# 存储测试
nim c -d:ssl -r tests/test_storage.nim
# 查询引擎测试
nim c -d:ssl -r tests/test_query.nim
# 协议测试
nim c -d:ssl -r tests/test_protocol.nim
基准测试
nim c -d:ssl -d:release -r benchmarks/bench_all.nim
安装选项
系统级安装
# 构建发布版二进制文件
nimble build_release
# 安装到 /usr/local/bin
sudo cp build/baradadb /usr/local/bin/
sudo chmod +x /usr/local/bin/baradadb
# 创建数据目录
sudo mkdir -p /var/lib/baradb
sudo chmod 755 /var/lib/baradb
预编译二进制文件
为您的平台下载最新的发布版本:
# Linux x86_64
wget https://github.com/katehonz/barabaDB/releases/latest/download/baradadb-linux-amd64
chmod +x baradadb-linux-amd64
mv baradadb-linux-amd64 /usr/local/bin/baradadb
# Linux ARM64
wget https://github.com/katehonz/barabaDB/releases/latest/download/baradadb-linux-arm64
chmod +x baradadb-linux-arm64
mv baradadb-linux-arm64 /usr/local/bin/baradadb
# macOS
wget https://github.com/katehonz/barabaDB/releases/latest/download/baradadb-darwin-amd64
chmod +x baradadb-darwin-amd64
mv baradadb-darwin-amd64 /usr/local/bin/baradadb
Docker
# 拉取官方镜像
docker pull barabadb/barabadb:latest
# 运行
docker run -d \
-p 9472:9472 \
-p 9470:9470 \
-p 9471:9471 \
-v baradb_data:/data \
barabadb/barabadb
Docker Compose
docker-compose up -d
嵌入式使用 (Nim 项目)
添加到您的 .nimble 文件:
requires "barabadb >= 0.1.0"
在代码中使用:
import barabadb/storage/lsm
var db = newLSMTree("./data")
db.put("key", cast[seq[byte]]("value"))
let (found, val) = db.get("key")
db.close()
首次运行
# 启动服务器
./build/baradadb
# 预期输出:
# BaraDB v1.1.0 — Multimodal Database Engine
# BaraDB TCP listening on 127.0.0.1:9472
# 使用 HTTP API 测试
curl http://localhost:9470/health
# 交互式 shell
./build/baradadb --shell
安装故障排除
"cannot open file: hunos"
nimble install -d -y
"BaraDB requires SSL support"
始终使用 -d:ssl 编译:
nim c -d:ssl -o:build/baradadb src/baradadb.nim
编译缓慢
使用并行编译:
nim c -d:ssl -d:release --parallelBuild:4 -o:build/baradadb src/baradadb.nim
二进制文件过大
使用大小优化:
nim c -d:ssl -d:release --opt:size --passL:-s -o:build/baradadb src/baradadb.nim