数据库处理设备、数据库处理方法及记录介质技术

技术编号:7843351 阅读:183 留言:0更新日期:2012-10-13 01:43
本发明专利技术为数据库处理设备、数据库处理方法及记录介质。本发明专利技术的数据库系统决定对应并行运算单元的数据处理的单位的分段长度,以及将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据相应地存入所述列存储数据库中的分段报头中。当对列存储数据库中存储的数据执行处理时,数据库系统参考所述元数据,决定要分配给由所述并行运算单元执行的每个线程的分段,基于决定的内容将分段分配给每个线程,以及使每个线程执行并行运算操作。

【技术实现步骤摘要】

本专利技术涉及基于通用计算图形处理单元(GPGPU)的数据库技术。
技术介绍
近年来,GPGPU技术受到关注,其使得诸如图形处理单元(GPU)的并行运算单元执行通用运算处理。在运算单元的并行度与并行操作的吞吐量方面,GPU比中央处理单元(CPU)高。此外,GPU具有与SMD运算单元的配置相类似的配置,来为多个运算单元提供指令。为了展现出采用GPGPU的高处理性能,要求使分支指令的数目较小,也要求不仅使某组运算单元中的一个运算单元的数据供应量与其它运算单元的数据供应量相一致,还要求保持要供应的数据的连续性。可以想到,基于列存储的数据结构是适于由诸如GPGPU之类的并行运算单元执行 的处理的结构。由于列存储而将固定长度数据的数据处理表示为逐列的固定长度的序列,从而为GPGPU的数据处理提供足够的数据。例如,对于一个大规模文本,在非专利文献I中公开了在GPGPU的帮助下对该文本内容执行全文本研究的技术。HIGASHI RYUICHI,FUJM0T0 N0RIYUKI,和 HAGIWARA KENICHI“An Investigationof CUDA based Fast Full Text Search for Large-Scale Texts on Main Memory,,,TheInstitute of Electronics, Information 和 Communication Engineers, InformationProcessing Society of Japan, No. 19, 2008, ppl39_144 (非专利文献 I)。然而,还没有实现用于有效存储包括可变长度数据的数据组的数据库及有效处理这种数据库的数据库处理方法。
技术实现思路
在考虑了上述问题的情况下实现了本专利技术,本专利技术的目的在于提供数据库处理系统,数据处理方法,本专利技术的方法可以通过采用并行运算单元实现对可变长度数据的有效数据库处理。本专利技术是数据库处理设备,包括并行运算单元;数据存储部件,其决定对应所述并行运算单元的数据处理的单位的分段长度,以及将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据存入所述列存储数据库中的分段报头中;以及并行运算部件,当对所述列存储数据库中存储的数据执行处理时,其参考所述元数据,决定要分配给由所述并行运算单元执行的每个线程的分段,基于决定的内容将分段分配给所述每个线程,并使每个线程执行并行运算操作。本专利技术是在包括并行运算单元的数据库处理设备中的数据库处理方法,包括数据存储步骤,决定对应并行运算单元的数据处理的单位的分段长度,以及相应地将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据存入所述列存储数据库中的分段报头中;以及并行运算步骤,当对所述列存储数据库中存储的数据执行处理时,参考所述元数据,决定要分配给由所述并行运算单元执行的每个线程的分段,基于决定的内容将分段分配给所述每个线程,并使每个线程执行并行运算操作。本专利技术是存储了程序的非临时性计算机可读存储介质,该程序用于使包括并行计算单元的计算机执行以下处理数据存储处理,决定对应并行运算单元的数据处理的单位的分段长度,以及将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据存入所述列存储数据库中的分段报头中;以及并行运算处理,当对所述列存储数据库中存储的数据执行处理时,参考所述元数据,决定要分配给由所述并行运算单元执行的每个线程的分段,基于决定的内容将分段分配给所述每个线程,并使每个线程执行并行运算操作。 根据本专利技术,也可以通过采用并行运算单元来实现对可变长度数据的有效数据库处理。附图说明·通过阅读以下详细描述和附图,本专利技术的这些和其它的目的、特征和有效效果将变得更明显,其中图I是根据本专利技术示例实施例的数据库系统的系统配置的示意图;图2是示出了数据库的数据结构的一个示例的视图;图3是用于说明数据库系统操作的流程图;图4是用于举例说明在存储区域中记录的检索处理结果的视图;图5是用于举例说明在预定存储区域中记录的再处理结果的视图;图6是用于举例说明该数据库系统的操作的概要的视图;图7是用于说明分配分段的过程的流程图;以及图8是用于说明准备数据的过程的流程图。具体实施例方式在下文中,将参考附图说明本专利技术的示例实施例。图I是根据本专利技术示例实施例的数据库系统的系统配置的示意图。如图所示,该系统包括经由诸如局域网(LAN)之类的网络相连的数据库10和数据库处理设备20。数据库10是列存储数据库。数据库10的管理的单位是元组、列、表和模式,可以以多个数的形式将其中的每一种单位存储到高阶的结构中。元组包括数据库内某一行的数据。以元组为单位将特定列的数据存储在某一列存储器中。数据库处理设备20包括主机、协处理器(并行运算单元)等。数据库处理设备20包括并行运算单元环境检测部件21、可变长度数据存储长度决定部件22、可变长度数据存储/处理部件23、并行运算处理部件24和数据处理结果存储/再处理部件25。并行运算单元环境检测部件21获取与该设备的并行运算单元(GPU)的处理能力相关联的信息(数据处理的单位等)。可变长度数据存储长度决定部件22基于并行运算单元环境检测部件21获取的信息决定数据库10中的数据存储的长度(分段长度)。可变长度数据存储/处理部件23基于可变长度数据存储长度决定部件22决定的数据存储长度将数据存入数据库10中。将包括固定长度数据的可变长度元组数据(列元组)存入固定长度的分段中,其中该可变长度元组数据的单位是列单位。必要的话,将某些列的元组数据存入由多个分段组成的分段集合中。图2中示出了数据库10的数据结构的一个示例。如图所示,存入数据库10的数据包括分段和附着于该分段的分段报头。分段具有存储的一列元组的部分数据或全部数据。分段报头具有与存储的列元组相关联的元数据。务必连续存储属于相同元组的分段。分段报头是指示编号(ctid)以及该分段的最后部分的数据位置距离元组的开始位置的偏移量(长度),其中该编号示出了对列元组的部分数据进行存储的顺序。尽管就分段集合内的每一列而言,分段长度可以是固定长度,但是对于每列或每个分段集合,可以独立地设置分段长度。可变长度数据存储长度决定部件22测量列或分段集合内出现的数据长度,从而使得引入与并行运算单元的处理能力相匹配的分段长度成为可能,其中,该并行运算单元的处理效率或空间效率能够通过采用适当的算法而提高。例如,可变长度数据存储长度决定部件22可以设置适于并行运算单元的数据处理的单位的数据长度(4字节长度、8字节长度、16字节长度、32字节长度、64字节长度等)作为存储长 度。此外,可变长度数据存储长度决定部件22可以设置可变长度数据的数据长度的平均值,并且还可以将数据长度设置成适于并行运算单元的数据处理的单位的上述平均值的近似值,作为存储长度。并行运算处理部件24对数据库10中存储的数据执行并行运算处理。数据处理结果存储/再处理部件25处理由并行运算处理部件24得到的运算结果。接下来,作为示例,将利用从数据库10检索某些字符序列的情形,来说明根据本示例实施例的数据库系统的操作。对于检索的执行过程,存在情形I以及情形本文档来自技高网
...

