架构介绍
介绍OmniMV物化视图特性架构。
OmniMV物化视图特性是通过AI算法从历史SQL查询中推荐出最优物化视图,并在Spark中自动对用户SQL进行物化视图匹配,将匹配成功的物化视图替换用户执行计划的部分SQL,大幅减少重复计算,提升查询性能。该特性支持用户将SQL任务提交给Spark集群,集群管理节点进行任务分配,分发多个子任务到对应的多个计算节点执行。
OmniMV物化视图架构如图1所示。
OmniMV物化视图主要包含两大模块:物化视图候选视图生成模块、物化视图SQL改写模块。
- 物化视图候选视图生成模块:生成候选视图。
- 物化视图SQL改写模块:修改SQL的物理执行计划。
OmniMV物化视图的使用流程如下。
- 收集历史查询日志,例如Yarn logs的日志。
- 从历史日志中解析得到SQL相关的信息,包括SQL文本、SQL执行计划、SQL运行时间等。
- 从2得到的信息中,进行候选视图生成,然后使用贪心选择TOP N的候选视图。
父主题: 特性介绍