Skip to content

Add data lake best practices guide#6512

Open
amychen1776 wants to merge 6 commits into
mainfrom
docs/data-lake-best-practices
Open

Add data lake best practices guide#6512
amychen1776 wants to merge 6 commits into
mainfrom
docs/data-lake-best-practices

Conversation

@amychen1776

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new Data lake best practices guide at /use-cases/data-lake/best-practices covering access methods (table functions, table engines, DataLakeCatalog), required feature flags, and performance tuning for Iceberg and Delta Lake.
  • Documents query habits (including Iceberg hidden partitioning), cluster reads, snapshot-bounded batch loads, filesystem cache, format-specific read/write settings, and debugging with virtual columns, query_log, and metadata logs.
  • Links the page from the data lake index, getting started guide, and writing-data pagination.

Test plan

  • Verify the page builds locally (yarn start or CI docs check)
  • Confirm internal links resolve (Iceberg/Delta settings, catalog guides, support matrix)
  • Review frontmatter renders correctly (title, sidebar, pagination)
  • Spot-check SQL examples for voice and accuracy

Made with Cursor

amychen1776 and others added 3 commits July 8, 2026 15:35
Correct YAML frontmatter, use event_time in the virtual-column debug example for Iceberg hidden partitioning, and update the data lake index blurb.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@amychen1776 amychen1776 requested a review from a team as a code owner July 8, 2026 19:39
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clickhouse-docs Ready Ready Preview, Comment Jul 9, 2026 2:06pm
clickhouse-docs-jp Building Building Preview, Comment Jul 9, 2026 2:06pm
3 Skipped Deployments
Project Deployment Actions Updated (UTC)
clickhouse-docs-ko Ignored Ignored Preview Jul 9, 2026 2:06pm
clickhouse-docs-ru Ignored Ignored Preview Jul 9, 2026 2:06pm
clickhouse-docs-zh Ignored Ignored Preview Jul 9, 2026 2:06pm

Request Review

Remove nested backticks that break inline code parsing and show SHOW CREATE TABLE in a proper code block.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread docs/use-cases/data_lake/guides/best-practices.md
Collapse consecutive blank lines around tables and headings (MD012) and
add "Delta Kernel" to the Headings.yml sentence-case exceptions so the
heading keeps the proper project name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PREWHERE -> /optimize/prewhere and filesystem cache disk ->
/operations/storing-data#using-local-cache. These surfaced once the
markdown-lint gate passed and the Docusaurus build could run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Version numbers on this page match ClickHouse release versions (Cloud and self-managed). Check your service version before enabling a setting or feature.

Lake query performance depends on how much metadata and how many [Parquet](/interfaces/formats/Parquet) files ClickHouse reads from object storage. As with ClickHouse, query performance is improved by filtering on partition columns and selecting fewer columns.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Lake query performance depends on how much metadata and how many [Parquet](/interfaces/formats/Parquet) files ClickHouse reads from object storage. As with ClickHouse, query performance is improved by filtering on partition columns and selecting fewer columns.
Lake query performance depends on how much metadata and how many [Parquet](/interfaces/formats/Parquet) files ClickHouse reads from object storage. As with any ClickHouse table, query performance is improved by filtering on partition columns and selecting fewer columns.

Slightly odd phrasing here for a ClickHouse doc. Tried rewording slightly so it doesn't read like ClickHouse is a separate thing.


### Parallel reads on multi-node clusters {#parallel-cluster-reads}

On ClickHouse Cloud and self-managed multi-node services, cluster variants of lake table functions distribute [Parquet](/interfaces/formats/Parquet) file reads across replicas. The initiator node dispatches files to workers in parallel. Use cluster variants for batch reads and scheduled loads over large tables. On single-node deployments, the standard table function is enough.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
On ClickHouse Cloud and self-managed multi-node services, cluster variants of lake table functions distribute [Parquet](/interfaces/formats/Parquet) file reads across replicas. The initiator node dispatches files to workers in parallel. Use cluster variants for batch reads and scheduled loads over large tables. On single-node deployments, the standard table function is enough.
On ClickHouse Cloud and self-managed multi-node services, cluster variants of lake table functions distribute [Parquet](/interfaces/formats/Parquet) file reads across replicas. The initiator node dispatches files to workers in parallel. Use cluster variants for batch reads and scheduled loads over large tables. On single-node deployments, the standard table function is enough.


You can combine cluster reads with other performance settings.

### Bound batch reads to snapshots {#snapshot-bounds}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is non-blocking, but I find Bound batch reads to snapshots a bit awkward wording for a header on first read. Perhaps "Scope each run to snapshot range"?

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