- General
- Installation & Setup
- Performance
- Features & Capabilities
- Development
- Troubleshooting
- Licensing
ThemisDB is a high-performance multi-model database that combines relational, graph, vector, and document models in a single system with full ACID transaction support. It's built on RocksDB for reliability and includes optional native LLM integration.
ThemisDB uniquely combines:
- Multiple data models (relational, graph, vector, document) in one unified system
- Full ACID transactions with MVCC
- Optional native LLM integration (llama.cpp)
- GPU-accelerated vector search
- Production-ready performance (45K writes/s, 120K reads/s)
- Minimal Edition: Embedded systems, IoT, edge devices (core database only)
- Community Edition: Development, startups, single-server deployments (full-featured)
- Enterprise Edition: Large-scale production with horizontal scaling, HA, and replication
Yes! The Community Edition is production-ready for single-node deployments. The Enterprise Edition adds horizontal scaling and high availability for large-scale production environments.
Minimum:
- CPU: 2 cores
- RAM: 4 GB
- Storage: 10 GB SSD
- OS: Linux (Ubuntu 20.04+), macOS (10.15+), Windows (10+)
Recommended:
- CPU: 8+ cores
- RAM: 16+ GB
- Storage: 100+ GB NVMe SSD
- OS: Linux (Ubuntu 22.04+)
Docker (Recommended):
docker pull themisdb/themisdb:latest
docker run -d -p 8080:8080 -v themis_data:/data themisdb/themisdb:latestFrom Source:
git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
./scripts/setup.sh
./scripts/build.sh
./build/themis_server --config config.yamlSee the Quick Start guide for more options.
8080: HTTP/REST API, GraphQL18765: Binary Wire Protocol, gRPC4318: OpenTelemetry/Prometheus metrics
See docs/de/deployment/PORT_REFERENCE.md for complete details.
Yes! ThemisDB supports ARM64 architecture including Apple Silicon (M1/M2/M3). Use the appropriate build configuration or Docker image for your platform.
- Backup your data directory
- Stop the current server
- Install the new version
- Start the server with the same data directory
ThemisDB handles data migration automatically when needed.
Typical performance (release build, 20 cores @ 3.7 GHz):
- Entity PUT: 45,000 ops/s
- Entity GET: 120,000 ops/s
- Indexed Query: 3.4M queries/s
- Graph Traverse: 9.56M ops/s
- Vector Search: 59.7M queries/s
Actual performance varies based on hardware, data size, and workload complexity.
- Use SSDs (preferably NVMe) for storage
- Allocate sufficient memory (recommend 16+ GB)
- Enable appropriate indexes for your query patterns
- Use GPU acceleration for vector search (if available)
- Tune RocksDB settings in configuration
See docs/de/performance/performance_memory.md for detailed tuning.
Yes! ThemisDB supports GPU acceleration for:
- Vector similarity search (CUDA-enabled GPUs)
- Some LLM operations (when LLM feature is enabled)
GPU support is optional and automatically detected at runtime.
Memory requirements depend on:
- Base system: 2-4 GB
- Data working set: 1-2x your active dataset size for optimal performance
- Index structures: Varies by index type and data size
- LLM (optional): 4-16 GB depending on model size
For production, we recommend 16+ GB RAM.
ThemisDB uses AQL (Advanced Query Language), which supports:
- SQL-like syntax for relational operations
- Graph traversal operations (BFS, Dijkstra, A*)
- Vector similarity search
- Document operations with JSON
See docs/de/aql/aql_syntax.md for syntax reference.
Yes! ThemisDB provides:
- Full ACID guarantees
- Snapshot isolation (MVCC)
- Write-write conflict detection
- Atomic updates across all index types
Yes! ThemisDB's unified storage engine allows you to combine relational, graph, vector, and document operations in a single ACID transaction.
ThemisDB supports:
- HNSW (Hierarchical Navigable Small World): Fast approximate nearest neighbor search
- FAISS: GPU-accelerated similarity search
- Multiple distance metrics: Euclidean, Cosine, Inner Product
Yes! ThemisDB includes full-text search capabilities with support for:
- Tokenization and stemming
- Boolean operators
- Phrase matching
- Relevance scoring
ThemisDB includes:
- TLS 1.3 with mutual TLS (mTLS) support
- Role-Based Access Control (RBAC)
- Field-level encryption (AES-256-GCM)
- Audit logging with SIEM integration
- Input validation and SQL injection prevention
See docs/de/security/security_implementation.md for details.
ThemisDB provides:
- REST API: Any language with HTTP support
- GraphQL: Any GraphQL client
- gRPC: Multiple language bindings
- Native SDKs: C++, Python, JavaScript, Go, Java
See clients/README.md for SDK details.
We welcome contributions! Please:
- Read the Contributing Guide
- Check Good First Issues
- Follow our Code of Conduct
- Submit a pull request
- REST API: docs/api/API_REFERENCE.md
- GraphQL Schema: Available at
/graphqlendpoint - gRPC: Protocol buffers in
proto/directory - Full Documentation: https://makr-code.github.io/ThemisDB/
# Run all tests
cmake --build build --target test
# Run specific test suite
./build/tests/themis_tests --gtest_filter=VectorIndex*
# Run benchmarks
./build/benchmarks/themis_benchmarksThemisDB uses CMake as the primary build system with support for:
- Make (Unix/Linux)
- Ninja (all platforms)
- MSBuild (Windows)
- Xcode (macOS)
- Check if ports 8080 or 18765 are already in use
- Verify configuration file syntax (
config.yaml) - Check disk space (need at least 1 GB free)
- Review logs in
logs/directory - Ensure proper file permissions on data directory
Edit config.yaml:
logging:
level: debug
file: logs/themis.logOr set environment variable:
export THEMIS_LOG_LEVEL=debug- Increase system RAM or reduce memory limits in config
- Reduce RocksDB block cache size
- Disable LLM features if not needed
- Use the Minimal Edition for lower memory usage
- Check for memory leaks (enable memory profiling)
- Ensure proper index type (HNSW recommended)
- Enable GPU acceleration if available
- Tune HNSW parameters (M, ef_construction)
- Consider reducing vector dimensions
- Check if CPU is bottleneck (add more cores)
Online backup (recommended):
curl -X POST http://localhost:8080/admin/backupOffline backup:
- Stop ThemisDB server
- Copy the entire data directory
- Restart server
See docs/de/guides/guides_deployment.md for details.
- Documentation: https://makr-code.github.io/ThemisDB/
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Community Q&A
- Support Guide: SUPPORT.md
- Community Edition: MIT License (free, open source)
- Enterprise Edition: Commercial license
See LICENSE for details.
Yes! The Community Edition (MIT License) allows commercial use, modification, and distribution. The Enterprise Edition is available for large-scale deployments requiring additional features.
| Feature | Community | Enterprise |
|---|---|---|
| Core Database | ✅ | ✅ |
| Single-Node | ✅ | ✅ |
| Horizontal Sharding | ❌ | ✅ |
| High Availability | ❌ | ✅ |
| Auto-Rebalancing | ❌ | ✅ |
| Multi-Region | ❌ | ✅ |
| Support SLA | ❌ | ✅ |
See docs/reports/ENTERPRISE.md for Enterprise details.
Contact us at: sales@themisdb.com
- 📚 Full Documentation
- 🚀 Quick Start Guide
- 📖 Examples & Tutorials
- 🤝 Contributing Guide
- 🔒 Security Policy
- 💬 GitHub Discussions
Didn't find your answer? Ask a question in GitHub Discussions