[发明专利]一种基于列存储的多核并行数据查询优化方法有效
申请号: | 201310306838.9 | 申请日: | 2013-07-19 |
公开(公告)号: | CN103324765A | 公开(公告)日: | 2013-09-25 |
发明(设计)人: | 刘慧;刘志镜;袁通;王韦桦;邱龙滨;强波;曹志高;王梓;赵宏伟;李雨楠;姚勇;屈鉴铭;张璐萱;张慧泽;徐曾 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/46 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 存储 多核 并行 数据 查询 优化 方法 | ||
技术领域
本发明涉及计算机领域中的大数据并行计算、列存储相关架构数据存储查询领域,具体涉及一种基于列存储的多核并行数据查询优化方法,其中采用映射-化简并行编程模型实现多核环境下数据库查询任务的局部并行化。
背景技术
数据查询是指将经过选择、整理和评价的数据存入数据库中,并从数据库中查询出能满足用户需求的准确数据的过程和技术,是数据库系统的核心问题之一。随着互联网技术的发展,数据正在以令人难以想象的速度增长。面对这些大数据,如何对数据查询进行优化,提高数据库的查询效率,是数据库领域的一个重要研究方向。
国内外学者在此方面做了很多的研究,这些研究主要可以分为两类:分布式并行数据库查询优化技术和列存储数据库查询优化技术。
分布式并行数据库查询优化技术通过任务的分布式并行执行缩短响应时间,提高查询效率。该方法根据执行方式的不同又可细分为两类:一阶段并行查询优化方法和两阶段并行查询优化方法;一阶段方法可直接产生最优的并行执行计划,目前提出的一阶段方法大多数都是近似的或启发式的;在两阶段并行查询优化方法中,第一阶段使用传统的基于代价的查询优化方法产生高效率的顺序查询执行计划,第二阶段并行化第一阶段产生的查询执行计划,在一定的条件下,第一阶段产生的顺序查询执行计划也能保证并行化后有很好的性能。
列存储数据库查询优化技术通过改变数据库的物理存储层来实现查询效率的提高。它与传统的行存储数据库的区别在于列存储数据库中的表格是以列为单位进行存储的。这样一来,在执行查询计划时,只需读取与查询相关的列,不需要把数据库的整条记录的数据都加载到内存中,从而大大减少了磁盘和网络I/O的负载。同时,由于同列的数据不仅具有相同的数据结构,而且数据的重复性机率也将更大,因此这一存储结构更适合于对数据进行压缩。压缩态数据在减少存储成本的同时,也为查询效率的提高提供了极大的优势。这一优势主要体现在:压缩态数据可包含更多的信息量,在每次读取数据时,可获得更多的数据,而每次读取操作获取更多的数据则意味着更快的查询处理速度,更短的响应时间。
然而这些研究还存在着一定的问题:分布式并行数据查询优化技术利用分布式系统架构,提高了并行查询的效率,但是该架构的缺点也造成此方法容易受个别坏节点的影响,从而影响最后的输出结果;列存储数据查询优化技术通过改变数据的物理存储层使得查询效率得以提高,但是在查询优化阶段,并未过多的考虑查询任务的并行执行,以使得计算机硬件资源得到充分利用。因此,如何利用列存储本身的特性最大化查询任务的并行执行,成为目前急需解决的任务。
发明内容
鉴于现有技术的不足,本发明的目的是克服上述两种查询方法的缺陷,采用多核处理器,利用列存储技术和基于映射-化简模型的单CPU多核处理器并行技术,动态地将查询涉及的数据列加载到内存,并使用MR模型将查询操作分配到处理器的多个核上并行运行,缩短了大数据查询结果的返回时间,提高了数据查询的效率。
需要说明的是,映射-化简模型(MapReduce)是由Dean et.al.提出的一种编程模型,可用于大规模数据集(大于1TB)的并行运算,并成功地应用于Google的各种应用中。它提供了简单的编程接口使得程序能自动地以并行的方式运行在大量的机器中,而不需要考虑并行、容错、优化和负载均衡等问题。该模型以键值(Key/value)对的方式处理数据,并将计算任务分成了映射和化简两个阶段。通过在运行时动态地对节点进行任务分配,分阶段的处理方式以及定期创建检查点和重做失败的任务,MR框架能够很好的应对任务失败和节点出错,具有很强的容错能力,本发明即采用MR模型将查询操作分配到多个核上并行运行并用键值对存储计算结果。
尽管MR模型的优点众多且功能强大,但现阶段仍主要应用于大规模集群下。随着微型和小型计算机CPU主频的提高及多核、多处理器、多线程技术的不断发展,单个计算机的计算能力已经不容小视。将微型或小型计算机上单个处理器上的多个核或者多个处理器看成一个集群,通过内存共享的方式来模拟作为集群间通信的媒介网络的方法,同样可以将MR模型运用于微型或小型计算机上解决大数据计算问题,这就是本发明使用的基于映射化简的单CPU多核并行技术。
通过映射化简框架实现多核处理器环境下的列存储数据库中的数据查询的局部并行执行,以达到数据查询优化的目的。
为了实现上述目的,本发明采用的技术方案如下:
一种基于列存储的多核并行数据查询优化方法,所述方法包括以下步骤:
(1)读取用户输入的查询语句;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310306838.9/2.html,转载请声明来源钻瓜专利网。