CN106528833A - 一种mpp数据库数据动态重分布的方法及装置 - Google Patents
一种mpp数据库数据动态重分布的方法及装置 Download PDFInfo
- Publication number
- CN106528833A CN106528833A CN201611033076.XA CN201611033076A CN106528833A CN 106528833 A CN106528833 A CN 106528833A CN 201611033076 A CN201611033076 A CN 201611033076A CN 106528833 A CN106528833 A CN 106528833A
- Authority
- CN
- China
- Prior art keywords
- data
- redistribution
- spatial cache
- dynamic
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种MPP数据库数据动态重分布的方法及装置,其中,所述方法包括:在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。通过在本地设置缓存,并在重分布时优先使用缓存中的数据。减少MPP数据库集群节点间的通讯,提升本地化运算比例,从而提升集群整体性能。
Description
技术领域
本发明属于数据库技术领域,尤其是涉及一种MPP数据库数据动态重分布的方法及装置。
背景技术
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库的数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。
分布式数据库集群中,为了获得更大的存储容量和更高的并发访问量,通常会将数据分散到各个节点存储,分布方式一般是按照特定的字段进行hash分布建表,当涉及hash键的关联、分组等操作时,只需在本地进行,相当于获得了数倍于单个节点的计算能力。但是当一些sql操作涉及到非hash字段时,如非hash键关联、非hash键group by等操作,会对原表数据或中间结果进行动态重分布,即把一个节点上的数据按一定的规则(如按关联字段hash分布)分发到其他节点,这样就能正确的完成分布式执行计划,随之而来的是通讯开销。
随着数据库处理的数据量越来越大,数据库集群的节点数越来越多,同时数据库支持的业务逻辑也越来越复杂,导致动态重分布的频率和需要处理的数据量都快速增加,大量增加了各节点的网络带宽,增加了通讯开销;同时由于动态重分布过程是各节点间交叉连接,当节点数很多时,每条sql都会在同一节点创建大量的连接,在并行情况下,连接数会更多,资源耗费的情况非常严重。
发明内容
本发明提供了一种MPP数据库数据动态重分布的方法及装置,以解决现有技术中MPP数据库动态重分布资源耗费过多的技术问题。
一方面,本发明实施例提供了一种MPP数据库数据动态重分布的方法,包括:
在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;
判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
进一步的,所述方法还包括:
在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。
进一步的,所述方法还包括:
根据使用概率确定所述重分布数据的权重;
在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
更进一步的,所述在每个节点划分缓存空间,包括:
根据重分布数据的表名和\或库名对所述数据进行标识,并记录所述数据占用空间的大小。
另一方面,本发明实施例还提供了一种MPP数据库数据动态重分布的装置,包括:
划分单元,用于在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;
判断单元,用于判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
进一步的,所述装置还包括:
构建单元,用于在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。
进一步的,所述装置还包括:
权重确定单元,用于根据使用概率确定所述重分布数据的权重;
删除单元,用于在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
更进一步的,所述划分单元用于:
根据重分布数据的表名和\或库名对所述数据进行标识,并记录所述数据占用空间的大小。
本发明实施例提供的MPP数据库数据动态重分布的方法及装置,通过在本地设置缓存,并在重分布时优先使用缓存中的数据。减少MPP数据库集群节点间的通讯,提升本地化运算比例,从而提升集群整体性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的MPP数据库数据动态重分布的方法的流程示意图;
图2是本发明实施例一提供的MPP数据库数据动态重分布的方法中动态重分布示意图;
图3是本发明实施例二提供的MPP数据库数据动态重分布的方法的流程示意图;
图4是本发明实施例三提供的MPP数据库数据动态重分布的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的MPP数据库数据动态重分布的方法的流程图,本实施例可适用于对MPP数据库数据动态重分布的情况,该方法可以由MPP数据库数据动态重分布的装置来执行,该装置可由软件/硬件方式实现,并可集成于MPP数据库系统节点中。
参见图1,所述的MPP数据库数据动态重分布的方法,包括:
S110,在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据。
大规模MPP数据库集群处理的业务通常是不断执行的类似的sql,实际上是做重复的工作,需要处理的数据也基本相同,但每次都需要将数据重新动态重分布一次。示例性的,在各节点上设定一定大小的物理空间,将动态重分布的数据缓存到这块空间上。示例性的,可以设定一块可配的物理空间大小,动态重分布的同时将数据缓存到本地磁盘,并根据表名、库名等信息进行特殊标识
S120,判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
图2是本发明实施例一提供的MPP数据库数据动态重分布的方法中动态重分布示意图,参见图2,示例性的,执行如下sql语句:
sql:select*from t1,t2where t1.no_hash_col=t2.no_hash_col;在有动态重分布的需求时,去缓冲区查看是否有需要的数据,如果有,则直接使用缓冲区里面的数据。
本实施例通过在本地设置缓存,并在重分布时优先使用缓存中的数据。减少MPP数据库集群节点间的通讯,提升本地化运算比例,从而提升集群整体性能。
在本实施例的一个优选实施方式中,所述方法还包括:在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。示例性的,执行sql语句:select*from t2,t3where t2.no_hash_col=t3.no_hash_col;,因为t2的no_hash_col有缓存,因此直接使用缓存结果,不需要动态重分布操作;而t2的no_hash_col没有缓存,需要做动态重分布操作。
实施例二
图3是本发明实施例二提供的MPP数据库数据动态重分布的方法的流程示意图,本发明实施例以上述实施例为基础,进一步的,增加如下步骤:根据使用概率确定所述重分布数据的权重;在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
参见图3,所述MPP数据库数据动态重分布的方法,包括:
S210,在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据。
S220,根据使用概率确定所述重分布数据的权重。
示例性的,可以根据数据特点计算一个权值,同时将占用的空间大小记录下来。或者也可按照一定的算法,根据统计信息,将使用概率比较低的缓存数据设定较低的权值。用户也可以手动控制提高某些数据的缓存优先级,降低某些数据的缓存优先级,已达到更好的优化效果。
S230,在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
当缓存空间不足时,根据权值去做缓存数据的换入换出,优先换出权值低的缓存数据;同时设置命令可以手动缓冲指定中间结果,手动删除指定中间结果。
S240,判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
本实施例通过增加如下步骤:根据使用概率确定所述重分布数据的权重;在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。可以在数据量超过空间大小时,将使用概率比较低的缓存数据清除;可以动态的调整缓存数据,以提高动态重分布数据的命中率。
实施例三
图4是本发明实施例三提供的MPP数据库数据动态重分布的装置的结构示意图,参见图4,所述装置包括:
划分单元310,用于在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;
判断单元320,用于判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
本实施例提供的MPP数据库数据动态重分布的装置,通过在本地设置缓存,并在重分布时优先使用缓存中的数据。减少MPP数据库集群节点间的通讯,提升本地化运算比例,从而提升集群整体性能。
进一步的,所述装置还包括:
构建单元,用于在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。
进一步的,所述装置还包括:
权重确定单元,用于根据使用概率确定所述重分布数据的权重;
删除单元,用于在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
更进一步的,所述划分单元用于:
根据重分布数据的表名和\或库名对所述数据进行标识,并记录所述数据占用空间的大小。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种MPP数据库数据动态重分布的方法,其特征在于,包括:
在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;
判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据使用概率确定所述重分布数据的权重;
在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
4.根据权利要求1所述的方法,其特征在于,所述在每个节点划分缓存空间,包括:
根据重分布数据的表名和\或库名对所述数据进行标识,并记录所述数据占用空间的大小。
5.一种MPP数据库数据动态重分布的装置,其特征在于,包括:
划分单元,用于在每个节点划分缓存空间,所述缓存空间用于缓存重分布数据;
判断单元,用于判断所述缓存空间是否包括动态重分布需求对应的数据,在所述缓存空间包括动态重分布需求对应的数据时,使用所述缓存空间中的所述数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
构建单元,用于在所述缓存空间不包括动态重分布需求对应的数据时,重新构建动态分布拉表。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
权重确定单元,用于根据使用概率确定所述重分布数据的权重;
删除单元,用于在所述重分布数据大于所述缓存空间时,按照所述权重删除重分布数据。
8.根据权利要求5所述的装置,其特征在于,所述划分单元用于:
根据重分布数据的表名和\或库名对所述数据进行标识,并记录所述数据占用空间的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033076.XA CN106528833A (zh) | 2016-11-14 | 2016-11-14 | 一种mpp数据库数据动态重分布的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033076.XA CN106528833A (zh) | 2016-11-14 | 2016-11-14 | 一种mpp数据库数据动态重分布的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106528833A true CN106528833A (zh) | 2017-03-22 |
Family
ID=58356046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611033076.XA Pending CN106528833A (zh) | 2016-11-14 | 2016-11-14 | 一种mpp数据库数据动态重分布的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106528833A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196882A (zh) * | 2019-05-27 | 2019-09-03 | 上海达梦数据库有限公司 | 数据重分布方式的确定方法、装置、服务器及存储介质 |
CN117131078A (zh) * | 2023-10-20 | 2023-11-28 | 天津南大通用数据技术股份有限公司 | 一种基于跨分布模式的关联查询优化方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644083B1 (en) * | 2004-09-30 | 2010-01-05 | Teradata Us, Inc. | Efficiently performing inequality joins |
CN102663117A (zh) * | 2012-04-18 | 2012-09-12 | 中国人民大学 | 面向数据库与Hadoop混合平台的OLAP查询处理方法 |
CN103491187A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 一种基于云计算的大数据统一分析处理方法 |
CN104111958A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团山东有限公司 | 一种数据查询方法及装置 |
CN104361030A (zh) * | 2014-10-24 | 2015-02-18 | 西安未来国际信息股份有限公司 | 一种具有任务分发功能的分布式缓存架构及缓存方法 |
CN105516284A (zh) * | 2015-12-01 | 2016-04-20 | 深圳市华讯方舟软件技术有限公司 | 一种集群数据库分布式存储的方法和装置 |
CN105554069A (zh) * | 2015-12-04 | 2016-05-04 | 国网山东省电力公司电力科学研究院 | 一种大数据处理分布式缓存系统及其方法 |
-
2016
- 2016-11-14 CN CN201611033076.XA patent/CN106528833A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644083B1 (en) * | 2004-09-30 | 2010-01-05 | Teradata Us, Inc. | Efficiently performing inequality joins |
CN102663117A (zh) * | 2012-04-18 | 2012-09-12 | 中国人民大学 | 面向数据库与Hadoop混合平台的OLAP查询处理方法 |
CN104111958A (zh) * | 2013-04-22 | 2014-10-22 | 中国移动通信集团山东有限公司 | 一种数据查询方法及装置 |
CN103491187A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 一种基于云计算的大数据统一分析处理方法 |
CN104361030A (zh) * | 2014-10-24 | 2015-02-18 | 西安未来国际信息股份有限公司 | 一种具有任务分发功能的分布式缓存架构及缓存方法 |
CN105516284A (zh) * | 2015-12-01 | 2016-04-20 | 深圳市华讯方舟软件技术有限公司 | 一种集群数据库分布式存储的方法和装置 |
CN105554069A (zh) * | 2015-12-04 | 2016-05-04 | 国网山东省电力公司电力科学研究院 | 一种大数据处理分布式缓存系统及其方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196882A (zh) * | 2019-05-27 | 2019-09-03 | 上海达梦数据库有限公司 | 数据重分布方式的确定方法、装置、服务器及存储介质 |
CN117131078A (zh) * | 2023-10-20 | 2023-11-28 | 天津南大通用数据技术股份有限公司 | 一种基于跨分布模式的关联查询优化方法 |
CN117131078B (zh) * | 2023-10-20 | 2024-02-06 | 天津南大通用数据技术股份有限公司 | 一种基于跨分布模式的关联查询优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN102521406B (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
US9189506B2 (en) | Database index management | |
JP5577350B2 (ja) | 効率的なデータ同期化のための方法及びシステム | |
CN106874437A (zh) | 面向数据库一体机的内存数据仓库行列存储转换实现方法 | |
CN103020255B (zh) | 分级存储方法和装置 | |
CN107346307A (zh) | 分布式缓存系统及方法 | |
CN104731528B (zh) | 一种云计算块存储服务的构建方法及系统 | |
CN108183947A (zh) | 分布式缓存方法及系统 | |
CN104035925B (zh) | 数据存储方法、装置和存储系统 | |
CN106407308A (zh) | 一种分布式数据库的扩容方法及装置 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN110058822A (zh) | 一种磁盘阵列横向拓展方法 | |
CN107133228A (zh) | 一种数据重分布的方法及装置 | |
CN106534308A (zh) | 一种分布式存储系统中解决数据块访问热点的方法及装置 | |
CN106155934A (zh) | 一种云环境下基于重复数据的缓存方法 | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN107426315B (zh) | 一种基于BP神经网络的分布式缓存系统Memcached的改进方法 | |
CN106528833A (zh) | 一种mpp数据库数据动态重分布的方法及装置 | |
CN107480254B (zh) | 适用于分布式内存数据库的在线负载均衡方法 | |
CN104573112B (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
CN116501249A (zh) | 一种减少gpu内存重复数据读写的方法及相关设备 | |
CN107992358A (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
CN107133183A (zh) | 一种基于tcmu虚拟块设备的缓存数据访问方法及系统 | |
US20180011897A1 (en) | Data processing method having structure of cache index specified to transaction in mobile environment dbms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170322 |