1 .一种物化视图增量刷新方法,其特征在于,包括:
对基表进行划分,得到至少两个分片子表;每个分片子表的表结构相同;
为所述分片子表创建物化视图的日志临时表和日志主表;
在数据分片中创建对应的分片本地物化视图,并注册增量刷新控制信息;其中,所述增
量刷新控制信息包括所述日志主表的变更序列号的增量刷新点位;
根据所述增量刷新点位、所述日志临时表和所述日志主表确定增量变更集;
根据所述分片本地物化视图所涉及的基表和所述增量变更集对所述分片本地物化视
图进行刷新,得到所述分片子表的新分片本地物化视图或中间结果集;
对至少两个分片子表的新分片本地物化视图或中间结果集进行合并,得到所述基表的
目标物化视图。
2 .根据权利要求1所述的方法,其特征在于,所述日志临时表和所述日志主表均包括变
更序列号、操作类型、数据快照和变更事务号中至少一个字段;其中,变更序列号表征数据
变更顺序。
3 .根据权利要求2所述的方法,其特征在于,根据所述增量刷新点位、所述日志临时表
和所述日志主表确定增量变更集,包括:
扫描日志临时表中的数据变更记录,得到数据变更记录;
按照事务隔离粒度,对数据变更记录进行聚合,得到至少一个事务组;其中,事务组内
的变更数据按照变更序列号递增排序;其中,事务组之间按照事务提交时序排序;
将至少一个事务组迁移至日志主表;
获取基表的全局一致性快照点;
根据所述增量刷新点位和所述全局一致性快照点,从所述日志主表中提取增量变更
集。
4 .根据权利要求3所述的方法,其特征在于,根据所述分片本地物化视图所涉及的基表
和所述增量变更集对所述分片本地物化视图进行刷新,得到所述分片子表的新分片本地物
化视图或中间结果集,包括:
若所述分片本地物化视图涉及一个基表,则根据增量变更集对所述分片子表的分片本
地物化视图进行更新,得到所述分片子表的新分片本地物化视图;
若所述分片本地物化视图涉及多个基表,根据所述增量变更集、所述全局一致性快照
点的基表数据、以及本次刷新前的分片本地物化视图,得到所述分片子表的中间结果集。
5 .根据权利要求1所述的方法,其特征在于,还包括:
异步定时清理所述分片子表的日志主表中的失效日志数据。
6 .根据权利要求1‑5中任一项所述的方法,其特征在于,所述分片本地物化视图对应的
数据范围通过分片键与所述分片子表对齐。
7 .一种物化视图增量刷新装置,其特征在于,包括:
基表划分模块,用于对基表进行划分,得到至少两个分片子表;每个分片子表的表结构
相同;
日志创建模块,用于为所述分片子表创建物化视图的日志临时表和日志主表;
物化视图生成模块,用于在数据分片中创建对应的分片本地物化视图,并注册增量刷
新控制信息;其中,所述增量刷新控制信息包括所述日志主表的变更序列号的增量刷新点
权 利 要 求 书
1/2 页
2
评论