[发明专利]跨节点的晚期物化方法和装置有效
| 申请号: | 201410796561.7 | 申请日: | 2014-12-18 |
| 公开(公告)号: | CN104462479B | 公开(公告)日: | 2017-11-24 |
| 发明(设计)人: | 周平高 | 申请(专利权)人: | 杭州华为数字技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
| 代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 杨贝贝,黄健 |
| 地址: | 310053 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 节点 晚期 物化 方法 装置 | ||
技术领域
本发明实施例涉及数据库技术,尤其涉及一种跨节点的晚期物化方法和装置。
背景技术
众所周知,数据库的主要用途是为用户提供数据存储和检索数据,因此密集型磁盘输入输出(Input/Output,以下简称I/O)是数据库引擎的一大特点,这里的磁盘I/O指的是将数据从磁盘写入内存或者将数据从内存写入磁盘的操作。而完成磁盘I/O操作要消耗许多资源并且耗时较长,所以数据库一般侧重于提高I/O效率,减少I/O访问。通过数据库检索数据时,物理机需要将磁盘的数据读入到内存中,这个过程称之为物化。在得到同样正确结果的前提下,物化越少的数据,系统的I/O压力越少,占用的内存越少,查询速度越快。
为了减少物化的数据,现有技术中提供了一种晚期物化技术(Late Materialization),该晚期物化技术是物化的一种算法,这种算法将物化分散在数据处理过程中,因为在此过程中存在数据投影和过滤操作,即将不需要物化的数据过滤掉,因此能够大大降低某些数据需要物化的概率,减小I/O读取量,节省了内存资源。该物化技术主要是基于单机数据库检索的背景下考虑的。
但是,若采用现有技术的方法,对于集群数据库中数据的检索,由于数据需要在不同的节点(即进程)之间流动,这些流动的数据在跨节点的时候会被全部物化(这些流动的数据与下一个节点之间具有一定的关联关系)。也就是说,在跨节点时,前一个节点会将流动的数据全部从其对应的磁盘中读入内存,然后将这些全部被物化的数据发给下一个节点,下一个节点仍需要进一步对这些物化的数据进行过滤。也就是说,这个过程中传送了一些无用的数据,故使得整个集群的网络传输量以及内存的使用量增大,造成了资源的浪费,且影响系统的可靠性。
发明内容
本发明实施例提供一种跨节点的晚期物化方法和装置,用以解决现有技术中在跨节点检索集群数据库中的数据时,节点之间传送无用的数据造成的网络传输量以及内存的使用量增大,从而使得资源浪费的技术问题。
第一方面,本发明提供一种跨节点的晚期物化方法,应用于集群数据库系统,所述集群数据库系统包括多台物理机,所述物理机包括多个节点,所述方法包括:
获取第一节点中数据的第一元组信息;其中,所述第一元组信息用于指示所述数据与存储所述数据的所述第一节点之间的映射关系,以及,所述数据存储在所述第一节点中的列;所述第一节点为所述多个节点中的任一个节点;
根据所述第一元组信息确定所述数据中的第一数据为与所述第一节点预设的第一过滤条件匹配的数据,并确定所述数据中的第二数据为与第二节点预设的第二过滤条件匹配的数据;所述第二节点为所述多个节点中除所述第一节点之外的任一节点;
根据所述第一元组信息对所述第一数据和所述第二数据分别进行物化,并将物化后的第二数据输出至所述第二节点,通过所述第二节点处理物化后的第二数据。
结合第一方面,在第一方面的第一种可能的实施方式中,所述第一元组信息包括列标识和节点标识,所述节点标识用于指示存储所述数据的节点为第一节点,所述列标识用于指示所述第一节点中存储所述数据的列。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述根据所述第一元组信息确定所述数据中的第二数据为与第二节点预设的第二过滤条件匹配的数据,具体包括:
根据预设条件将所述第一元组信息中与所述预设条件匹配的第二元组信息输出至第二节点;其中,所述第二元组信息对应的数据为与所述第二节点具有关联关系的第三数据;所述第二元组信息中的节点标识用于指示存储所述第三数据的节点为第一节点,所述第二元组信息中的列标识用于指示所述第三数据存储在所述第一节点中的列;
接收所述第二节点返回的第三元组信息,所述第三元组信息为所述第二节点从所述第二元组信息中确定的与所述第二过滤条件匹配的元组信息;所述第三元组信息中的节点标识用于指示存储所述第二数据的节点为第一节点,所述第三元组信息中的列标识用于指示所述第二数据存储在所述第一节点中的列;
根据所述第三元组信息从所述第三数据中确定所述第二数据。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述根据所述第一元组信息对所述第二数据进行物化,并将物化后的第二数据输出至所述第二节点,具体包括:
根据所述第三元组信息中的节点标识和所述第三元组信息的列标识将所述第二数据从所述第一节点对应的磁盘写入所述内存,并将写入所述内存的第二数据输出至所述第二节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华为数字技术有限公司,未经杭州华为数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410796561.7/2.html,转载请声明来源钻瓜专利网。





