数据库设备的制造方法

文档序号:9326877阅读:326来源:国知局
数据库设备的制造方法
【专利说明】数据库设备
[0001]相关申请的交叉引用
[0002]本申请是基于2014年3月26日提交的日本专利申请N0.2014-063526并且要求其优先权,其公开内容通过引用整体并入文本。
技术领域
[0003]本发明涉及数据库设备、程序和信息处理方法和数据库系统。
【背景技术】
[0004]已知的列存储数据库将数据按列划分并且保存数据。如上所述,在列存储数据库中,数据按列划分并保存。因此,列存储数据库可以快速执行列式的处理,例如,在某个时间在特定列中的值的处理。
[0005]因此,列存储数据库是在列式数据聚集、分析等方面突出的数据库,例如,抽取列并执行聚集。因此,例如,列存储数据库被应用于用户希望在大量数据的批处理的执行中快速进行聚集或连接的情形中。
[0006]列存储数据库的示例是在列基础上排序并存储数据从而提高了诸如引用、聚集或连接的处理的速度的系统。这种排序并存储数据的系统在每个更新进入时,需要在每个列中排序数据。因此,例如,当大量更新命令进入时,系统需要响应于每个命令执行排序。这在系统中导致了由于响应于每个命令的排序执行而性能下降的问题。
[0007]例如,在专利文献I中公开了一种用于解决这种问题的技术的示例。根据专利文献1,在数据添加的执行过程中,先前存储的数据子集的识别值被添加到待被添加的数据的置换值,以及在待被添加的数据子集中包括的每个符号值的识别值。而且,在待被添加的数据子集中包括的符号值的识别值的最大值被设置成待被添加的数据子集的识别值。根据专利文献1,通过这种处理的数据添加使得在不大幅度影响快速读取响应性能的条件下能够对添加做出更快的响应。
[0008]专利文献1:日本未审专利申请公开N0.JP-A 2011-209807。
[0009]然而,取决于列存储数据库的使用,存在其中用户希望适当地排序数据并实现快速引用、聚集和连接的情况。在这种情况下,由于以上述方式排序所导致的上述处理性能下降的问题再次出现。
[0010]此外,针对每列执行排序的列存储数据库的示例是一种系统,其被配置成,当大量数据更新进入时,将更新数据按CPU核的数目划分,以便进行并行处理,并且使得每个线程执行排序。在该系统中,在通过各个线程端的数据处理之后,需要执行诸如将通过各个线程执行的排序结果合并的处理,并且组织指示数据的地址信息。因此,出现了直到通过各个线程端的处理结束的等待,这导致无法充分产生并行化的效果的问题。
[0011]因此,列存储数据库具有当执行数据更新等时无法充分发挥其性能的问题。

【发明内容】

