无模式数据运算加速方法、装置、计算机设备及介质制造方法及图纸

技术编号:39243376 阅读:32 留言:0更新日期:2023-10-30 11:55
本发明专利技术实施例提供了一种无模式数据运算加速方法、装置、计算机设备及介质,涉及数据访问技术领域,方法包括:定义mxkv2数据的预设查询语义,mxkv2数据为无模式数据在关系型数据库中存储为原生类型的列式数据,预设查询语义包括提取语义和过滤语义;获取用户输入的第一查询语句;在第一查询语句中查找符合预设查询语义的第二查询语句,将第二查询语句下推至mxkv2数据的取出流程中;若第二查询语句符合提取语义,在mxkv2数据中直接提取第二查询语句中指定的数据;若第二查询语句符合过滤语义,在mxkv2数据中直接过滤第二查询语句中指定的数据。该方案有效提升了无模式数据的访问效率。效率。效率。

【技术实现步骤摘要】
无模式数据运算加速方法、装置、计算机设备及介质


[0001]本专利技术涉及数据索引
,特别涉及一种无模式数据运算加速方法、装置、计算机设备及介质。

技术介绍

[0002]无模式数据上的数据访问及使用方法可以归纳为几类,参考如下示例查询(kv列可以为json、jsonb等):1.SELECT kv FROM t1;2.SELECT kv

>'k1' FROM t1;3.SELECT kv

>'k1' FROM t1 WHERE kv

>'k2'>10;在此3个查询中依次分别涉及了几种不同的语义:1.把kv列按照json方式完整地扫描出来,称为“扫描”语义;2.只提取出kv中k1的值,称为“提取”语义;3.根据k2的值做过滤,称为“过滤”语义;所有的kv类型如json、jsonb等都支持这些语义,但是其机制与性能各不相同。
[0003]“扫描”语义对应的是一种全集访问行为,对于所有的kv类型其都不具备优化能力,主数据表上本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种无模式数据运算加速方法,其特征在于,包括:定义mxkv2数据的预设查询语义,所述mxkv2数据为无模式数据在关系型数据库中存储为原生类型的列式数据,所述预设查询语义包括提取语义和过滤语义;获取用户输入的第一查询语句;在所述第一查询语句中查找符合所述预设查询语义的第二查询语句,将所述第二查询语句下推至mxkv2数据的取出流程中;若所述第二查询语句符合提取语义,在所述mxkv2数据中直接提取所述第二查询语句中指定的数据;若所述第二查询语句符合过滤语义,在所述mxkv2数据中直接过滤所述第二查询语句中指定的数据。2.如权利要求1所述的无模式数据运算加速方法,其特征在于,所述方法还包括:接收无模式数据中的json数据,所述json数据达到预设行时形成第一数据块;将所述第一数据块内每个key所对应的键值均转换为原生类型,形成第二数据块;将所述第二数据块内每个key的keyname转换为keyid,所述keyname为键名,所述keyid为键名编码,不同的keyname所对应的keyid不同;将所述第二数据块内同一个keyid所对应的所有原生类型的键值分配至同一数据组形成列式数据,所述第二数据块内所有keyid所对应的数据组形成第三数据块,所述第三数据块内的数据为所述mxkv2数据;对所述第三数据块生成数据标识,不同的第三数据块所对应的数据标识不同,所述数据标识用于对所述第三数据块进行定位以及与所述第三数据块内的数据一一对应;对每个keyid所对应的数据组中的键值进行数据范围的提取,所述数据范围包括两个端值;针对每个keyid,将该keyid、与该keyid对应的数据组的端值以及该keyid所在第三数据块的数据标识所组成的信息形成该keyid的一条索引信息。3.如权利要求2所述的无模式数据运算加速方法,其特征在于,所述若所述第二查询语句符合提取语义,在所述mxkv2数据中直接提取所述第二查询语句中指定的数据,包括:获取所述第二查询语句中的keyname和所述数据标识;将所述keyname转换为与所述keyname对应的keyid;根据所述数据标识和所述keyid在所述第三数据块内定位并加载对应的数据以提取所述查询语句中指定的数据。4.如权利要求2所述的无模式数据运算加速方法,其特征在于,所述若所述第二查询语句符合过滤语义,在所述mxkv2数据中直接过滤所述第二查询语句中指定的数据,包括:获取所述第二查询语句中key...

【专利技术属性】
技术研发人员:于宁姚延栋高小明翁岩青
申请(专利权)人:北京四维纵横数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1