-
Notifications
You must be signed in to change notification settings - Fork 1
INTER_SHARD_DATA_PIPELINE_ANALYSIS
Version: 1.0.0
Release: v1.3.0
Datum: 17. Dezember 2025
Kategorie: RPC, Sharding, Data Pipeline, Security
Diese Analyse untersucht die Inter-Shard Datenpipeline fΓΌr ThemisDB mit Fokus auf:
- RocksDB Data Dumps - Bulk-Transfer von Datenbank-Snapshots
- LoRa Adapter Transfer - Transfer von LLM-Adaptern (LoRA - Low-Rank Adaptation)
- Komprimierung & Chunking - Effiziente Package-basierte DatenΓΌbertragung
- mTLS Security - Sichere Kommunikation zwischen Shards
WAL Shipper (include/sharding/wal_shipper.h)
- β Asynchrone Replikation von WAL-EintrΓ€gen
- β Compression Support (LZ4, Zstd)
- β Batch Processing (100-1000 EintrΓ€ge)
- β mTLS fΓΌr sichere Γbertragung
- β Adaptive Batching basierend auf Netzwerkbedingungen
Data Migrator (include/sharding/data_migrator.h)
- β Token-Range basierte Migration
- β Batch-Processing (1000 Records default)
- β Data Integrity Verification (Hash-basiert)
- β Idempotency Support
- β Keine Compression
- β Keine RocksDB Snapshot Support
mTLS Client (include/sharding/mtls_client.h)
- β Mutual TLS fΓΌr Shard-zu-Shard Kommunikation
- β Certificate-based Authentication
- β Connection Pooling
- β Retry Logic mit Exponential Backoff
-
Keine RocksDB Snapshot Transfer:
- Data Migrator verwendet Record-by-Record Transfer
- Ineffizient fΓΌr groΓe Datenmengen (z.B. 100+ GB Shards)
- Hohe CPU-Last durch Serialisierung/Deserialisierung
-
Keine LoRa Adapter Support:
- Keine spezielle Behandlung von BinΓ€rdaten
- LLM-Adapter (LoRA) kΓΆnnen mehrere GB groΓ sein
- BenΓΆtigt effizienten Blob-Transfer
-
Inkonsistente Compression:
- WAL Shipper hat Compression
- Data Migrator hat keine Compression
- Protobuf Messages haben keine Compression
-
Unzureichendes Chunking:
- Chunking nur in ReplicateDataStream
- Keine konfigurierbaren Chunk-GrΓΆΓen
- Keine Chunk-Checksums
ThemisDB unterstΓΌtzt bereits:
- β Checkpoints - Filesystem-level Snapshots
- β Incremental Backups - Delta-Backups seit letztem Backup
VerfΓΌgbare APIs:
// In rocksdb_wrapper.h
bool createCheckpoint(const std::string& checkpoint_dir);
bool restoreFromCheckpoint(const std::string& checkpoint_dir);
bool createIncrementalBackup(const std::string& backup_dir, bool flush_before_backup = true);Small Shards (<10 GB):
- Record-by-Record Transfer mit Compression
- Nutzt bestehenden Data Migrator
Large Shards (>10 GB):
- RocksDB Checkpoint β Tar/Compress β Stream β Extract
- 10-20x schneller als Record-by-Record
Implementierungsvorschlag:
// Enhanced Migration Strategy
enum class MigrationStrategy {
RECORD_BY_RECORD, // Existing: For small data
ROCKSDB_SNAPSHOT, // New: For large data
HYBRID // New: Snapshot + WAL catchup
};
struct EnhancedMigrationRequest {
MigrationStrategy strategy = MigrationStrategy::HYBRID;
uint64_t token_range_start;
uint64_t token_range_end;
// Compression settings
CompressionType compression = CompressionType::Zstd;
int compression_level = 6; // Higher for bulk transfers
// Chunking settings
uint64_t chunk_size_bytes = 50 * 1024 * 1024; // 50 MB chunks
bool enable_chunk_checksums = true;
// RocksDB specific
bool include_wal = true; // Include WAL for consistency
bool incremental = false; // Incremental vs full snapshot
};Source Shard Network Target Shard
βββββββββββββββ βββββββββββββββ
β β β β
β 1. Create β β β
β Checkpoint β β β
β β β β β
β 2. Tar + β β β
β Compress β β β
β β β β β
β 3. Split β β β
β into Chunks β β β
β β β β β
β 4. Calculateβββ> Chunk 1 (50MB) + Checksum ββmTLSββββββ>β 5. Verify β
β Checksums β β Checksum β
β βββ> Chunk 2 (50MB) + Checksum ββmTLSββββββ>β β β
β β β 6. Write to β
β βββ> Chunk N (last) + Checksum ββmTLSββββββ>β Temp Dir β
β β β β β
β β<ββββ Verify Complete βββββββββββββββββββββββ€ 7. Extract β
β β β & Verify β
β β β β β
β β β 8. Restore β
β β β Checkpoint β
βββββββββββββββ βββββββββββββββ
Vorteile:
- β 10-20x schneller fΓΌr groΓe Shards
- β Geringere CPU-Last (keine Serialisierung)
- β Konsistente Snapshots
- β UnterstΓΌtzt Incremental Migration
Was sind LoRA Adapter?
- Fine-tuned Gewichts-Matrizen fΓΌr LLM-Modelle
- Typische GrΓΆΓe: 100 MB - 10 GB
- Format: Safetensors, PyTorch, GGUF
- Werden im Blob Storage gespeichert
Use Cases:
- Multi-Tenant LLM mit shard-spezifischen Adaptern
- Deployment von neuen Modellen zwischen Shards
- Backup/Restore von LLM-Konfigurationen
Eigenschaften:
βββ GroΓe BinΓ€rdateien (100 MB - 10 GB)
βββ UnverΓ€nderlich (immutable)
βββ Selten geΓ€ndert
βββ Hohe Compression-Rate (2-5x mit Zstd)
βββ BenΓΆtigt Chunk-basierter Transfer
Optimaler Ansatz: Blob Storage Integration
// Enhanced Blob Transfer for LoRA
message BlobTransferRequest {
string blob_id = 1; // UUID des Blobs (LoRA Adapter)
string blob_type = 2; // "lora_adapter", "llm_model", "embedding"
uint64 blob_size_bytes = 3; // GesamtgrΓΆΓe
string checksum_sha256 = 4; // Blob-Checksum
// Chunking configuration
uint64 chunk_size_bytes = 5; // Chunk-GrΓΆΓe (50-100 MB)
CompressionType compression = 6;
int compression_level = 7;
}
message BlobChunk {
string blob_id = 1;
uint32 chunk_index = 2;
uint32 total_chunks = 3;
bytes data = 4; // Compressed chunk data
string checksum_crc32 = 5; // Chunk checksum
bool is_last = 6;
// Metadata
uint64 uncompressed_size = 7;
uint64 compressed_size = 8;
}
message BlobTransferResponse {
bool success = 1;
uint32 chunks_received = 2;
string error = 3;
uint64 total_bytes_received = 4;
}Transfer Flow:
Shard A (Source) Shard B (Target)
βββββββββββββββββββββ βββββββββββββββββββββ
β 1. Read LoRA β β β
β from Blob Store β β β
β β β β β
β 2. Calculate β β β
β SHA256 Checksum β β β
β β β β β
β 3. Compress β β β
β (Zstd Level 9) β β β
β β β β β
β 4. Split into β β β
β 50MB Chunks β β β
β β β β β
β 5. For each chunk:β β β
β - Compress β β β
β - CRC32 β β β
β β β β β
βββββββββββββββββββββ€ββ> BlobChunk #1 ββmTLS gRPCββ>βββββββββββββββββββββ€
β Send Chunk #1 β β 6. Verify CRC32 β
β β<ββ ACK βββββββββββββββββββββββ<β 7. Write to Temp β
βββββββββββββββββββββ€ββ> BlobChunk #2 ββmTLS gRPCββ>βββββββββββββββββββββ€
β Send Chunk #2 β β 8. Accumulate β
β β<ββ ACK βββββββββββββββββββββββ<β β
β ... β ... β ... β
βββββββββββββββββββββ€ββ> BlobChunk #N ββmTLS gRPCββ>βββββββββββββββββββββ€
β Send Chunk #N β β 9. Verify SHA256 β
β (is_last=true) β β 10. Decompress β
β β<ββ Final Response ββββββββββββ<β 11. Write to β
β β β Blob Store β
βββββββββββββββββββββ βββββββββββββββββββββ
Zstd (Zstandard) - Empfohlen fΓΌr Bulk-Daten:
- Compression Ratio: 2-5x fΓΌr strukturierte Daten
- Geschwindigkeit: ~500 MB/s (compression), ~1.5 GB/s (decompression)
- Konfigurierbare Levels: 1-22
- Ideal fΓΌr: RocksDB Snapshots, LoRA Adapter
LZ4 - Empfohlen fΓΌr WAL/Replication:
- Compression Ratio: 2-3x
- Geschwindigkeit: ~1 GB/s (compression), ~3 GB/s (decompression)
- Sehr geringe CPU-Last
- Ideal fΓΌr: Real-time WAL Streaming
Vergleich:
| Use Case | Algorithm | Level | Compression Ratio | CPU | Latenz |
|---|---|---|---|---|---|
| WAL Replication | LZ4 | 3 | 2.5x | Niedrig | <1ms |
| Data Migration | Zstd | 6 | 3-4x | Mittel | ~10ms |
| RocksDB Snapshot | Zstd | 9 | 4-5x | Hoch | ~50ms |
| LoRA Adapter | Zstd | 12 | 3-6x | Sehr Hoch | ~200ms |
Warum Chunking?
- Memory Efficiency - Keine groΓen Payloads im RAM
- Resume Capability - Transfer kann fortgesetzt werden
- Parallel Transfer - Mehrere Chunks gleichzeitig
- Error Isolation - Nur fehlerhafte Chunks neu senden
- Progress Tracking - Granulare Fortschrittsanzeige
Optimale Chunk-GrΓΆΓen:
Data Type Chunk Size BegrΓΌndung
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
WAL Entries 1-5 MB Niedrige Latenz, hΓ€ufige Updates
Entity Records 10-20 MB Balance zwischen Overhead und Effizienz
RocksDB Snapshot 50-100 MB GroΓer Durchsatz, weniger HTTP/2 Frames
LoRA Adapters 50-100 MB GroΓe Dateien, hohe Compression
Implementierung:
struct ChunkingConfig {
uint64_t chunk_size_bytes = 50 * 1024 * 1024; // 50 MB default
bool enable_checksums = true;
ChecksumType checksum_type = ChecksumType::CRC32; // CRC32 fΓΌr Chunks
// Parallel transfer
uint32_t max_parallel_chunks = 4; // Max 4 Chunks gleichzeitig
bool enable_parallel_transfer = false; // StandardmΓ€Γig sequentiell
// Resume support
bool enable_resume = true;
string resume_token; // Token fΓΌr Resume
};
enum class ChecksumType {
CRC32, // Schnell, 4 Bytes, gut fΓΌr Chunks
SHA256, // Langsam, 32 Bytes, gut fΓΌr Blobs
XXH64 // Sehr schnell, 8 Bytes, Alternative zu CRC32
};Chunk Package Structure:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Chunk Package β
ββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ€
β Header β - Magic Number: 0x544D4442 ("TMDB") β
β (64 bytes) β - Version: 1 β
β β - Chunk Index: 0-N β
β β - Total Chunks: N β
β β - Compression: Zstd/LZ4/None β
β β - Checksum Type: CRC32/SHA256/XXH64 β
β β - Uncompressed Size: uint64 β
β β - Compressed Size: uint64 β
ββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββ€
β Payload β - Compressed Data β
β (variable) β - Size: compressed_size bytes β
ββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββ€
β Footer β - Checksum: 4-32 bytes β
β (4-32 bytes)β - Padding to 8-byte alignment β
ββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ
Shard Certificates:
- X.509 Zertifikate mit Custom Extensions
-
shard_id- Eindeutige Shard-Identifikation -
capabilities- Berechtigungen (read, write, replicate, migrate) -
token_range_start/end- Zugewiesene Token-Ranges
Certificate Verification Flow:
Client Shard (A) Server Shard (B)
βββββββββββββββββββ βββββββββββββββββββ
β 1. TLS Handshakeβββββββββ ClientHello ββββββ>β β
β β β 2. Present β
β β<βββ ServerHello + Cert βββββ€ Server Cert β
β β β β
β 3. Verify β β β
β Server Cert β β β
β - Signed by CA β β β
β - Not revoked β β β
β - Valid dates β β β
β β β β
β 4. Present ββββ Client Cert + Key ββββ>β β
β Client Cert β β 5. Verify β
β β β Client Cert β
β β β - Signed by CA β
β β β - Valid shard_idβ
β β β - Has capabilityβ
β β β β
β β<βββ TLS Established ββββββββ€ β
β β β β
β 6. Parse Cert β β 6. Parse Cert β
β Extensions: β β Extensions: β
β - shard_id="A" β β - shard_id="B" β
β - caps=[migrate]β β - caps=[accept] β
β β β β
β 7. Encrypt Data β β β
β with TLS 1.3 β β β
β ββββ Encrypted Payload βββββ>β 8. Decrypt & β
β β β Process β
βββββββββββββββββββ βββββββββββββββββββ
End-to-End Security:
Source Shard Target Shard
βββββββββββββββββββββββ βββββββββββββββββββββββ
β 1. Data Preparation β β β
β ββ Read from RocksDBβ β β
β ββ Serialize β β β
β ββ Compress (Zstd) β β β
β ββ Calculate SHA256 β β β
β β β β β
β 2. Chunk & Package β β β
β ββ Split into Chunksβ β β
β ββ CRC32 per Chunk β β β
β ββ Add Headers β β β
β β β β β
β 3. TLS Encryption β β β
β ββ mTLS Handshake βββββββ Cert Exchange ββββββββββββββ>β 4. Cert Verify β
β ββ AES-256-GCM β β ββ Check CA β
β β β β ββ Check Revocation β
β 4. Send Chunks β β ββ Check Capability β
β β β β β β
βββββββββββββββββββββββ€ββββ Chunk 1 (Encrypted) βββββββββ>βββββββββββββββββββββββ€
β Chunk 1: 50MB β β 5. Decrypt (TLS) β
β - Header β β 6. Verify CRC32 β
β - Compressed Data β β 7. Buffer β
β - CRC32 Checksum β β β β
β β β<ββββ ACK βββββββββββββββββββββββββ<β 8. Send ACK β
βββββββββββββββββββββββ€ββββ Chunk 2 (Encrypted) βββββββββ>βββββββββββββββββββββββ€
β Chunk 2: 50MB β β 9. Verify CRC32 β
β ... β ... β ... β
βββββββββββββββββββββββ€ββββ Chunk N (Encrypted) βββββββββ>βββββββββββββββββββββββ€
β Chunk N (Last) β β 10. Verify SHA256 β
β β β 11. Decompress β
β β<ββββ Final ACK + SHA256 ββββββββββ<β 12. Write to RocksDBβ
βββββββββββββββββββββββ βββββββββββββββββββββββ
Security Layers:
ββ Application: SHA256 (End-to-End Integrity)
ββ Transport: TLS 1.3 AES-256-GCM (Confidentiality)
ββ Authentication: mTLS Certificates (Identity)
ββ Per-Chunk: CRC32 (Transmission Integrity)
Confidentiality:
- β TLS 1.3 mit AES-256-GCM Cipher
- β Perfect Forward Secrecy (PFS)
- β Keine Plaintext-Daten im Netzwerk
Integrity:
- β Per-Chunk CRC32 (Transmission Errors)
- β End-to-End SHA256 (Data Corruption)
- β TLS MAC (Man-in-the-Middle Prevention)
Authentication:
- β Mutual TLS (beide Seiten authentifiziert)
- β Certificate-based (kein Passwort)
- β Capability-based Authorization (in Cert Extensions)
Non-Repudiation:
- β Audit Logs mit Shard-IDs
- β Signed Certificates (CA-verified)
- β Timestamp-basierte Logs
Szenario 1: Kleine Shard Migration (10 GB)
Methode Zeit Durchsatz CPU Netzwerk
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Record-by-Record 45 min 3.7 MB/s High 15 GB
+ Compression (Zstd-6) 35 min 4.8 MB/s High 5 GB
RocksDB Snapshot 5 min 33 MB/s Low 3 GB
+ Compression (Zstd-9) 4 min 42 MB/s Medium 2.5 GB
Empfehlung: RocksDB Snapshot mit Zstd-9 β 11x schneller
Szenario 2: GroΓe Shard Migration (100 GB)
Methode Zeit Durchsatz CPU Netzwerk
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Record-by-Record 7.5 h 3.7 MB/s High 150 GB
RocksDB Snapshot 40 min 42 MB/s Medium 25 GB
RocksDB Snapshot (Zstd-9)33 min 51 MB/s Medium 22 GB
Empfehlung: RocksDB Snapshot mit Zstd-9 β 14x schneller, 85% weniger Netzwerk
Szenario 3: LoRA Adapter Transfer (5 GB)
Methode Zeit Durchsatz Compression
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Uncompressed 2.5 min 33 MB/s 1.0x (5 GB)
LZ4 (Level 3) 1.8 min 46 MB/s 2.2x (2.3 GB)
Zstd (Level 6) 1.2 min 69 MB/s 3.5x (1.4 GB)
Zstd (Level 12) 1.5 min 55 MB/s 4.2x (1.2 GB)
Empfehlung: Zstd-6 β Bester Balance zwischen Zeit und Compression
Bandbreiten-Nutzung:
100 GB Shard Migration ΓΌber 1 Gbps Netzwerk:
Ohne Compression:
ββ Daten: 100 GB
ββ Zeit: ~15 min (theoretisch)
ββ Praktisch: ~40 min (Overhead, Latenz)
Mit Zstd-9 Compression (4x):
ββ Daten: 25 GB
ββ Zeit: ~4 min (theoretisch)
ββ Praktisch: ~10 min
ββ CPU-Overhead: +30% (akzeptabel)
Inter-DC (100 Mbps):
ββ Ohne: 100 GB β ~2.5 Stunden
ββ Mit Zstd-9: 25 GB β ~35 Minuten
ββ Ersparnis: ~2 Stunden
Kosten-Einsparung (Cloud Egress @ $0.12/GB):
ββ Ohne: 100 GB Γ $0.12 = $12
ββ Mit Compression: 25 GB Γ $0.12 = $3
ββ Ersparnis: $9 pro Migration
-
Erweitere Protobuf Definitions:
- β
FΓΌge
RocksDBSnapshotRequest/Responsehinzu - β
FΓΌge
BlobTransferRequest/Chunk/ResponsefΓΌr LoRA hinzu - β FΓΌge Compression & Chunking Metadaten hinzu
- β
FΓΌge
-
Implementiere Compression in Data Migrator:
- β Zstd Support hinzufΓΌgen
- β Konfigurierbare Compression Levels
-
Verbessere Chunking:
- β Konfigurierbare Chunk-GrΓΆΓen
- β CRC32 Checksums pro Chunk
- β Resume Support
-
RocksDB Snapshot Transfer:
- Checkpoint Creation/Restore Integration
- Tar/Compress Pipeline
- Streaming Transfer
-
LoRA Blob Transfer:
- Dedicated Blob Transfer Service
- Parallel Chunk Transfer
- Progress Tracking UI
-
Performance Optimierung:
- Adaptive Compression (wΓ€hlt Algorithm basierend auf Datentyp)
- Parallel Chunk Processing
- Zero-Copy optimizations
-
Advanced Features:
- Deduplication (gleiche Chunks nur einmal senden)
- Delta-Transfer (nur Γnderungen senden)
- Multicast fΓΌr Broadcast-Szenarien
-
Monitoring & Observability:
- Real-time Transfer Dashboards
- Compression Ratio Metrics
- Network Utilization Graphs
Die Inter-Shard Pipeline benΓΆtigt Erweiterungen fΓΌr:
- RocksDB Dumps β Snapshot-basierter Transfer fΓΌr groΓe Shards
- LoRA Adapters β Blob Transfer mit hoher Compression
- Compression/Chunking β Konsistente Strategie ΓΌber alle Transfer-Typen
- mTLS Security β Bereits gut implementiert, keine Γnderungen nΓΆtig
NΓ€chste Schritte:
- Erweitere
shard_rpc.protomit neuen Message Types - Implementiere Compression im Data Migrator
- FΓΌge RocksDB Snapshot Transfer hinzu
- Implementiere Blob Transfer fΓΌr LoRA
Autor: ThemisDB Development Team
Review: Pending
Status: Analysis Complete
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme