-
Notifications
You must be signed in to change notification settings - Fork 0
BIBLIOTHEKEN_UBERSICHT
Stand: 26. Dezember 2025
Version: v1.3.1
Kategorie: 🚀 Deployment
Status: Production-Ready
ThemisDB nutzt moderne C++ Bibliotheken für Hochleistungs-Datenbank-Funktionalität. Alle Abhängigkeiten werden über vcpkg verwaltet für reproduzierbare Builds auf allen Plattformen.
Gesamt: 17 Kern-Bibliotheken + optionale Feature-Bibliotheken
Diese Bibliotheken sind für alle ThemisDB-Builds erforderlich:
- Version: Aktuell über vcpkg
- Zweck: TLS/SSL-Verschlüsselung, kryptographische Funktionen
-
vcpkg:
openssl - Dokumentation: https://www.openssl.org/docs/
- Lizenz: Apache 2.0
- Version: Aktuell über vcpkg
- Zweck: Embedded Key-Value Store, LSM-Tree Storage Engine
-
vcpkg:
rocksdbmit Features:lz4,zstd - Dokumentation: https://rocksdb.org/
- Lizenz: Apache 2.0 / GPL 2.0
-
Features:
-
lz4: LZ4 Kompression für schnelle I/O -
zstd: Zstandard Kompression für hohe Kompressionsraten
-
- Version: Aktuell über vcpkg
- Zweck: Ultra-schnelles JSON Parsing (Gigabytes pro Sekunde)
-
vcpkg:
simdjson - Dokumentation: https://simdjson.org/
- Lizenz: Apache 2.0
- Version: Aktuell über vcpkg
- Zweck: Task-basierte Parallelisierung, Thread-Pool
-
vcpkg:
tbb - Dokumentation: https://www.intel.com/content/www/us/en/docs/onetbb/
- Lizenz: Apache 2.0
- Version: Aktuell über vcpkg
- Zweck: Spaltenbasierte In-Memory Datenverarbeitung, Zero-Copy Analytics
-
vcpkg:
arrowmit Features:parquet,compute - Dokumentation: https://arrow.apache.org/docs/
- Lizenz: Apache 2.0
-
Features:
-
parquet: Apache Parquet Format Support -
compute: Arrow Compute Kernels für Analytics
-
- Version: Aktuell über vcpkg
- Zweck: Approximate Nearest Neighbor Search (Vektor-Ähnlichkeitssuche)
-
vcpkg:
hnswlib - Dokumentation: https://github.com/nmslib/hnswlib
- Lizenz: Apache 2.0
- Version: Aktuell über vcpkg
- Zweck: Unit Testing Framework
-
vcpkg:
gtest - Dokumentation: https://google.github.io/googletest/
- Lizenz: BSD 3-Clause
- Version: Aktuell über vcpkg
- Zweck: Microbenchmarking Framework
-
vcpkg:
benchmark - Dokumentation: https://github.com/google/benchmark
- Lizenz: Apache 2.0
- Version: Aktuell über vcpkg
- Zweck: Asynchrone Netzwerk-I/O
-
vcpkg:
boost-asio - Dokumentation: https://www.boost.org/doc/libs/release/doc/html/boost_asio.html
- Lizenz: Boost Software License 1.0
- Version: Aktuell über vcpkg
- Zweck: HTTP/WebSocket Server über Asio
-
vcpkg:
boost-beast - Dokumentation: https://www.boost.org/doc/libs/release/libs/beast/
- Lizenz: Boost Software License 1.0
- Version: Aktuell über vcpkg
- Zweck: Hochperformantes Logging Framework
-
vcpkg:
spdlog - Dokumentation: https://github.com/gabime/spdlog
- Lizenz: MIT
- Version: Aktuell über vcpkg
- Zweck: JSON für Modern C++, Schema-Validierung
-
vcpkg:
nlohmann-json - Dokumentation: https://json.nlohmann.me/
- Lizenz: MIT
- Version: Aktuell über vcpkg
- Zweck: Distributed Tracing, Observability
-
vcpkg:
opentelemetry-cppmit Feature:otlp-http - Dokumentation: https://opentelemetry.io/docs/instrumentation/cpp/
- Lizenz: Apache 2.0
-
CMake Option:
THEMIS_ENABLE_TRACING(Standard: ON) -
Features:
-
otlp-http: OTLP HTTP Exporter für Jaeger/Tempo
-
- Version: Aktuell über vcpkg
- Zweck: HTTP Client für externe API-Aufrufe
-
vcpkg:
curl - Dokumentation: https://curl.se/libcurl/
- Lizenz: curl License (MIT-style)
- Version: Aktuell über vcpkg
- Zweck: YAML Konfigurationsdateien parsen/schreiben
-
vcpkg:
yaml-cpp - Dokumentation: https://github.com/jbeder/yaml-cpp
- Lizenz: MIT
- Version: Aktuell über vcpkg
- Zweck: Hochleistungs-Kompression für Storage
-
vcpkg:
zstd - Dokumentation: https://facebook.github.io/zstd/
- Lizenz: BSD / GPLv2
- Version: Aktuell über vcpkg
- Zweck: Hochperformanter Memory Allocator
-
vcpkg:
mimalloc - Dokumentation: https://microsoft.github.io/mimalloc/
- Lizenz: MIT
-
CMake Option:
THEMIS_ENABLE_MIMALLOC(Standard: OFF) - Performance: +10-20% bei Memory-intensiven Workloads
Diese Bibliotheken werden nur bei Aktivierung des entsprechenden Features geladen:
-
FAISS - Facebook AI Similarity Search
- vcpkg:
faiss - CMake:
THEMIS_ENABLE_GPU=ON - Dokumentation: https://faiss.ai/
- Lizenz: MIT
- vcpkg:
-
llama.cpp - Eingebettete LLM Inference
- Git Submodule:
llama.cpp/ - CMake:
THEMIS_ENABLE_LLM=ON - Dokumentation: https://github.com/ggerganov/llama.cpp
- Lizenz: MIT
- Git Submodule:
-
gRPC - RPC Framework
- vcpkg:
grpc - CMake:
THEMIS_ENABLE_GRPC=ON(Standard: ON in v1.3.0+) - Dokumentation: https://grpc.io/docs/
- Lizenz: Apache 2.0
- vcpkg:
-
Protocol Buffers
- vcpkg:
protobuf - Dokumentation: https://protobuf.dev/
- Lizenz: BSD 3-Clause
- vcpkg:
-
nghttp2 - HTTP/2 C Library
- vcpkg:
nghttp2 - CMake:
THEMIS_ENABLE_HTTP2=ON - Dokumentation: https://nghttp2.org/
- Lizenz: MIT
- vcpkg:
-
nghttp3 - HTTP/3 Library
- vcpkg:
nghttp3 - CMake:
THEMIS_ENABLE_HTTP3=ON - Dokumentation: https://nghttp2.org/nghttp3/
- Lizenz: MIT
- vcpkg:
-
ngtcp2 - QUIC Protocol Implementation
- vcpkg:
ngtcp2mit Feature:openssl - Dokumentation: https://nghttp2.org/ngtcp2/
- Lizenz: MIT
- vcpkg:
-
Eclipse Paho MQTT C++ - MQTT Client
- vcpkg:
paho-mqttpp3 - CMake:
THEMIS_ENABLE_MQTT=ON - Dokumentation: https://eclipse.dev/paho/
- Lizenz: EPL 2.0 / EDL 1.0
- vcpkg:
-
NVIDIA CUDA Toolkit - GPU Compute
- Externe Installation erforderlich
- CMake:
THEMIS_ENABLE_CUDA=ON - Dokumentation: https://docs.nvidia.com/cuda/
- Lizenz: NVIDIA EULA
- Version: Integriert als Git Submodule
-
Baseline:
bee7b66f0219eeb463dc1ff77ad6ad0211f94f48 - Modus: Offline-First (vcpkg/downloads/ Cache)
- Dokumentation: https://vcpkg.io/
- vcpkg.json: Deklarative Abhängigkeitsverwaltung
- Minimum Version: 3.20
- Standard: C++20
- Presets: CMakePresets.json für VS 2022, Linux, Docker
- Dokumentation: https://cmake.org/documentation/
ThemisDB verwendet eine vcpkg manifest mode Architektur:
- vcpkg.json - Deklariert alle Abhängigkeiten
- vcpkg-configuration.json - vcpkg Registries
- CMakeLists.txt - Build-Logik, Feature-Flags
- CMakePresets.json - Vorkonfigurierte Build-Varianten
# 1. Einmalig: Download aller Source-Archive
./scripts/setup-vcpkg-offline.sh # Linux/macOS
.\scripts\setup-vcpkg-offline.ps1 # Windows
# 2. Build (100% offline möglich)
cmake -B build -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build buildSiehe: VCPKG_OFFLINE_STRATEGY.md
- vcpkg baseline: Fixiert auf getesteten Stand
-
vcpkg.json builtin-baseline:
bee7b66f0219eeb463dc1ff77ad6ad0211f94f48 - Reproduzierbare Builds: Identische Library-Versionen auf allen Plattformen
- Build Options Reference - Alle CMake Schalter
- Deployment Strategy - Build & Deployment
- vcpkg Offline Strategy - Offline Build System
- Docker Deployment - Container Images
- README - Deployment Dokumentations-Übersicht
# LLM Support aktivieren
cmake -B build -DTHEMIS_ENABLE_LLM=ON
# GPU Support aktivieren (benötigt FAISS)
cmake -B build -DTHEMIS_ENABLE_GPU=ON
# vcpkg.json Feature: "gpu"
# gRPC Support aktivieren
cmake -B build -DTHEMIS_ENABLE_GRPC=ON
# vcpkg.json Feature: "grpc"
# HTTP/2 Support aktivieren
cmake -B build -DTHEMIS_ENABLE_HTTP2=ON
# vcpkg.json Feature: "http2"
# HTTP/3 (QUIC) Support aktivieren
cmake -B build -DTHEMIS_ENABLE_HTTP3=ON
# vcpkg.json Feature: "http3"
# MQTT Support aktivieren
cmake -B build -DTHEMIS_ENABLE_MQTT=ON
# vcpkg.json Feature: "mqtt"# Feature bei vcpkg install angeben
vcpkg install themisdb[gpu,llm,grpc]
# Oder in CMake über Feature-Flag
cmake -B build \
-DTHEMIS_ENABLE_GPU=ON \
-DTHEMIS_ENABLE_LLM=ON \
-DTHEMIS_ENABLE_GRPC=ON| Kategorie | Anzahl |
|---|---|
| Kern-Bibliotheken | 17 |
| Optional: GPU | 1 |
| Optional: LLM | 1 (Git Submodule) |
| Optional: Protokolle | 5 (gRPC, HTTP/2, HTTP/3, MQTT) |
| Build-Tools | 2 (vcpkg, CMake) |
| Gesamt Dependencies | 26+ |
Gesamtgröße vcpkg downloads Cache: ~2.5 GB
Build Time (erste Build): 20-35 min je nach Platform
Build Time (inkrementell): 2-10 min
ThemisDB v1.3.4 | GitHub | Documentation | Discussions | License
Last synced: January 02, 2026 | Commit: 6add659
Version: 1.3.0 | Stand: Dezember 2025
- Übersicht
- Home
- Dokumentations-Index
- Quick Reference
- Sachstandsbericht 2025
- Features
- Roadmap
- Ecosystem Overview
- Strategische Übersicht
- Geo/Relational Storage
- RocksDB Storage
- MVCC Design
- Transaktionen
- Time-Series
- Memory Tuning
- Chain of Thought Storage
- Query Engine & AQL
- AQL Syntax
- Explain & Profile
- Rekursive Pfadabfragen
- Temporale Graphen
- Zeitbereichs-Abfragen
- Semantischer Cache
- Hybrid Queries (Phase 1.5)
- AQL Hybrid Queries
- Hybrid Queries README
- Hybrid Query Benchmarks
- Subquery Quick Reference
- Subquery Implementation
- Content Pipeline
- Architektur-Details
- Ingestion
- JSON Ingestion Spec
- Enterprise Ingestion Interface
- Geo-Processor Design
- Image-Processor Design
- Hybrid Search Design
- Fulltext API
- Hybrid Fusion API
- Stemming
- Performance Tuning
- Migration Guide
- Future Work
- Pagination Benchmarks
- Enterprise README
- Scalability Features
- HTTP Client Pool
- Build Guide
- Implementation Status
- Final Report
- Integration Analysis
- Enterprise Strategy
- Verschlüsselungsstrategie
- Verschlüsselungsdeployment
- Spaltenverschlüsselung
- Encryption Next Steps
- Multi-Party Encryption
- Key Rotation Strategy
- Security Encryption Gap Analysis
- Audit Logging
- Audit & Retention
- Compliance Audit
- Compliance
- Extended Compliance Features
- Governance-Strategie
- Compliance-Integration
- Governance Usage
- Security/Compliance Review
- Threat Model
- Security Hardening Guide
- Security Audit Checklist
- Security Audit Report
- Security Implementation
- Development README
- Code Quality Pipeline
- Developers Guide
- Cost Models
- Todo Liste
- Tool Todo
- Core Feature Todo
- Priorities
- Implementation Status
- Roadmap
- Future Work
- Next Steps Analysis
- AQL LET Implementation
- Development Audit
- Sprint Summary (2025-11-17)
- WAL Archiving
- Search Gap Analysis
- Source Documentation Plan
- Changefeed README
- Changefeed CMake Patch
- Changefeed OpenAPI
- Changefeed OpenAPI Auth
- Changefeed SSE Examples
- Changefeed Test Harness
- Changefeed Tests
- Dokumentations-Inventar
- Documentation Summary
- Documentation TODO
- Documentation Gap Analysis
- Documentation Consolidation
- Documentation Final Status
- Documentation Phase 3
- Documentation Cleanup Validation
- API
- Authentication
- Cache
- CDC
- Content
- Geo
- Governance
- Index
- LLM
- Query
- Security
- Server
- Storage
- Time Series
- Transaction
- Utils
Vollständige Dokumentation: https://makr-code.github.io/ThemisDB/