e1bae0c7a0
- Add docs/ folder with English (en/) and Bulgarian (bg/) documentation - Create index.md with language switching and links - English docs: installation, quickstart, architecture, baraql, storage, schema, lsm, btree, vector, graph, fts, columnar, transactions, distributed, protocol, udf, api-binary, api-http, api-websocket - Bulgarian docs: installation, quickstart, architecture, baraql, schema, lsm, btree, vector, graph, fts, transactions, distributed - Update README license to BSD 3-Clause - Add LICENSE file with BSD 3-Clause text
113 lines
1.6 KiB
Markdown
113 lines
1.6 KiB
Markdown
# BaraDB - Installation Guide
|
|
|
|
## Requirements
|
|
|
|
- **Nim Compiler** >= 2.0.0
|
|
- **Operating System**: Linux, macOS, Windows
|
|
|
|
## Installing Nim
|
|
|
|
### Linux/macOS
|
|
|
|
```bash
|
|
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
|
|
```
|
|
|
|
Or via package manager:
|
|
|
|
```bash
|
|
# Ubuntu/Debian
|
|
apt-get install nim
|
|
|
|
# macOS
|
|
brew install nim
|
|
```
|
|
|
|
### Windows
|
|
|
|
Download the installer from [nim-lang.org](https://nim-lang.org/install.html) or use winget:
|
|
|
|
```powershell
|
|
winget install nim
|
|
```
|
|
|
|
## Building BaraDB
|
|
|
|
### Clone the Repository
|
|
|
|
```bash
|
|
git clone https://github.com/katehonz/barabaDB.git
|
|
cd barabaDB
|
|
```
|
|
|
|
### Build the Project
|
|
|
|
```bash
|
|
# Debug build
|
|
nim c -o:build/baradadb src/baradadb.nim
|
|
|
|
# Release build (optimized)
|
|
nim c -d:release -o:build/baradadb src/baradadb.nim
|
|
```
|
|
|
|
### Run Tests
|
|
|
|
```bash
|
|
nim c --path:src -r tests/test_all.nim
|
|
```
|
|
|
|
### Run Benchmarks
|
|
|
|
```bash
|
|
nim c -d:release -r benchmarks/bench_all.nim
|
|
```
|
|
|
|
## Installation Options
|
|
|
|
### Pre-built Binary
|
|
|
|
Download the latest release from the [GitHub Releases](https://github.com/katehonz/barabaDB/releases) page.
|
|
|
|
### Docker
|
|
|
|
```bash
|
|
docker pull barabadb/barabadb
|
|
docker run -it barabadb/barabadb
|
|
```
|
|
|
|
### Embedded Usage
|
|
|
|
Add to your `.nimble` file:
|
|
|
|
```nim
|
|
requires "barabadb >= 1.0.0"
|
|
```
|
|
|
|
Then import in your code:
|
|
|
|
```nim
|
|
import barabadb
|
|
|
|
var db = newLSMTree("./data")
|
|
db.put("key1", cast[seq[byte]]("value1"))
|
|
db.close()
|
|
```
|
|
|
|
## Verifying Installation
|
|
|
|
```bash
|
|
./build/baradadb --version
|
|
```
|
|
|
|
Expected output:
|
|
|
|
```
|
|
BaraDB v1.0.0
|
|
multimodal database engine
|
|
```
|
|
|
|
## Next Steps
|
|
|
|
- [Quick Start Guide](en/quickstart.md)
|
|
- [Architecture Overview](en/architecture.md)
|
|
- [BaraQL Query Language](en/baraql.md) |