Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update transparent-rewriting-with-sync-mv.md #1356

Merged
merged 1 commit into from
Nov 15, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,44 +40,6 @@ under the License.

对于频繁重复使用相同子查询结果的查询,单表同步物化视图能显著提升性能。Doris 会自动维护物化视图的数据,确保基础表 (Base Table) 和物化视图表的数据一致性,无需额外的人工维护成本。在查询时,系统会自动匹配到最优的物化视图,并直接从物化视图中读取数据。

在使用物化视图时,请注意以下几点:

1. 在 Doris 2.0 版本中,物化视图具备了一些增强功能。建议用户在正式的生产环境中使用物化视图之前,先在测试环境中确认预期中的查询能否命中想要创建的物化视图。

2. 不建议在同一张表上创建多个形态类似的物化视图,因为这可能会导致多个物化视图之间的冲突,从而使查询命中失败。

## 使用流程

物化视图的使用流程如下:

### 1 创建物化视图

1. 根据查询语句的特性,确定应创建何种类型的物化视图。

2. 从查询语句中提炼出多个查询共有的分组及聚合方式,以此作为物化视图的定义依据。

3. 无需为所有维度组合都创建物化视图,仅需为常用的维度组合进行创建。

4. 创建物化视图是一个异步操作。提交创建任务后,Doris 会在后台对现有数据进行计算,直至创建成功。

### 2 查询自动匹配

1. 物化视图创建成功后,当用户查询 Base 表时,Doris 会自动选择一个最优的物化视图,并从该物化视图中读取数据进行计算。

2. 用户可通过 EXPLAIN 命令来检查当前查询是否使用了物化视图。

### 3 更新策略

为确保物化视图表与 Base 表的数据一致性,Doris 会将对 Base 表的操作同步到物化视图表中,并采用增量更新的方式提高更新效率,同时通过事务方式保证操作的原子性。

### 4 支持的聚合函数

1. SUM, MIN, MAX (适用于 Version 0.12)

2. COUNT, BITMAP_UNION, HLL_UNION (适用于 Version 0.13)

3. 通用聚合函数 (适用于 Version 2.0)

## 调优案例

下面通过一个具体例子来阐述单表物化视图的使用方法:
Expand Down Expand Up @@ -131,4 +93,4 @@ TABLE: default_cluster:test.sales_records(store_amt), PREAGGREGATION: ON

## 总结

通过创建物化视图,我们能够显著提升相关聚合分析的查询速度。物化视图不仅使我们能够快速进行统计分析,而且还灵活地支持了明细数据的查询需求,是 Doris 中一项非常强大的功能。
通过创建物化视图,我们能够显著提升相关聚合分析的查询速度。物化视图不仅使我们能够快速进行统计分析,而且还灵活地支持了明细数据的查询需求,是 Doris 中一项非常强大的功能。
Loading