---
title: Compression Methods | Tiger Data Docs
description: Learn how Hypercore compresses time-series data
---

**Tiger Data 101** → TimescaleDB | **Section:** Hypercore | **⏱ Time:** \~2 min

## Key compression methods

### Dictionary encoding

For columns with repeated values (e.g., device IDs, status codes):

- Store unique values once, reference by ID
- Example: 1000 rows of "sensor\_A" stored as "1 → sensor\_A" + 1000 copies of "1"

### Delta encoding

For numeric sequences with small differences:

- Store only differences between consecutive values
- Example: temperatures \[22.5, 22.6, 22.4, 22.7] → store \[22.5, +0.1, -0.2, +0.3]

### Gorilla compression

Specifically optimized for floating-point time-series (from Facebook's Gorilla paper):

- Compresses timestamps and floating-point values in log-linear fashion
- Achieves 10–40x compression on typical sensor/metric data

### Array encoding

For repeated patterns or constant-width structures

---

## Enabling compression

```
ALTER TABLE sensor_readings SET (
  timescaledb.compress,
  timescaledb.compress_orderby = 'time DESC',
  timescaledb.compress_segmentby = 'device_id'
);


-- Add automatic compression policy
SELECT add_compression_policy('sensor_readings', INTERVAL '7 days');
```

---

→NEXT MODULE

[**Enabling Hypercore** — Learn how to apply compression and manage hot vs. cold data.](/learn/tiger-data-academy/tiger-data-101/hypercore/enabling-and-best-practices/index.md)
