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]
