Skip to content

Add columnar index mode overview - #7594

Open
lcawl wants to merge 2 commits into
elastic:mainfrom
lcawl:columnar-intro
Open

Add columnar index mode overview#7594
lcawl wants to merge 2 commits into
elastic:mainfrom
lcawl:columnar-intro

Conversation

@lcawl

@lcawl lcawl commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Relates to elastic/roadmap#290

This PR adds an introductory overview of the new columnar index mode (and small links and comments in the related pages in the "Manage data" section of the documentation).

NOTE: Unlike the existing logsdb page (https://www.elastic.co/docs/manage-data/data-store/data-streams/logs-data-stream), this overview does not include details about how to enable the index mode. Those (and other advanced) details are underway in elastic/elasticsearch#151739 If those steps ought to be moved, that can occur as needed.

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Cursor Grok 4.5

@github-actions

Copy link
Copy Markdown
Contributor

Elastic Docs AI PR menu

Check the box to run an AI review for this pull request.

  • Review docs changes (docs-review). Status: not started.

Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team.

@github-actions

Copy link
Copy Markdown
Contributor

Elastic Docs Style Checker (Vale)

Summary: 3 suggestions found

💡 Suggestions (3): Optional style improvements. Apply when helpful.
File Line Rule Message
manage-data/data-store/columnar.md 16 Elastic.Semicolons Use semicolons judiciously.
manage-data/data-store/columnar.md 56 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.
manage-data/data-store/columnar.md 62 Elastic.Semicolons Use semicolons judiciously.

The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@lcawl
lcawl requested a review from yannis-roussos July 27, 2026 20:24
@lcawl
lcawl marked this pull request as ready for review July 27, 2026 20:24
@lcawl
lcawl requested review from a team as code owners July 27, 2026 20:24

# Columnar index mode [columnar-index-mode]

Columnar index mode turns {{es}} into an analytical and search columnar store for the indices where you enable it. Instead of keeping multiple copies of each field for different query paths, columnar mode stores fields once as [doc values](elasticsearch://reference/elasticsearch/mapping-reference/doc-values.md) by default, which can reduce storage cost for high-volume, analytics-heavy data while keeping the same APIs, dashboards, and integrations.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Columnar index mode turns {{es}} into an analytical and search columnar store for the indices where you enable it. Instead of keeping multiple copies of each field for different query paths, columnar mode stores fields once as [doc values](elasticsearch://reference/elasticsearch/mapping-reference/doc-values.md) by default, which can reduce storage cost for high-volume, analytics-heavy data while keeping the same APIs, dashboards, and integrations.
Columnar index mode turns {{es}} into an analytical and search columnar store for the indices where you enable it. Instead of keeping multiple copies of each field for different query paths, columnar mode stores fields once as [doc values](elasticsearch://reference/elasticsearch/mapping-reference/doc-values.md) by default. This helps reduce storage cost for high-volume, analytics-heavy data while keeping the same APIs, dashboards, and integrations.

* Operational and business analytics: Dashboards and aggregations over application events, transactions, or IoT readings that would otherwise push you to a separate analytics store.

Columnar mode isn't a universal default.
Prefer a standard index (or another specialized mode) when your workload is document-centric search that needs the original JSON `_source` as submitted, or when you rely on inverted indexes and related structures on most fields by default.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Prefer a standard index (or another specialized mode) when your workload is document-centric search that needs the original JSON `_source` as submitted, or when you rely on inverted indexes and related structures on most fields by default.
Prefer a `standard` index (or another specialized mode) when your workload is document-centric search that needs the original JSON `_source` as submitted, or when you rely on inverted indexes and related structures on most fields by default.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding line break and putting "standard" in backticks to match the format used earlier on the page

Prefer a standard index (or another specialized mode) when your workload is document-centric search that needs the original JSON `_source` as submitted, or when you rely on inverted indexes and related structures on most fields by default.

For metrics that need time series dimensions and metric field semantics, use a [time series data stream](/manage-data/data-store/data-streams/time-series-data-stream-tsds.md) instead.
For logs that should keep the current `logsdb` defaults without switching to a fully columnar store, use a [logs data stream](/manage-data/data-store/data-streams/logs-data-stream.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if all this info about use cases would work better in a table. Might be easier to reference which mode to use when


:::{note}
:applies_to: {"stack": "preview 9.5", "serverless": "preview"}
For a fully columnar storage profile for logs, you can set `index.mode` to `logsdb_columnar` instead. For when to choose that mode, refer to [Columnar index mode](/manage-data/data-store/columnar.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For a fully columnar storage profile for logs, you can set `index.mode` to `logsdb_columnar` instead. For when to choose that mode, refer to [Columnar index mode](/manage-data/data-store/columnar.md).
For a fully columnar logs storage profile, you can set `index.mode` to `logsdb_columnar` instead. To learn when to choose that mode, refer to [](/manage-data/data-store/columnar.md).

Just a suggestion to avoid reusing "for" ;) + removing link text since it's the same as the page title, so docsbuilder should auto-populate it (easier maintenance)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants