Hybrid Columnar Compression (HCC) User Guide
Hybrid Columnar Compression (HCC) User Guide
Overview
HCC provides Oracle Exadata-style compression with configurable algorithms (ZSTD, LZ4, Snappy) achieving 3-10x compression ratios.
Benefits
- 3-10x compression ratio
- Reduced storage costs
- Faster scans (less I/O)
- Configurable per table/column
Configuration
-- Table-level compressionCREATE TABLE events ( timestamp TIMESTAMPTZ, data JSONB) WITH (compression = 'zstd', compression_level = 3);
-- Column-specific compressionCREATE TABLE mixed ( id INT, name TEXT COMPRESSION lz4, data BYTEA COMPRESSION zstd);Algorithms
| Algorithm | Ratio | Speed | Use Case |
|---|---|---|---|
| ZSTD | 10x | Medium | Archives |
| LZ4 | 3x | Fast | OLTP |
| Snappy | 2x | Fastest | Real-time |
SQL Examples
-- Check compression ratioSELECT tablename, uncompressed_size_mb, compressed_size_mb, ROUND(uncompressed_size_mb / compressed_size_mb, 2) as ratioFROM heliosdb.compression_stats;
-- Change compressionALTER TABLE my_table SET compression = 'zstd';VACUUM FULL my_table; -- Apply compressionBest Practices
- Use ZSTD for cold data
- Use LZ4 for hot data
- Monitor compression ratios
- Recompress periodically
For more: /docs/performance/compression.md