-
Notifications
You must be signed in to change notification settings - Fork 0
compression_benchmarks
Datum: 27. Oktober 2025
System: Windows 11, MSVC 19.44, 20 CPU cores @ 3.7 GHz
Die Kompression wurde zur Laufzeit verifiziert:
-
none:
default=none, bottommost=none -
lz4:
default=lz4, bottommost=lz4 -
zstd:
default=zstd, bottommost=zstd
RocksDB nutzt die in vcpkg.json aktivierten Features (lz4, zstd) korrekt.
| Compression | Blob Size | Time/Iter | Throughput (MB/s) | Items/s |
|---|---|---|---|---|
| none | 512B | 23.6 ms | 22.7 MB/s | 46.4k |
| lz4 | 512B | 22.0 ms | 24.1 MB/s | 49.3k |
| zstd | 512B | 21.9 ms | 25.6 MB/s | 52.5k |
| none | 4KB | 29.7 ms | 147.7 MB/s | 37.8k |
| lz4 | 4KB | 31.2 ms | 141.0 MB/s | 36.1k |
| zstd | 4KB | 31.6 ms | 148.6 MB/s | 38.1k |
| none | 16KB | 49.8 ms | 348.8 MB/s | 22.3k |
| lz4 | 16KB | 54.1 ms | 289.5 MB/s | 18.5k |
| zstd | 16KB | 53.4 ms | 294.1 MB/s | 18.8k |
| Compression | Blob Size | Latency (µs) | Items/s |
|---|---|---|---|
| none | 4KB | 2.32 | 434k |
| lz4 | 4KB | 2.63 | 383k |
| zstd | 4KB | 2.61 | 412k |
-
Kleine Blobs (512B):
ZSTD und LZ4 schneller alsnone(~7-13% Verbesserung). Die Kompression reduziert I/O und Write Amplification stärker als die CPU-Kosten wiegen. -
Mittlere Blobs (4KB):
Alle drei Varianten ähnlich (~147 MB/s). ZSTD minimal schneller bei hoher Kompressibilität. -
Große Blobs (16KB):
nonedeutlich schneller (+20% gegenüber LZ4/ZSTD). CPU-Kosten für Kompression überwiegen I/O-Einsparungen bei großen Payloads.
- LZ4 und ZSTD fügen ~14% Latenz hinzu (Dekompressions-Overhead).
- Bei Cache-Hits (reiner memcpy) ist
noneam schnellsten. - Im realen Betrieb mit Disk-I/O kann Kompression durch geringere Datenmengen schneller sein.
-
Für hohen Write-Throughput mit kleineren Entities (< 1KB):
→ ZSTD (default) oder LZ4 (bottommost) nutzen -
Für große BLOBs (> 8KB) oder read-heavy Workloads:
→ LZ4 für Reads mit weniger Latenz; oder none für maximalen Read-Durchsatz -
Hybrid-Konfiguration (empfohlen):
"compression": { "default": "lz4", "bottommost": "zstd" }
Frische Daten (L0) mit LZ4 schnell komprimiert; ältere Levels (bottommost) mit ZSTD platzsparend.
Ohne direkte Messung lässt sich aus den Benchmarks ableiten:
- Kompression reduziert SSTable-Größe → weniger Compaction-Aufwand
- Bei kompressiblen JSON-Daten (Faktor ~3-5x) führt Kompression zu niedrigerer Write Amplification
Für genaue Werte: RocksDB-Property rocksdb.total-sst-files-size vor/nach Schreibvorgängen prüfen.
- Write Amplification mit RocksDB
GetProperty("rocksdb.total-sst-files-size")messen - Disk-I/O Benchmarks (cold cache) mit verschiedenen Kompressionen
- Speicherplatzvergleich nach 10k/100k Entities
- AQL Overview
- AQL Syntax Reference
- EXPLAIN and PROFILE
- Hybrid Queries
- Pattern Matching
- Subquery Implementation
- Subquery Quick Reference
- Fulltext Release Notes
- Hybrid Search Design
- Fulltext Search API
- Content Search
- Pagination Benchmarks
- Stemming
- Hybrid Fusion API
- Performance Tuning
- Migration Guide
- Storage Overview
- RocksDB Layout
- Geo Schema
- Index Types
- Index Statistics
- Index Backup
- HNSW Persistence
- Vector Index
- Graph Index
- Secondary Index
- Security Overview
- RBAC and Authorization
- TLS Setup
- Certificate Pinning
- Encryption Strategy
- Column Encryption
- Key Management
- Key Rotation
- HSM Integration
- PKI Integration
- eIDAS Signatures
- PII Detection
- PII API
- Threat Model
- Hardening Guide
- Incident Response
- SBOM
- Enterprise Overview
- Scalability Features
- Scalability Strategy
- HTTP Client Pool
- Enterprise Build Guide
- Enterprise Ingestion
- Benchmarks Overview
- Compression Benchmarks
- Compression Strategy
- Memory Tuning
- Hardware Acceleration
- GPU Acceleration Plan
- CUDA Backend
- Vulkan Backend
- Multi-CPU Support
- TBB Integration
- Time Series
- Vector Operations
- Graph Features
- Temporal Graphs
- Path Constraints
- Recursive Queries
- Audit Logging
- Change Data Capture
- Transactions
- Semantic Cache
- Cursor Pagination
- Compliance Features
- GNN Embeddings
- Geo Overview
- Geo Architecture
- 3D Game Acceleration
- Geo Feature Tiering
- G3 Phase 2 Status
- G5 Implementation
- Integration Guide
- Content Architecture
- Content Pipeline
- Content Manager
- JSON Ingestion
- Content Ingestion
- Filesystem API
- Image Processor
- Geo Processor
- Policy Implementation
- Developer Guide
- Implementation Status
- Development Roadmap
- Build Strategy
- Build Acceleration
- Code Quality Guide
- AQL LET Implementation
- Audit API Implementation
- SAGA API Implementation
- PKI eIDAS
- WAL Archiving
- Architecture Overview
- Strategic Overview
- Ecosystem
- MVCC Design
- Base Entity
- Caching Strategy
- Caching Data Structures
- Docker Build
- Docker Status
- Multi-Arch CI/CD
- ARM Build Guide
- ARM Packages
- Raspberry Pi Tuning
- Packaging Guide
- Package Maintainers
- Roadmap
- Changelog
- Database Capabilities
- Implementation Summary
- Sachstandsbericht 2025
- Enterprise Final Report
- Test Report
- Build Success Report
- Integration Analysis
- Source Overview
- API Implementation
- Query Engine
- Storage Layer
- Security Implementation
- CDC Implementation
- Time Series
- Utils and Helpers
Updated: 2025-11-30