---
answer: direct
beat: system-design
source: 1 article · updated: August 13, 2026
---

What is dictionary encoding and how much does it compress?

Dictionary encoding replaces repetitive string values with small integer codes. If a country column has 100,000 rows but only 50 distinct countries, each row stores a code (1–2 bytes) instead of the full string (8–20 bytes). Combined with bit-packing, compression ratios of 50–100× are common for repetitive columns. DuckDB and Parquet both use it.

Answered in

Columnar Storage: Why Column Stores Beat Row Stores for Analytics

Columnar storage reads only needed columns, skipping the rest. Dictionary encoding shrinks data 50–100×. Analytics queries go from minutes to milliseconds.

Crashtech Editorial August 13, 2026 System Design

Read the full analysis

Other questions this article answers

More system design questions

Every answer on Crashtech is written by the editor of the article it comes from — never auto-summarised. Browse all answers or the System Design beat.