【技术保护点】

【技术特征摘要】
2011.03.24 JP 2011-065171;2012.03.05 JP 2012-048071.一种数据库处理设备,包括 并行运算单元; 数据存储部件,决定与所述并行运算单元的数据处理的单位相对应的分段长度,以及将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据存入所述列存储数据库中的分段报头中;以及 并行运算部件,当对所述列存储数据库中存储的数据执行处理时参考所述元数据,决定要分配给由所述并行运算单元执行的每个线程的分段,基于决定的内容将所述分段分配给所述每个线程,并使每个线程执行并行运算操作。2.根据权利要求I所述的数据库处理设备,其中所述并行运算部件包括 第一结果记录部件,使每个线程检索与分配的分段相关的字符序列,并且记录通过将所述分段的字节位置进行比特反转而获得的数据,以作为检索结果;以及 第二结果记录部件,向每个线程分配所述检索结果,使每个线程检测与所述分配的检索结果相关联的比特反转,并且记录检测结果作为元组级的检测结果,其中所述检索结果的数目与所述并行运算单元的数据处理的单位相对应。3.一种数据库处理方法,用在包括并行运算单元的数据库处理设备中,所述方法包括 数据存储步骤,决定与并行运算单元的数据处理的单位相对应的分段长度,以及将包括可变长度数据的元组数据存入列存储数据库中的分段中,并将所述分段的元数据存入所述列存储数据库中的分段报头中;以及 并行运算步骤,当对所述列存储数据库中存储的数据执行处理时,...

【专利技术属性】
技术研发人员:柏木岳彦上村纯平
申请(专利权)人:日本电气株式会社
类型:发明
国别省市:

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

1