[0012]因此,本发明的目的是提供一种数据库设备,其解决了当执行数据更新等时无法充分发挥其性能的问题。
[0013]为了实现这一目的,根据本发明一个方面的数据库设备是一种包括下列的数据库设备:
[0014]多个数据处理器,其每个执行对被划分成列形式的表列数据的排序处理;
[0015]数据分配器,其根据在获取的表列数据的各个记录中所包含的元素值,将该表列数据的记录分配给数据处理器;以及
[0016]数据存储部,其连接并存储由各个数据处理器所执行的处理的结果,
[0017]其中,多个数据处理器根据在表列数据的各个记录中包含的元素值执行排序处理。
[0018]此外,根据本发明另一方面的程序是包括用于导致信息处理设备实现下列的程序:
[0019]多个数据处理器,其每个执行被划分成列形式的表列数据的排序处理;
[0020]数据分配器,其根据在获取的表列数据的各个记录中包含的元素值将表列数据的记录分配到数据处理器;以及
[0021]数据存储部,其连接并存储由各个数据处理器所执行的处理的结果,
[0022]其中,多个数据处理器根据在表列数据的各个记录中包含的元素值执行排序处理。
[0023]此外,根据本发明另一方面的信息处理方法是包括下列的信息处理方法:
[0024]根据获取的表列数据中的各个记录中包含的元素值将该表列数据的记录分配到多个数据处理器;以及
[0025]使每个所述数据处理器执行对被划分成列形式的表列数据的排序处理,并将由各个数据处理器所执行的处理的结果连接并存储。
[0026]此外,根据本发明另一方面的数据处理系统是包括数据库设备和客户端设备的数据系统,
[0027]数据库设备包括:多个数据处理器,其每个执行对被划分成列形式的表列数据的排序处理;数据分配器,其根据在获取的表列数据的各个记录中包含的元素值将表列数据分配到数据处理器;以及数据存储部,其连接并存储各个数据处理器所执行的处理的结果,其中,多个数据处理器根据在表列数据的各个记录中包含的元素值执行排序处理,以及
[0028]客户端设备将表列数据传输至数据库设备。
[0029]利用如上文所描述的配置,本发明可以提供一种数据库设备,例如,及时在执行大量数据的更新时,也能够充分发挥其处理性能。
【附图说明】
[0030]图1是示出了根据本发明第一示例性实施例的整个数据库系统的配置的框图;
[0031]图2是示出了根据本发明第一示例性实施例的列存储数据库管理系统的配置的框图;
[0032]图3是示出了在图2中所示的查询执行部件33的示例的框图;
[0033]图4是示出了用于描述通过列存储数据库管理系统的处理的更新前数据的示例的表;
[0034]图5是示出了通过图4中所示的表列数据转换而获得的列的示例的表;
[0035]图6是示出了用于描述通过列存储数据库管理系统的处理的更新数据的示例的表;
[0036]图7是示出了用于描述通过列存储数据库管理系统的处理的更新后数据的示例的表;
[0037]图8是用于描述通过列存储数据库管理系统的处理的概况的视图;
[0038]图9是用于具体描述通过列存储数据库管理系统的处理的视图;
[0039]图10是用于具体描述通过列存储数据库管理系统的处理的视图;
[0040]图11是用于具体描述通过列存储数据库管理系统的处理的视图;
[0041]图12是用于具体描述通过列存储数据库管理系统的处理的视图;
[0042]图13是用于具体描述通过列存储数据库管理系统的处理的视图;
[0043]图14是用于具体描述通过列存储数据库管理系统的处理的视图;
[0044]图15是示出了列存储数据库管理系统的操作的示例的流程图;
[0045]图16是描述了线程的操作的流程图;
[0046]图17是示出了涉及本发明的列存储数据库操作的示例的流程图;
[0047]图18是示出了根据本发明第二示例性实施例的列存储数据库管理系统的配置的框图;
[0048]图19是示出了根据本发明第三示例性实施例的数据库设备的配置概况的示意框图;以及
[0049]图20是示出了根据本发明第四示例性实施例的数据库系统的配置概况的示意性框图。
【具体实施方式】
[0050]接下来,将参考附图,具体描述本发明的示例性实施例。
[0051][第一不例性实施例]
[0052]在本发明的第一不例性实施例中,将描述列存储数据库系统I,其以列方向划分表列数据并且存储该数据。如下文将描述,在本示例性实施例中的数据库系统I被配置成,当通过隔夜批处理等执行大量更新时,能够总体上反应用户在某个时间所指定的周期内的更新。此外,在本示例性实施例中的数据库系统I被配置成,当执行数据更新等时,能够通过使用多个CPU执行并行处理。此外,在本示例性实施例中的数据库系统I被配置成,当通过使用多个CPU执行并行处理时,能够导致各个CPU执行高度独立的处理,其将在后文描述。
[0053]参考图1,在本示例性实施例中的数据库系统I具有数据库客户端2 (客户端设备)和列存储数据库管理系统3 (数据库设备)。如在图1中所示的,数据库客户端2和列存储数据库管理系统3经由网络被连接,并且被配置成能够彼此通信。
[0054]在这个示例性实施例中,将描述其中列存储数据库管理系统3包括一个信息处理设备的情况。然而,本发明的实现方式不限于上述情形。列存储数据库管理系统3可以包括多个信息处理设备,与分布式数据库管理系统一样。而且,数据库客户端2和列存储数据库管理系统3不一定经由网络连接。例如,数据库客户端2和列存储数据库管理系统3可以通过一个信息处理设备加以配置。
[0055]数据库客户端2是信息处理设备。数据库客户端2包括中央处理单元(CPU)和存储设备(存储器和硬盘),其未在附图中示出。数据库客户端2被配置成,通过由CPU执行在存储设备中存储的程序,实现下文将描述的功能。
[0056]数据库客户端2具有发出查询的功能,例如,以在列存储数据库管理系统3中插入、更新或删除数据。而且,数据库客户端2具有从列存储数据库管理系统3接受查询结果的功能。因此,数据库客户端2包括用于向列存储数据库管理系统3发出查询的一般功能。
[0057]此外,数据库客户端2具有将作为启动下文描述的更新模式的指令的更新模式启动指令和作为结束更新模式的指令的更新模式结束指令通知给列存储数据库管理系统3的功能。如下文所描述的,当数据库客户端2将更新模式启动指令通知给列存储数据库管理系统3时,列存储数据库管理系统3启动该更新模式。而且,当数据库客户端2将更新模式结束指令通知给列存储数据库管理系统3时,列存储数据库管理系统3结束该更新模式。
[0058]列存储数据库管理系统3是信息处理设备。列存储数据库管理系统3包括中央处理单元(CPU)和存储设备(存储器和硬盘),其未在附图中示出。列存储数据库管理系统3被配置成,通过由CPU执行在存储设备中存储的程序,实现下文描述的功能。
[0059]参考图2,列存储数据库管理系统3具有查询分析器31、执行计划部件32、查询执行部件33、模式管理数据存储区域34 (数据存储部的部分)以及用户数据存储区域35 (数据存储部的部分)。而且,模式管理数据存储区域34具有表定义区域342和表列数据统计信息区域342。此外,用户数据存储区域35具有临时区域351,其具有多个更新部分区域3511 (3511,3512,……和351η ;下文中,当不作区别时,称之为更新部分区域3511),以及表列数据存储区域352。
[0060]查询分析器31具有作为解析器的功能,其检查查询语言的内容,诸如数据库客户端2发出的SQL(结构化查询语言)并且执行解析。具体而言,查询分析器31接收由数据库客户端2传输的查询(SQL语句)。随后,查询分析器31执行接收的SQL语句的解析。然后,查询分析器31将解析结果传输至执行计划部件32。
[0061]执行计划部件32具有作为计划器的功能,其确定用于执行查询分析器31所分析的查询的最有效率的顺序和方法,并且产生用于其的执行计划。在从查询分析器31接收了解析结果之后,执行计划部件32基于接收的结果,产生执行计划。然后,执行计划部件32将产生的执行计划传输至查询执行部件33。
[0062]同时,当通过使用API (应用编程接口
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1