Graph
Data Compression

🗜️Data Compression

NEW

Also known as: Data Encoding

Encoding data to reduce size for storage or transmission using lossless or lossy techniques.

DESCRIPTION

Data compression reduces bytes via algorithms like Huffman, LZ77, DEFLATE, Snappy, and Zstandard. Lossless methods preserve exact content; lossy methods trade fidelity for higher ratios in media. Compression impacts performance: fewer bytes over networks, but added CPU cost. Analytics formats like Parquet leverage columnar compression and encoding. Choosing codecs involves data type, speed, ratio, and compatibility.

ALTERNATIVE DEFINITIONS

Wikipedia

In computer science and information theory, data compression is the process of encoding information using fewer bits than the original representation.

Situates compression within information theory using fewer bits.

Source

IETF RFC 1951

This specification defines the DEFLATE compressed data format, which uses a combination of the LZ77 algorithm and Huffman coding.

Defines a widely used lossless compression format and its algorithmic basis.

Source

Google Cloud

BigQuery can load compressed files; supported compression types include GZIP, BZIP2, and DEFLATE.

Operational perspective on supported compression types for analytics loading.

Source

Lossless Compression Lossy Compression Entropy Huffman Coding Lempel–Ziv DEFLATE Zstandard Snappy Parquet Columnar Storage

COMPETING TERMS

Uncompressed Storage Data Expansion

RELATIONS

KNOWLEDGE AREAS

Data Storage & Operations Infrastructure Data Engineering Mathematics

TARGET AUDIENCE

Data Engineer Software Developer Cloud Architect Data Architect

EXTERNAL SOURCES

TOP QUESTIONS

What’s the difference between lossless and lossy Data Compression?

Lossless preserves exact data; lossy discards information for higher ratios, suitable for audio/video.

Category: Definition

How does Data Compression affect performance?

It reduces transfer time but adds CPU overhead. Net benefit depends on data characteristics and codec speed.

Category: Performance

Which codecs are common in analytics?

Snappy and Zstandard are popular for Parquet due to speed and reasonable ratios.

Category: Overview

How to choose a compression codec?

Consider data type, ratio needs, decode speed, ecosystem support, and streaming vs batch requirements.

Category: Best practices

Can Data Compression hurt latency?

Yes, if CPU overhead outweighs byte savings. Benchmark under representative load.

Category: Risks

What’s a common mistake with Data Compression?

Compressing already compressed data, or using slow codecs in low-latency paths.

Category: Mistakes

Does columnar storage improve compression?

Yes. Homogeneous columns compress more effectively using dictionary and run-length encodings.

Category: Example

How to monitor compression effectiveness?

Track compression ratios, CPU utilization, read/write times, and storage costs.

Category: Observability

Is encryption compatible with Data Compression?

Compress before encrypting; encrypted data typically resists compression due to randomness.

Category: Best practices