Skip to content

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 compression
CREATE TABLE events (
timestamp TIMESTAMPTZ,
data JSONB
) WITH (compression = 'zstd', compression_level = 3);
-- Column-specific compression
CREATE TABLE mixed (
id INT,
name TEXT COMPRESSION lz4,
data BYTEA COMPRESSION zstd
);

Algorithms

AlgorithmRatioSpeedUse Case
ZSTD10xMediumArchives
LZ43xFastOLTP
Snappy2xFastestReal-time

SQL Examples

-- Check compression ratio
SELECT
tablename,
uncompressed_size_mb,
compressed_size_mb,
ROUND(uncompressed_size_mb / compressed_size_mb, 2) as ratio
FROM heliosdb.compression_stats;
-- Change compression
ALTER TABLE my_table SET compression = 'zstd';
VACUUM FULL my_table; -- Apply compression

Best Practices

  1. Use ZSTD for cold data
  2. Use LZ4 for hot data
  3. Monitor compression ratios
  4. Recompress periodically

For more: /docs/performance/compression.md