[发明专利]基于ClickHouse数据库的pipeline的缓存优化方法及系统在审
申请号: | 202111428731.2 | 申请日: | 2021-11-29 |
公开(公告)号: | CN114328598A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 黄向阳;贾德星 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/2452 | 分类号: | G06F16/2452;G06F16/2453;G06F16/2455;G06F16/22 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 clickhouse 数据库 pipeline 缓存 优化 方法 系统 | ||
1.一种基于ClickHouse数据库的pipeline的缓存优化方法,其特征在于,该方法是将每一条的sql首次生成的interpreter解释器与sql本身保存下来,在每次执行sql流程前,比较是不是与缓存的sql是同一条sql;再采用缓存的interpreter解释器修改后,进行查询,并用所对应的sql作为索引进行查找替换操作;再生成QueryPlan逻辑计划及生成pipeline物理计划的流程,并通过与Mergetree存储引擎进行交互,读取数据后返回请求结果。
2.根据权利要求1所述的基于ClickHouse数据库的pipeline的缓存优化方法,其特征在于,该方法具体如下:
S1、每次查询时,在context的map结构中查找是否有已保存的相同的sql:
①、若有相同的sql,则跳转至步骤S7;
②、若无相同的sql,则执行步骤S2;
S2、进行生成AST抽象语法树及生成interpreter解释器,下一步执行步骤S3;
S3、判断本次sql的startkey是否为空值:
①、若不为空值,则执行步骤S4;
②、若为空值,则不保留startkey为空值时的interpreter解释器,下一步跳转至步骤S9;
S4、将生成的interpreter解释器保存进map结构中,下一步执行步骤S5;
S5、判断map结构中是否达到了设置的上限数量:
若是,则执行步骤S6;
S6、用一个最近最少使用LRU的算法替换掉context中保留的interpreter解释器,执行步骤S7;
S7、使用map结构保存不同sql查询生成的interpreter解释器,下一步执行步骤S8;
S8、用该条spl保存的interpreter解释器结构中的starkey替代为本次查询新的starkey即可,下一步执行步骤S9;
S9、生成QueryPlan逻辑计划及生成pipeline物理计划的流程。
3.根据权利要求1或2所述的基于ClickHouse数据库的pipeline的缓存优化方法,其特征在于,在执行生成AST抽象语法树前,将sql进行简化处理,具体如下:
将startkey、endkey、HLC及limit信息从sql中剔除,再与context中map结构里缓存的sql进行一次是否存在的查找操作。
4.根据权利要求3所述的基于ClickHouse数据库的pipeline的缓存优化方法,其特征在于,生成QueryPlan逻辑计划具体如下:
interpreter解释器对AST抽象语法树进行优化重写后,对AST抽象语法树进行解析,生成操作链,操作链即为QueryPlan逻辑计划。
5.根据权利要求4所述的基于ClickHouse数据库的pipeline的缓存优化方法,其特征在于,生成及执行pipeline物理计划具体如下:
QueryPlan逻辑计划与底层进行模拟交互,底层数据为有序数据,根据本次查询的startkey和endkey来确定访问的目标range,具体实现具体为:
遍历所有的范围range,来确定本次访问的数据范围是否在该range内:
若有,则在processors处理器中添加对该range的访问、查询及合并可能出现的问题操作;
全部遍历完成后,将processors处理器赋值给pipeline物理计划中;
执行pipeline物理计划:每次进行processors处理器中的操作,对Mergetree存储引擎进行交互,读取数据后返回请求结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111428731.2/1.html,转载请声明来源钻瓜专利网。