Skip to content

makr-code/ThemisDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10,234 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

ThemisDB

High-performance multi-model database with native AI/LLM integration

Version License Security Docs Contributing

πŸ“š Documentation Β· πŸš€ Quick Start Β· ❓ FAQ Β· Release Notes Β· Roadmap


What is ThemisDB?

ThemisDB is an enterprise-grade, multi-model database engine that combines relational, graph, vector, document, geospatial, and time-series storage in a single system β€” with native AI/LLM integration built in. It is designed for workloads that require strong transactional guarantees, distributed operation, and advanced analytical capabilities alongside modern machine-learning workflows.

ThemisDB has comprehensive documentation for all 50 modules with production-ready standards:

Key capabilities at a glance:

Capability Details
Multi-model storage Relational Β· Graph Β· Vector (HNSW/FAISS) Β· Document Β· Geospatial Β· Time-series
ACID transactions MVCC, SSI, 2PC, SAGA orchestration, HLC-based global ordering
Distributed Raft consensus, mTLS replication, consistent-hash sharding, auto-failover
AI/LLM native Embedded LLM inference (llama.cpp, ONNX), RAG pipeline, prompt engineering, LoRA fine-tuning
Full-text search BM25 + vector hybrid search (RRF), faceted, conversational, multi-modal
Observability Prometheus metrics, OpenTelemetry tracing, PagerDuty/Slack alerting
Security AES-256-GCM field encryption, RLS, Zero-Trust policy, eIDAS timestamping, HSM/Vault
Editions MINIMAL Β· COMMUNITY Β· ENTERPRISE Β· MILITARY Β· HYPERSCALER

Quick Start

Docker (fastest)

docker pull 
docker run

Connect via the wire protocol on port 8766 or the REST/HTTP API on port 8765.

Build from source

git clone https://github.com/makr-code/ThemisDB.git
cd ThemisDB
# Install dependencies and configure build environment
./scripts/setup-pre-commit.sh          # Linux/macOS
# pwsh ./scripts/setup-third-party.ps1  # all platforms (vcpkg, llama.cpp, ffmpeg)

cmake --preset community-release
cmake --build --preset community-release

See QUICKSTART.md for a step-by-step guide, and SETUP.md for a full development-environment walkthrough.


Editions

ThemisDB is available in five editions, selected at CMake build time:

Edition Use case Branch Build flag
MINIMAL Embedded / resource-constrained main -DTHEMIS_EDITION=MINIMAL
COMMUNITY Open-source, self-hosted main -DTHEMIS_EDITION=COMMUNITY
ENTERPRISE Commercial, SLA-backed enterprise -DTHEMIS_EDITION=ENTERPRISE
MILITARY Hardened / air-gapped enterprise -DTHEMIS_EDITION=MILITARY
HYPERSCALER Cloud/OEM, Kubernetes operator hyperscaler -DTHEMIS_EDITION=HYPERSCALER

Feature sets are nested: MINIMAL βŠ‚ COMMUNITY βŠ‚ ENTERPRISE βŠ‚ HYPERSCALER.

See RELEASE_STRATEGY.md for the full feature comparison and edition matrix.


Architecture

ThemisDB is organised into 55 source modules under src/, grouped into four logical layers:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  API Layer       REST Β· GraphQL Β· gRPC Β· Wire V2     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Query Layer     AQL Β· Optimizer Β· Planner Β· Cache   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Storage Layer   RocksDB Β· MVCC Β· WAL Β· Sharding     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Distributed     Raft Β· Replication Β· Failover Β· CDC β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β†’ Full architecture reference: ARCHITECTURE.md
β†’ Module list and status: roadmap.md


Documentation

Document Description
QUICKSTART.md Get running in minutes
SETUP.md Full development environment setup
ARCHITECTURE.md System design and module overview
VERSIONING.md Versioning policy and release cadence
RELEASE_STRATEGY.md Branch model, edition matrix, CI/CD pipeline
CHANGELOG.md Release notes (Keep a Changelog format)
PERFORMANCE_EXPECTATIONS.md Benchmarks and performance targets
SOP.md Standard operating procedures (release, hotfix, incident)
GOVERNANCE.md Project governance: roles, decision-making, contribution policy
MAINTAINERS.md Maintainer roster and module ownership
SECURITY.md Security policy and vulnerability reporting
CONTRIBUTING.md How to contribute
CODE_OF_CONDUCT.md Community guidelines
SUPPORT.md Where to get help
INDEX.md Full project structure index
docs/ Extended documentation (API reference, guides, research)
compendium/ In-depth technical compendium

Versioning

ThemisDB follows Semantic Versioning 2.0.0. The current version is stored in the VERSION file and in CHANGELOG.md. Pre-release identifiers use the form -rcN (release candidate) or -alphaN / -betaN.

See VERSIONING.md for the full versioning policy.


Contributing

Contributions are welcome! Please read CONTRIBUTING.md before submitting a pull request. All participants are expected to follow our Code of Conduct.

Good first issues are tagged good first issue in the issue tracker.


Security

To report a security vulnerability, do not open a public issue. Follow the responsible disclosure process in SECURITY.md or use GitHub Security Advisories.


License

ThemisDB is released under the MIT License.


Module Documentation

Per-module documentation lives in src/<module>/README.md and include/<module>/. This section is a navigation index.