docs: refresh the arrangements concept page - #38599
Draft
ggevay wants to merge 1 commit into
Draft
Conversation
The page said arrangements are "the mechanisms that maintain materialized views" and that Materialize "builds the index once and maintains it in memory, sharing the required resources across all queries". Only an index's arrangement is shared: a materialized view writes its output to storage, a view is compiled into each dataflow that uses it, and every other arrangement is private to its dataflow. The page now says where arrangements come from, what is shared, and how size and compaction relate, and its index-key and type-casting advice matches how the optimizer reuses arrangements (exact key expression match; an implicit cast keys the arrangement on the cast expression). Stale /ops/ links, the wrong "Deployment" link and the redirected blog URL are fixed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ggevay
force-pushed
the
gabor/arrangements-concept-refresh
branch
from
September 1, 2026 11:10
a99e1d0 to
8e17c8b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
get-started/arrangements.mdis linked from 13 pages (theEXPLAIN PLANoperator table among them) as the explainer for arrangements, and its core claims no longer match the system: it presents arrangements as "the mechanisms that maintain materialized views" and cross-query arrangement sharing as automatic ("builds the index once ... sharing the required resources across all queries"). Only an index's arrangement is shared; a materialized view's output goes to storage and a view is compiled into every dataflow that uses it. Its index-key advice dates from source primary keys pulled from a Confluent schema, and its links point at retired/ops/paths.Description
Same title, menu entry, alias and
## Arrangementsanchor; the content is rewritten around what the code does (adapter/src/optimize/dataflows.rsimport_into_dataflow,transform/src/join_implementation.rs,compute_state.rsTraceManager):SUBSCRIBE, and aSELECTnot served from an index; it reads inputs from storage or from an index's arrangement.TopK/MIN/MAXhierarchies), with a pointer to the operator reference.(data, time)seen, folded by compaction to one record per current row, size ≈ records × bytes per record, transient old-plus-new batches right after a large change; the taxi histogram example stays. Hydration named as the memory peak.EXPLAIN PHYSICAL PLAN,EXPLAIN ANALYZE,mz_dataflow_arrangement_sizes, the dataflow troubleshooting page.CREATE INDEXdocuments).cast_t1.a int4 = cast_t2.b int8with an index oncast_t1(a)gives*** full scan ***plus anArrangeBykeyed oninteger_to_bigint(#0{a}); withCREATE INDEX ON cast_t1 (a::int8)both indexes are used directly./ops/troubleshooting/(now an alias of the ingest troubleshooting page) and/ops/optimization/replaced by their current targets, the "Deployment" entry that pointed at optimization dropped, the blog URL updated to where it redirects.Verification
Prose only.
hugobuilds cleanly; every link target and anchor on the page exists. Behavior claims checked against the code paths named above and on the v26.39.0 emulator.