Skip to content

materialize-clickhouse: new connector#2776

Open
jacobmarble wants to merge 3 commits intomasterfrom
jgm-clickhouse
Open

materialize-clickhouse: new connector#2776
jacobmarble wants to merge 3 commits intomasterfrom
jgm-clickhouse

Conversation

@jacobmarble
Copy link
Copy Markdown
Contributor

Description:

Document materialize-clickhouse.

See estuary/connectors#4022

@github-actions
Copy link
Copy Markdown

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://estuary.github.io/flow/pr-preview/pr-2776/

Built to branch gh-pages at 2026-03-17 01:05 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 8, 2026

Add a Required Permissions section with the specific grants needed:
GRANT ALL on the target database, plus SELECT on system.columns,
system.parts, and system.tables (not covered by the database grant).
Also document optional row-level policies for restricting system table
visibility to the target database only.
@jacobmarble jacobmarble requested a review from aeluce April 10, 2026 21:43
Copy link
Copy Markdown
Collaborator

@aeluce aeluce left a comment

Choose a reason for hiding this comment

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

🎉

I left a couple comments, which are only suggestions, nothing major enough to be blocking. It would be good to go from my end!

[Native protocol](https://clickhouse.com/docs/interfaces/tcp) and
[Native format](https://clickhouse.com/docs/interfaces/formats/Native).

Estuary also provides a [Dekaf-based integration](./Dekaf/clickhouse.md) for users who prefer to ingest via ClickPipes.
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.

We could be a little stronger in our preference for the direct materialization.

For situations where we have multiple similar connectors, we'll sometimes call out when it makes sense to use the alternative (ex. batch vs. CDC or the various SQL Server capture options). So it could be something like: "We recommend the direct materialization with ClickHouse. Use Dekaf when…"

When a source document is deleted, the connector inserts a **tombstone row** with `_is_deleted = 1` and the same key columns as the original row.
The `ReplacingMergeTree` engine uses `_is_deleted` to exclude these rows from `FINAL` queries, and automatic cleanup merges eventually remove the tombstoned records from disk.

## Soft deletes
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.

My preference would be to nest the soft and hard delete sections under a larger "Handling deletions" section or similar to keep them grouped together, especially if the documentation expands later. Not a blocker, though.

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.

3 participants