morningman opened a new pull request, #4141:
URL: https://github.com/apache/doris-website/pull/4141

   ## Versions 
   
   - [x] dev
   - [ ] 4.x
   - [ ] 3.x
   - [ ] 2.1 or older (not covered by version/language sync gate)
   
   The feature ships in 5.0.0 (apache/doris#65418), so only `docs/` and 
`i18n/.../current` are touched.
   
   ## Languages
   
   - [x] Chinese
   - [x] English
   
   ## Docs Checklist
   
   - [x] Checked by AI
   - [ ] Test Cases Built
   - [x] Updated required version and language counterparts, or explained why 
not
   - [x] If only one language changed, confirmed whether source/translation 
counterparts need sync
   
   ## What changed and why
   
   User documentation for **Incremental View Maintenance (IVM)** of async 
materialized views, available since Doris 5.0.0. IVM refreshes a materialized 
view from the row-level changes of its base tables (`REFRESH INCREMENTAL 
[FALLBACK]`), built on Row Binlog and Doris-managed internal Table Streams. 
Facts were checked against the apache/doris source for the 5.0 implementation.
   
   New page in both languages: 
`query-acceleration/materialized-view/async-materialized-view/incremental-materialized-view`
 (zh-CN: 物化视图增量维护(IVM)), placed after *Manage and Query Async Materialized 
Views* in `sidebars.ts`. It covers:
   
   | Section | Content |
   |---|---|
   | When to use / differences | scenario table; `INCREMENTAL` vs `PARTITIONS` 
vs `COMPLETE` vs `AUTO` |
   | How it works | Row Binlog → internal `__doris_ivm_stream_*` Streams → 
delta plan with aligned snapshot, atomic commit of view data and offsets (with 
illustration `static/images/next/query-acceleration/ivm-workflow.jpg`) |
   | Prerequisites | `enable_feature_binlog` / `enable_table_stream`, base 
table model matrix, Row Binlog table properties |
   | Quick start | 5-step orders example: MoW base table → `REFRESH INCREMENTAL 
FALLBACK` view → `COMPLETE` baseline → update/delete/insert + incremental 
refresh → check `tasks()` |
   | Supported queries | relational operator allowlist, supported aggregates, 
cases that force recomputation |
   | Refresh and fallback | creation-time strategies, manual overrides, 
fallback order, `IvmFallbackReason` table, baseline rebuild |
   | Preview and explain | `EXPLAIN REFRESH ... INCREMENTAL [WITH ALL 
STREAMS]`, `WITH DRY RUN [LIMIT/OFFSET]` |
   | Internal Table Streams, IVM properties | lifecycle; `ivm_use_full_keys`, 
`ivm_partition_window_limit`, `excluded_trigger_tables`, resource properties |
   | Limitations, FAQ, best practices, cleanup | |
   
   Related pages updated in both languages to distinguish row-level IVM from 
partition refresh and to cross-reference the new page:
   
   - async MV `overview`, `functions-and-demands` (`[FALLBACK]` in syntax, 
`PARTITIONS` / `INCREMENTAL` refresh methods, manual-trigger strategies), 
`use-guide`, `faq` (Q11 rewritten, Q16/Q17 added), and the `intro.mdx` cards
   - `data-operate/incremental` `overview`, `row-binlog`, `table-stream`, 
`table-stream-advanced`
   - `mv_infos` (new `IvmBaseTableStreams` column) and `tasks` (`ComputeGroup`, 
`IvmFallbackReason`, `TaskContext.refreshMode` / `af`) table functions
   - `CREATE-ASYNC-MATERIALIZED-VIEW` (`refresh_method` grammar, `FALLBACK`, 
`ivm_*` properties, IVM example), `ALTER-ASYNC-MATERIALIZED-VIEW`, 
`REFRESH-MATERIALIZED-VIEW` (rewritten around the new syntax)
   
   Validation: frontmatter JSON, balanced code fences, `git diff --check`, 
internal link and anchor resolution for all touched pages, and zh/en structural 
parity of the main page (same headings, tables and SQL blocks). No site build 
was run.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to