c55d3080cf
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
Documentation updates: - Fix v0.1.0 → v1.1.0 version numbers in en, ru, fa, zh docs - Add missing Window Functions, Multi-Tenant ERP, Supported Keywords sections to ru, fa, zh baraql.md (~105 lines each) - Expand Turkish and Arabic baraql.md (110 → 268 lines) - Expand Turkish and Arabic installation.md (62 → 307 lines) - Add new Bulgarian documentation files (18 new files) Client updates: - Python: Full async/await rewrite with asyncio, request queueing - Rust: Full async/await rewrite with tokio, async examples - Nim: Update README to v1.1.0 - All clients now support async patterns consistently
5.8 KiB
5.8 KiB
راهنمای نصب BaraDB
الزامات
- کامپایلر Nim >= 2.2.0
- فایلهای هدر OpenSSL (برای پشتیبانی TLS)
- سیستمعامل: لینوکس، macOS، ویندوز
پلتفرمهای پشتیبانیشده
| سیستمعامل | معماری | وضعیت |
|---|---|---|
| لینوکس | x86_64 | ✅ پشتیبانی کامل |
| لینوکس | ARM64 | ✅ پشتیبانی کامل |
| macOS | x86_64 | ✅ پشتیبانی کامل |
| macOS | ARM64 (Apple Silicon) | ✅ پشتیبانی کامل |
| ویندوز | x86_64 | ✅ پشتیبانیشده |
| FreeBSD | x86_64 | 🟡 تستشده توسط جامعه |
نصب Nim
لینوکس
# نصبکننده رسمی
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
ویندوز
# Using choosenim
curl.exe -A "MSYS2_$(uname -m)" -L https://nim-lang.org/choosenim/init.ps1 | powershell -
# Using winget
winget install nim
# Using scoop
scoop install nim
تأیید نصب
nim --version
# انتظار: Nim Compiler Version 2.2.0 یا بالاتر
نصب OpenSSL
لینوکس
# 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
ویندوز
OpenSSL همراه توزیع ویندوز Nim است. برای ساخت دستی، از slproweb.com دانلود کنید.
ساخت BaraDB
کلون کردن مخزن
git clone https://github.com/katehonz/barabaDB.git
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
باینری از پیش ساختهشده
آخرین ریلیز را برای پلتفرم خود دانلود کنید:
# لینوکس 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
# لینوکس 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
# شل تعاملی
./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