liveBook · Manning

Columnar data

As explained in Cloud Observability in Action

Columnar storage is an arrangement of tabular data that stores values from the same column together for efficient analytical access.

Columnar data stores values from the same column next to one another in memory or on disk, improving query performance. They suit analytical workloads such as observability, where large historical datasets support interactive queries. section 5.5

Choose storage layout according to the dominant workload:

  • Row-oriented databases keep each record together, making them a good fit for online transaction processing with frequent individual inserts or updates. section 5.5
  • Column-oriented stores suit online analytical processing: relatively few writes, high query volume, time-range analysis, and datasets reaching billions of rows or petabytes. section 5.5
  • Columnar stores help address cardinality explosion in high-cardinality telemetry, but backend selection must account for ingestion, storage, query, and data-movement costs. section 5.4.3 section 5.7

Telemetry in ClickHouse

A Docker Compose setup routes Fluentd logs through an OpenTelemetry Collector into ClickHouse. The collector batches records, exports them to ClickHouse, and a SQL query extracts timestamps, payloads, trace IDs, and recent messages matching a pattern. section 5.5

Figure 5.5 Row-oriented vs. column-oriented storage

Compare how row-oriented storage groups complete records while column-oriented storage groups values by field. section 5.5

Persistent columnar storage also supports continuous profiling across longer time ranges and service versions; FrostDB uses Apache Parquet for storage and Apache Arrow for querying. section 9.3.2

How Cloud Observability in Action covers it

How deep it goes
Explains physical layout, OLTP-versus-OLAP trade-offs, telemetry setup, querying, and profiling storage.
Examples
Uses row-versus-column diagrams, a ClickHouse Docker Compose deployment, OpenTelemetry configuration, SQL queries, and persistent profile storage.
What it assumes
Assumes familiarity with tabular data and database workloads while contrasting transactional and analytical processing.
What you can do after
Evaluate storage layouts and select columnar backends for high-cardinality analytical workloads while weighing operational costs.
How it connects
Connects columnar storage with OLAP, observability, time series data, cardinality explosion, ClickHouse, profiling, Parquet, and Apache Arrow.

Also explained in

Compare how 4 books explain columnar data →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Cloud Observability in Action. The section links point to the parts of the book it draws on.