-
Notifications
You must be signed in to change notification settings - Fork 1
QUICK_START
Get ThemisDB up and running in 5 minutes
- ✨ Features & Highlights
- 🚀 Schnellstart
- 📖 Installation & Setup
- 💡 Erste Schritte
- 🔧 Konfiguration
- 🛠️ Troubleshooting
- 📚 Siehe auch
- 📝 Changelog
ThemisDB bietet:
- 🐳 Docker-Support - Schnellste Installation
- 📦 Multi-Plattform - Windows, Linux, macOS
- ⚡ Zero-Config - Start in seconds
- 🔗 REST API - Einfache Integration
- 📊 Multi-Model - Relational, Document, Graph, Vector
- Docker (empfohlen) ODER
- Linux/macOS/Windows mit Build-Tools
Fastest way to get started:
# Pull the latest image
docker pull themisdb/themisdb:latest
# Run ThemisDB
docker run -d \
--name themisdb \
-p 8765:8765 \
-p 8080:8080 \
-v themis_data:/data \
themisdb/themisdb:latest
# Check if it's running
curl http://localhost:8765/healthExpected response:
{"status":"ok","uptime":5}Debian/Ubuntu:
wget https://github.com/makr-code/ThemisDB/releases/latest/download/themisdb_1.2.0-1_amd64.deb
sudo apt install ./themisdb_1.2.0-1_amd64.deb
sudo systemctl start themisdbmacOS (Homebrew):
brew install themisdb
brew services start themisdbWindows (Chocolatey):
choco install themisdbClone and build:
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
# Linux/macOS
./scripts/setup.sh
./scripts/build.sh
# Windows
.\scripts\setup.ps1
.\build.ps1
# Start server
./build/themis_server --config config.yamlcurl http://localhost:8765/healthcurl -X PUT http://localhost:8765/entities/users:alice \
-H "Content-Type: application/json" \
-d '{
"blob": "{\"name\":\"Alice\",\"age\":30,\"city\":\"Berlin\",\"role\":\"developer\"}"
}'Response:
{"status":"success","key":"users:alice"}curl http://localhost:8765/entities/users:aliceResponse:
{
"key": "users:alice",
"blob": "{\"name\":\"Alice\",\"age\":30,\"city\":\"Berlin\",\"role\":\"developer\"}"
}# Create Bob
curl -X PUT http://localhost:8765/entities/users:bob \
-H "Content-Type: application/json" \
-d '{"blob":"{\"name\":\"Bob\",\"age\":35,\"city\":\"Berlin\",\"role\":\"manager\"}"}'
# Create Charlie
curl -X PUT http://localhost:8765/entities/users:charlie \
-H "Content-Type: application/json" \
-d '{"blob":"{\"name\":\"Charlie\",\"age\":28,\"city\":\"Munich\",\"role\":\"developer\"}"}'
# Create David
curl -X PUT http://localhost:8765/entities/users:david \
-H "Content-Type: application/json" \
-d '{"blob":"{\"name\":\"David\",\"age\":32,\"city\":\"Hamburg\",\"role\":\"designer\"}"}'curl -X POST http://localhost:8765/index/create \
-H "Content-Type: application/json" \
-d '{"table":"users","column":"city"}'Response:
{"status":"success","index":"users.city"}Find all users in Berlin:
curl -X POST http://localhost:8765/query \
-H "Content-Type: application/json" \
-d '{
"table": "users",
"predicates": [{"column": "city", "value": "Berlin"}],
"return": "entities"
}'Response:
{
"table": "users",
"count": 2,
"entities": [
"{\"name\":\"Alice\",\"age\":30,\"city\":\"Berlin\",\"role\":\"developer\"}",
"{\"name\":\"Bob\",\"age\":35,\"city\":\"Berlin\",\"role\":\"manager\"}"
]
}curl -X POST http://localhost:8765/index/create \
-H "Content-Type: application/json" \
-d '{"table":"users","column":"age","type":"range"}'Find users aged 28-33, sorted by age:
curl -X POST http://localhost:8765/query \
-H "Content-Type: application/json" \
-d '{
"table": "users",
"range": [{"column": "age", "gte": "28", "lte": "33"}],
"order_by": {"column": "age", "desc": false},
"return": "entities"
}'AQL provides SQL-like syntax with graph and vector support:
curl -X POST http://localhost:8765/query/aql \
-H "Content-Type: application/json" \
-d '{
"query": "FOR u IN users FILTER u.city == \"Berlin\" AND u.age >= 30 RETURN u"
}'# JSON statistics
curl http://localhost:8765/stats
# Prometheus metrics
curl http://localhost:8765/metricsCreate edges (relationships):
# Alice knows Bob
curl -X PUT http://localhost:8765/entities/edge:e1 \
-H "Content-Type: application/json" \
-d '{
"blob": "{\"id\":\"e1\",\"_from\":\"users:alice\",\"_to\":\"users:bob\",\"type\":\"knows\"}"
}'
# Bob knows Charlie
curl -X PUT http://localhost:8765/entities/edge:e2 \
-H "Content-Type: application/json" \
-d '{
"blob": "{\"id\":\"e2\",\"_from\":\"users:bob\",\"_to\":\"users:charlie\",\"type\":\"knows\"}"
}'
# Graph traversal (BFS)
curl -X POST http://localhost:8765/graph/traverse \
-H "Content-Type: application/json" \
-d '{"start_vertex":"users:alice","max_depth":2}'Create vector index:
curl -X POST http://localhost:8765/vector/create-index \
-H "Content-Type: application/json" \
-d '{
"table": "documents",
"dimension": 128,
"metric": "l2"
}'Add vector embeddings:
curl -X PUT http://localhost:8765/entities/documents:doc1 \
-H "Content-Type: application/json" \
-d '{
"blob": "{\"title\":\"Introduction\",\"embedding\":[0.1,0.2,...]}"
}'Vector similarity search:
curl -X POST http://localhost:8765/vector/search \
-H "Content-Type: application/json" \
-d '{
"table": "documents",
"vector": [0.1, 0.2, ...],
"k": 10
}'curl -X PUT http://localhost:8765/entities/users:alice \
-H "Content-Type: application/json" \
-d '{"blob":"{\"name\":\"Alice\",\"age\":31,\"city\":\"Berlin\",\"role\":\"senior developer\"}"}'curl -X DELETE http://localhost:8765/entities/users:alicecurl -X POST http://localhost:8765/entities/batch \
-H "Content-Type: application/json" \
-d '{
"operations": [
{"op":"PUT","key":"users:eve","blob":"{\"name\":\"Eve\"}"},
{"op":"PUT","key":"users:frank","blob":"{\"name\":\"Frank\"}"},
{"op":"DELETE","key":"users:old_user"}
]
}'curl -X POST http://localhost:8765/admin/backup \
-H "Content-Type: application/json" \
-d '{"path":"/backups/backup-2025-12-15"}'Basic config.yaml:
storage:
rocksdb_path: ./data/themis_server
memtable_size_mb: 256
block_cache_size_mb: 1024
server:
host: 0.0.0.0
port: 8765
worker_threads: 8
vector_index:
engine: hnsw
hnsw_m: 16
hnsw_ef_construction: 200See: Configuration Guide
Check logs:
# Docker
docker logs themisdb
# Package installation
sudo journalctl -u themisdb
# From source
./build/themis_server --log-level debugCheck if server is running:
# Health check
curl http://localhost:8765/health
# Process check
ps aux | grep themis_server
# Docker check
docker ps | grep themisdbChange port in config.yaml:
server:
port: 8766 # Use different portCheck data directory permissions:
# Linux/macOS
chmod 755 ./data
chown $USER:$USER ./data
# Docker - use volumes
docker run -v themis_data:/data themisdb/themisdb:latest- Installation Guide - Detailed installation instructions
- Configuration Guide - All configuration options
- AQL Documentation - Learn the query language
- REST API Reference - Complete API documentation
- Client SDKs - Use ThemisDB from your favorite language
- Documentation: https://makr-code.github.io/ThemisDB/
- GitHub Issues: Report a bug
- Discussions: Ask questions
- Security: Security policy
Congratulations! You've completed the quick start guide. You now know how to:
- ✅ Install and run ThemisDB
- ✅ Create, read, update, and delete entities
- ✅ Create indexes and query data
- ✅ Work with graphs and vectors
- ✅ Monitor your database
Next: Explore the full documentation to learn about advanced features like transactions, sharding, replication, and GPU acceleration.
- Architecture-ACCESS-MODEL-IMPLEMENTATION-SUMMARY
- Architecture-ADR-003-pg-dump-sql-parser
- Architecture-BASEENTITY-PRINCIPLE
- Architecture-CACHE-STORAGE-INTEGRATION
- Architecture-CMAKE-ARCHITECTURE
- Architecture-CMAKE-FLAGS-REFERENCE
- Architecture-CMAKE-MODULAR-ARCHITECTURE
- Architecture-CONCERNS-ARCHITECTURE-DIAGRAM
- Architecture-CONCERNS-IMPLEMENTATION-SUMMARY
- Architecture-CONTENT-MODEL
- Architecture-COPILOT-THEMISDB-GRAPH-RAG-BACKEND-ARCHITECTURE
- Architecture-CRYPTO-AND-KEYS
- Architecture-FEATURE-FLAGS-REFERENCE
- Architecture-GPU-ARCHITECTURE-REVIEW-TEMPLATE
- Architecture-HTTP-SHUTDOWN-HARDENING
- Architecture-MIGRATION-GUIDE-CONCERNS
- Architecture-MIGRATION-GUIDE-v13-v14
- Architecture-MODULARIZATION-GUIDE
- Architecture-MODULAR-ARCHITECTURE-ROADMAP
- Architecture-MODULE-ARCHITECTURE-INDEX
- Architecture-P1D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D01-ISSMPLUGIN-DESIGN-REVIEW
- Architecture-P1-D08-MAMBA-GOVERNANCE-CONTRACT
- Architecture-P1-P2-IMPLEMENTATION-COMPLETION-INDEX
- Architecture-PHASE0-COMPLETION-ASSESSMENT
- Architecture-PHASE3-QUERYENGINE-DI-ARCHITECTURE
- Architecture-PHASE4-INDEX-MANAGER-DI
- Architecture-POSTGRESQL-WIRE-PROTOCOL
- Architecture-QUERYENGINE-IMPLEMENTATION-GUIDE
- Architecture-QUERY-SCHEDULING
- Architecture-RAFT-CONSENSUS-DESIGN
- Architecture-README
- Architecture-README-SSM-HYBRID-IMPLEMENTATION
- Architecture-REFACTORING-SUMMARY
- Architecture-RESOURCE-POOLING
- Architecture-SOURCE-DIRECTORY-GUIDE
- Architecture-THEMIS-CORE-GUIDE
- Architecture-UNIFIED-ACCESS-MODEL
- Architecture-WAL-GRPC-MTLS-CONFIGURATION
- Architecture-WIRE-PROTOCOL-RETRY
- Architecture-boltzmann-observability-draft
- Architecture-experimental-logarithmic-vector-storage
- Architecture-llm-wiki-mvp-adr
- Architecture-rewrite-engine-architecture
- Architecture-rope-api-architecture
- Architecture-ssm-gguf-mamba-status
- Architecture-ssm-hybrid-analysis
- Architecture-ssm-hybrid-rollout-plan
- Architecture-ssm-plugin-interface-design-review
- Architecture-transaction-coordinators
- Architecture-wiki-secondary-index
- Architecture-wire-protocol
- Governance-DISABLED-STUB-POLICY
- Governance-DOCS-PR-POLICY
- Governance-GA-PROMOTION-SIGN-OFF
- Governance-GITHUB-MILESTONES-SETUP
- Governance-MATURITY-CLAIM-VERIFICATION-CHECKLIST
- Governance-MATURITY-EVIDENCE-REGISTRY
- Governance-MERGE-GATE-BOT-CONFIG
- Governance-MERGE-GATE-STATUS-LIVE
- Governance-PHASE3-ENFORCEMENT-RUNBOOK
- Governance-PHASE-1-CLOSURE-REPORT
- Governance-PHASE-CLOSURE-POLICY
- Governance-PHASE-DEPENDENCY-GRAPH
- Governance-PLUGIN-SUBMODULE-ROLLBACK
- Governance-PRODUCTION-READY-2026-DELIVERY-PLAN
- Governance-PR-VERSION-TARGETING
- Governance-PR-VERSION-TARGETING-BACKFILL
- Governance-QUERY-MODULE-STATUS
- Governance-README
- Governance-RELEASE-PROMOTION-GATE-POLICY
- Governance-RELEASE-VALIDATION-CHECKLIST
- Governance-SECURITY-MODULE-5671-EVIDENCE-SUMMARY
- Governance-SHARDING-P6-RESIDUAL-RISK-ACCEPTANCE
- Governance-SOURCECODE-COMPLIANCE-GOVERNANCE
- Governance-UPDATES-DEVELOPMENT-STATUS-SIGN-OFF
- Governance-WAVE-C-IMPLEMENTATION-COMPLETE
- Module-acceleration-Roadmap
- Module-access-model-Roadmap
- Module-ai-Roadmap
- Module-analytics-Roadmap
- Module-api-Roadmap
- Module-aql-Roadmap
- Module-auth-Roadmap
- Module-base-Roadmap
- Module-cache-Roadmap
- Module-cdc-Roadmap
- Module-chaos-Roadmap
- Module-chimera-Roadmap
- Module-config-Roadmap
- Module-content-Roadmap
- Module-core-Roadmap
- Module-distributed-knowledge-Roadmap
- Module-distributed-tensor-Roadmap
- Module-document-Roadmap
- Module-ethics-ai-Roadmap
- Module-evaluation-Roadmap
- Module-execution-Roadmap
- Module-exporters-Roadmap
- Module-failover-Roadmap
- Module-geo-Roadmap
- Module-governance-Roadmap
- Module-gpu-Roadmap
- Module-graph-Roadmap
- Module-image-analysis-Roadmap
- Module-importers-Roadmap
- Module-index-Roadmap
- Module-ingestion-Roadmap
- Module-llama-cpp-Roadmap
- Module-llm-Roadmap
- Module-llm-streaming-Roadmap
- Module-llm-wiki-Roadmap
- Module-maintenance-Roadmap
- Module-metadata-Roadmap
- Module-network-Roadmap
- Module-observability-Roadmap
- Module-onnx-clip-Roadmap
- Module-performance-Roadmap
- Module-plugins-Roadmap
- Module-process-Roadmap
- Module-projects-Roadmap
- Module-prompt-engineering-Roadmap
- Module-query-Roadmap
- Module-rag-Roadmap
- Module-replication-Roadmap
- Module-retrieval-Roadmap
- Module-rpc-grpc-Roadmap
- Module-scheduler-Roadmap
- Module-scraper-Roadmap
- Module-search-Roadmap
- Module-security-Roadmap
- Module-server-Roadmap
- Module-sharding-Roadmap
- Module-stable-diffusion-Roadmap
- Module-storage-Roadmap
- Module-temporal-Roadmap
- Module-tensor-Roadmap
- Module-themis-Roadmap
- Module-timeseries-Roadmap
- Module-toolbox-Roadmap
- Module-training-Roadmap
- Module-transaction-Roadmap
- Module-updates-Roadmap
- Module-user-storage-encrypted-Roadmap
- Module-utils-Roadmap
- Module-vector-search-Roadmap
- Module-voice-Roadmap
- Module-whisper-Roadmap