【技术实现步骤摘要】
一种基于ClickHouse数据库的MVCC多版本折叠树实现系统及方法
[0001]本专利技术涉及数据库数据存储处理
,具体提供一种基于ClickHouse数据库的MVCC多版本折叠树实现系统及方法。
技术介绍
[0002]ClickHouse是一款MPP架构的列式存储数据库,主要用于在线分析处理查询(OLAP),分析性能超过市场上大部分的列式存储数据库,尤其是对单表的分析性能极好。
[0003]MVCC(多版本并发控制)数据,包含一个HLC时间戳,它是由两个整型值组成,分别是wall_time和logic_time,用来控制数据的版本信息。当wall_time和logic_time不同时为0时,这条数据便是业务数据,当wall_time和logic_time同时为0时,即为写意图数据。
[0004]我们在使用ClickHouse自带多版本折叠树进行MVCC数据存储时,发现当我们存储多版本数据的情况下,由于我们的版本号列需要进行两种不同的情况的计算,所以ClickHouse自带的多版本折叠树无法满足我们 ...
【技术保护点】
【技术特征摘要】
1.一种基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:包括多版本折叠树定义声明模块、多版本折叠树合并模块和多版本折叠树查询模块;多版本折叠树定义声明模块:增加一个新的折叠树,设置一个整型列为删除标记列,设置wall_time列和logic_time列为版本号列;多版本折叠树合并模块:对折叠树保存的数据分区进行合并;多版本折叠树查询模块:对多版本折叠树的使用与执行流程进行说明。2.根据权利要求1所述的基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:所述删除标记列为选取建表语句中的一整型值列,其值为1表示该条数据插入,等于
‑
1表示删除该条数据。3.根据权利要求2所述的基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:版本号列为元组列,包含wall_time和logic_time两个值,排序规则为首先对wall_time进行比较,若值相等再比较logic_time,该列用于对多版本数据进行标记。4.根据权利要求3所述的基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:ClickHouse后台进行不同数据分区合并时,数据分区之间根据该模块中的合并算法进行合并。5.根据权利要求4所述的基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:用户执行手动合并语句时,对折叠树中所有数据进行合并,用户执行查询语句时增加final标识时,对读取到的数据进行合并处理。6.根据权利要求5所述的基于ClickHouse数据库的MVCC多版本折叠树实现系统,其特征在于:多版本折叠树查...
【专利技术属性】
技术研发人员:李盟,贾德星,
申请(专利权)人:山东浪潮科学研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。