智能存储单元数据裁剪方法

文档序号:6507290阅读:297来源:国知局
智能存储单元数据裁剪方法
【专利摘要】本发明公开了一种智能存储单元数据裁剪方法,用于解决分布式数据库集群中跨节点查询,节点间数据传输量大,待处理的中间结果集无用数据多,网络资源有效利用率低下的问题。在数据库集群系统中,用户请求进行分析查询,对数据进行读取时,从存储节点的智能单元读取裁剪过后的少量数据而不是先读取所有数据回来再做筛选,减少无用数据的读取,提升有效读取率。智能存储单元数据裁剪方法以特有的方式从数据结果集的行与列两个方面进行数据筛选与剪裁,极大的缩小了待处理的数据规模,节约了网络开销与存储,运算开销,提高了效率。
【专利说明】智能存储单元数据裁剪方法【技术领域】
[0001]本发明在分布式数据库集群中用于数据分析检索,属于计算机【技术领域】。
【背景技术】
[0002]数据库的数据检索一般的主流做法是先把数据从磁盘全部加载到内存,再根据限制条件选择其中的有用部分,如此做法限于磁盘的读性能会成为整个检索过程的瓶颈,尤其是数据量越大体现越明显。
[0003]针对这种情况,目前普遍的改良方法有:
列存数据库,数据按列存放,只读取相关列进内存,极大减少磁盘操作,提升性能明显,但有数据维护繁杂困难,对不同应用需设计不同的数据库底层组织方案的缺点,应用的普适性较差。
[0004]内存数据库,一开始就将数据加载入内存,在内存读写速度快,可极大提升性能,缺点是相较于硬盘,内存价格昂贵,针对海量数据内存会非常庞大,硬件成本会是一笔极大的开销。

【发明内容】

