elastic / elastic/roadmap

Columnar Mode (Tech Preview)

Open
#290 0 comments 0 reactions 1 assignee Claimed by @yannis-roussos View on GitHub
Component: Elasticsearch product-area:observability product-area:search product-area:security v9.5.0
Dominant language
No language data
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## Value Prop

Elasticsearch today is document-first: powerful and flexible, but it stores the same data several times over (inverted index + doc values + stored source), which is more than analytics-heavy, high-volume workloads need. **Columnar Mode** introduces a new, columnar-oriented behavior that makes Elasticsearch a true, native columnar data platform for high-volume data — logs, metrics, security telemetry and more — with leading storage efficiency, performance, and simplicity.

In Elasticsearch 9.4 we made the storage engine behind Time Series Data Streams (TSDS) fully columnar, giving metrics [leading storage efficiency and very competitive query performance](https://www.elastic.co/search-labs/blog/elasticsearch-columnar-metrics-engine-30x-faster-prometheus). Columnar Mode generalizes what we learned there to many more use cases.

Columnar Mode ships **alongside** existing index modes — it is opt-in, per index. Existing indices, APIs, dashboards, and integrations are unchanged.

Key characteristics:
- Data stored once, in the column store (doc values)
- Fields not indexed by default; the original document is reconstructed from the column store on demand rather than stored as a separate copy

## Expected Outcome

The Tech Preview delivers the fundamental building blocks of a columnar engine. It intentionally front-loads every change that would be *breaking* if introduced later, so GA can focus on performance and non-breaking features. These behaviors apply only to the new opt-in mode — existing modes keep their document behavior.

New index mode (`columnar`), with:
- Fields (and most metadata fields) stored once as doc values by default
- No indexed fields by default (no inverted indexes or BKD trees)
- All queries work functionally against doc values only
- Best-effort (slower) free-text search on string fields with no inverted index.
- Fields explicitly mapped as text keep the inverted index for fast free-text search
- Always-flattened mappings: fields become key/value pairs; no object hierarchy
- Columnar source: reconstructed from the column store, or stored in columnar form — results are identical either way; storing it benefits read patterns that touch many fields
- Breaking changes that improve indexing (e.g. stricter date/number parsing)
- Improved index-sorting configuration

GA will add performance optimizations and non-breaking features on top of this foundation.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.