[0005]本发明的目的在于发明一种能解决数据库中数据检索读取速度慢,无用数据多影响传输与处理效率问题的方法。
[0006]本发明主要的功能模块有关系列映射筛选模块,条件过滤下压模块,存储单元按列映射筛选模块,存储单元根据条件按行选择模块。
`[0007]在用户请求进行分析查询,对数据进行读取时,从存储节点的智能存储单元读取裁剪过后的少量数据而不是先读取所有数据回来再做筛选,提升有效读取率,减少无用数据的读取,提高效率缩短时间。
[0008]本发明的目的是通过下述技术方案实现的:
I,智能存储单元
是指存储数据的各单元自身具备选择与投影能力的smart单元。他的选择与投影能力是进行数据裁剪的基础。
[0009]2,智能存储单元的使用流程:
<1>客户端接收分析查询语句SQL
<2>W0RK工作机接收请求定位涉及的存储节点 <3>存储节点发起IO请求
<4>智能存储单元进行ROWS,COLUMNS裁剪返回少量数据
<5>W0RK工作机分析处理数据并返回客户端
<6>返回数据结果集
3,智能存储单元数据裁剪的工作原理
在2所经历的流程中步骤〈2>会将筛选条件下压至各存储节点,在步骤〈3>中存储节点在发起IO请求时是持有筛选条件的。使得在步骤〈4>中通过选择减少不必要的行ROWS,和通过影射能力只读取需要的列COLUMNS,从数据行,数据列两个方面裁剪数据,再把裁剪后的数据送往WORK工作机处理。减小传输数据量同时也减少工作机的待处理数据。
[0010]本发明的目的技术方案实现核心有两点:
al通过映射关系筛选列,减少不必要的列的读取;
a2通过过滤表达式等进行选择,筛选适当的行,减少不必要的行数据的读取。
[0011]智能单元经过这两方面的裁剪减少了中间结果集,减少了数据在网络间的传递,提升了效率。
[0012]本发明其优越性能体现在把筛选有用数据的筛选条件下压,交到了底层去各自完成,而不同于传统的方法先把所有的数据取回来,不管有无用处,都经过处理器运算比较筛选后留下有用数据。本发明减少了运算部分的负担,而现有的筛选技术,有基于列筛选的;比如列存数据库等,有基于行做筛选的,如条件表达式等,他们都是基于一个方面做筛选,且有其局限性:列存数据库可用于做专业的查询,但通用性不好,维护复杂。基于条件表达式的筛选,基于表分区的筛选有其自身局限性,查询需根据他们自身的分区特性为基础制定。
[0013]本发明中过滤表达式的过滤条件的下压,在存储节点剔除不必要的行,过虑条件的传递,尤其是常数过滤表达式条件的传递可极大的减少中间数据行的检索查询。
[0014]本发明中根据列映射的投影关系,可选择有用列,它包括:结果集输出目标列,条件中间列,关系传递列等。根据映射关系我们在进行查询时,只选择相关列,排除不涉及到的列,减少数据读取与传输。
[0015]有益效果
本发明具有如下有益效果:
1、根据筛选条件进行行选择,减少读取数据的行数;
2、根据列映射关系,剔除无用的列,减少待处理列数;
3、智能存储单元的数据裁剪工作在数据读取的底层完成,减少了待处理的中间数据集传输,减少网络传输开销;
4、智能存储单元裁剪后的数据,减少了运算处理单元的工作量与内存资源的使用提高了效率。
【专利附图】

【附图说明】
[0016]图1为本发明的智能存储单元数据裁剪应用流程示意图。
【具体实施方式】
[0017]下面结合附图进一步说明本发明的技术方案,但本发明所保护的内容不局限于以下所述。
[0018]在数据库集群中,资源分布于不同的节点,在作查询计划时,根据目标数据分布于不同的节点,将同一节点数据请求打包发送,提升传输效率,而智能存储单元根据其目标以及下压的条件过滤表达式,以及列映射关系,筛选有用列,剔除无用列,根据条件选择需要的行数据,剔除不符合条件的行数据,将数据传递至工作节点,以备处理。[0019]在计划中条件过滤表达式分解成可远程传输部分和不可远程传输部分,其不可远程传输部分只有在工作节点进行汇总时再进行条件选择。而可远程传输部分下发传递至各智能存储单元,智能存储单元根据下发的条件对做条件选择后传输至工作节点汇总。
[0020]结合图1所示,应用程序与客户端交互发送查询SQL语句。客户端收到请求后,生成任务请求,工作节点分析请求,规划SQL涉及的表,数据列,表之间的连接关系,查询条件,约束条件等,定位数据存储节点,规划查询计划,根据目标数据分布于不同的节点,将同一节点数据请求打包发送并将列映射关系以及下压的筛选条件一并发送。存储单元根据任务请求的要求从磁盘加载数据,smart存储单元,根据下压的筛选条件与列映射关系,选择需要涉及的列与符合选择条件的行,组成合适的数据集发送至工作节点以待进一步处理。工作节点根据从各存储单元返回的数据做运算处理,选择符合条件的行与列形成结果集,经客户端返回给应用程序。
【权利要求】
1.智能存储单元数据裁剪方法,是一种分布式数据库集群中用于查询时裁剪数据,提升数据有效利用率的数据剪裁筛选方法,属于计算机软件领域,其特征在于根据查询特点从行和列两个方面来进行数据裁剪,它包括查询过程中的过滤条件表达式的下压至各存储单元进行行选择,整个查询涉及列的映射筛选等。
2.智能存储单元数据裁剪方法,其特征在于,权利I所述的方法包括关系列映射筛选模块,条件过滤下压模块,存储单元按列映射筛选模块,存储单元根据条件按行选择模块。
3.智能存储单元数据裁剪方法,其特征在于,权利I所述数据裁剪适用的应用包括以下步骤: SI接收用户请求,客户端接收分析查询语句SQL; S2 WORK工作机接收请求定位涉及的存储节点; S3存储节点发起IO请求; S4智能单元进行列,行裁剪返回少量数据; S5 WORK工作机分析处理数据并返回客户端; S6返回数据结果集。
4.智能存储单元数据裁剪方法,其特征在于,数据智能裁剪在底层数据存储节点进行,减少了待处理数据与网络传输量,提升了效率。
【文档编号】G06F17/30GK103455556SQ201310342397
【公开日】2013年12月18日 申请日期:2013年8月8日 优先权日:2013年8月8日
【发明者】况忠强, 马正红 申请人:成都市欧冠信息技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1