CN106776001A - 一种分布式数据库集群数据的分布方法及装置 - Google Patents

一种分布式数据库集群数据的分布方法及装置 Download PDF

Info

Publication number
CN106776001A
CN106776001A CN201611029645.3A CN201611029645A CN106776001A CN 106776001 A CN106776001 A CN 106776001A CN 201611029645 A CN201611029645 A CN 201611029645A CN 106776001 A CN106776001 A CN 106776001A
Authority
CN
China
Prior art keywords
node
hash
data
distributed
distribution
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
Application number
CN201611029645.3A
Other languages
English (en)
Inventor
崔维力
武新
张绍勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Original Assignee
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd filed Critical TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Priority to CN201611029645.3A priority Critical patent/CN106776001A/zh
Publication of CN106776001A publication Critical patent/CN106776001A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种分布式数据库集群数据的分布方法及装置,其中,所述方法包括:在集群节点安装时,获取所述节点的硬件信息;配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。可灵活的调整节点哈希桶的数量,能够保证高硬件资源的节点分配更多的数据,避免了节点运算的木桶效应。

Description

一种分布式数据库集群数据的分布方法及装置
技术领域
本发明属于数据库技术领域,尤其是涉及一种分布式数据库集群数据的分布方法及装置。
背景技术
分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库的数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。
在客户的业务场景中,当初始安装集群时,如果集群节点的硬件资源不对等,或者当安装完集群后需要进行节点替换时,当替换的新节点和原有集群节点的硬件资源不对等时,或者到进行集群扩容时,新的扩容的节点的硬件资源和原集群节点资源不对等时,当前版本的集群进行数据分布时采用一致性的hash方式来分布数据时把节点对等看待,保证了节点数据是均匀的,但节点的硬件资源的不对等导致了节点运算的木桶效应。目前市场上主流的分布式数据库系统vertica,GreepPlum一般也是采用一致性的hash方式来分布集群中的数据,经过hash分布的表,在初始安装,节点替换和扩容时,按照以上方式导致当集群中的物理节点的硬件配置即使不同时,采用一致性的hash方式来分布数据把节点对等看待,因此无论集群中硬件配置高的物理节点,还是集群中硬件配置低的物理节点都分配到了基本相当的数据量,带来的问题是硬件配置低的物理节点成为了系统性能的瓶颈。
发明内容
本发明实施例提供了一种分布式数据库集群数据的分布方法及装置,以解决现有技术中集群节点的硬件资源的不对等导致了节点运算的木桶效应。的技术问题。
一方面,本发明实施例提供了一种分布式数据库集群数据的分布方法,包括:
在集群节点安装时,获取所述节点的硬件信息;
配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
进一步的,所述方法还包括:
在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
进一步的,所述方法还包括:
在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
更进一步的,所述根据所述增加的节点的硬件信息分配哈希桶,包括:
移动变更哈希桶的节点的部分数据至所述增加的节点。
另一方面,本发明实施例提供了一种分布式数据库集群数据的分布装置,包括:
获取单元,用于在集群节点安装时,获取所述节点的硬件信息;
分配单元,用于配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
进一步的,所述装置还包括:
调整单元,用于在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
进一步的,所述装置还包括:
再分配单元,用于在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
更进一步的,所述再分配单元用于:
移动变更哈希桶的节点的部分数据至所述增加的节点。
本发明实施例提供的分布式数据库集群数据的分布方法及装置,通过根据分布式数据库集群节点的硬件配置哈希地图,并可灵活的调整节点哈希桶的数量,能够保证高硬件资源的节点分配更多的数据,避免了节点运算的木桶效应。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的分布式数据库集群数据的分布方法的流程示意图;
图2是本发明实施例二提供的分布式数据库集群数据的分布方法的流程示意图;
图3是本发明实施例三提供的分布式数据库集群数据的分布方法的流程示意图;
图4是本发明实施例四提供的布式数据库集群数据的分布装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的分布式数据库集群数据的分布方法的流程图,本实施例可适用于对集群中的数据进行分布的情况,该方法可以由分布式数据库集群数据的分布装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的管理节点中。
参见图1,所述分布式数据库集群数据的分布的方法,包括:
S110,在集群节点安装时,获取所述节点的硬件信息。
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库。每个计算机系统的硬件配置可能相同,也可能不同。在本实施例中,可以将分布式数据库系统的节点分为三类,分别为低硬件资源的节点,中硬件资源的节点,高硬件资源的节点。在创建分布式数据库时,对集群中每个节点进行安装,在进行安装时,可以通过网络和相应的指令获取每个节点的硬件信息。所述硬件信息可以包括:CPU频率、内存大小和硬盘大小等。
S120,配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
在节点硬件信息缺省情况下,各个节点所分配到的hash桶是均匀的,因此保证了各个节点所分配的数据是均匀的,但如果节点本身的硬件资源不均等时,如果数据分配是均匀的,反而造成了节点运算的木桶效应。在集群节点安装完成后,配置集群的hashmap。高硬件资源的节点分配更多的hash桶,其次是中硬件资源的节点,最后是低硬件资源的节点,按此方式自动产生hashmap。其中,hash map是hash值和节点的对应关系。哈希桶通常容量是固定值,即能处理固定次数的冲突。由此可以看出,哈希桶的容量与节点运算处理能力相关。所以,需要根据所述节点的硬件信息为每个节点分配哈希桶。当数据进行分布时,能够保证高硬件资源的节点分配更多的数据,其次是中硬件资源的节点,最后是低硬件资源的节点,按照该种方式避免了节点运算的木桶效应。缺省情况下,各个节点所分配到的hash桶是均匀的。根据hash map对数据进行分布。即在数据进行分布时,首先计算数据的hash值,根据hashmap中的hash值取得该hash值所对应的节点进行数据的分布。
本实施例通过根据分布式数据库集群节点的硬件配置哈希地图,并可灵活的调整节点哈希桶的数量,能够保证高硬件资源的节点分配更多的数据,避免了节点运算的木桶效应。
实施例二
图2是本发明实施例二提供的分布式数据库集群数据的分布的方法的流程示意图,本发明实施例以上述实施例为基础,进一步的,所述方法还包括:在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
参见图2,所述分布式数据库集群数据的分布的方法,包括:
S210,在集群节点安装时,获取所述节点的硬件信息。
S220,配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
S230,在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
集群中的硬件资源进行调整时,可以调整该hashmap中该节点所对应的hash桶,并对调整所涉及到的hash桶所对应的节点的数据重新进行分布
本实施例通过增加如下步骤:在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。可以在集群中的硬件资源进行调整时,可以调整该hashmap中该节点所对应的hash桶,并对调整所涉及到的hash桶所对应的节点的数据重新进行分布
实施例三
图3是本发明实施例二提供的分布式数据库集群数据的分布的方法的流程示意图,本发明实施例以上述实施例为基础,进一步的,所述方法还包括:在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
参见图3,所述分布式数据库集群数据的分布的方法,包括:
S310,在集群节点安装时,获取所述节点的硬件信息。
S320,配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
S330,在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
在所述集群进行扩容时,常规情况下新扩容的节点的硬件资源一般高于原集群中的节点,因此对扩容后的集群可以建立新的hashmap,新hashmap中,新扩容的节点可以分配更多的hash桶,来达到新节点可以分布更多数据的目的。
本实施例通过增加如下步骤:在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。可以使得新扩容的节点可以分配更多的hash桶,来达到新节点可以分布更多数据的目的。
在本实施例的一个优选实施方式中,将根据所述增加的节点的硬件信息分配哈希桶,具体优化为:移动变更哈希桶的节点的部分数据至所述增加的节点。重新调整hashmap后,对涉及到hash桶变更后的集群中原有节点进行数据重分布,移动hash桶变更的节点的部分数据到新扩容的节点上。可以保证新扩容的节点分布更多的数据。
实施例四
图4是本发明实施例四提供的分布式数据库集群数据的分布装置的结构示意图,如图4所示,所述装置包括:
获取单元410,用于在集群节点安装时,获取所述节点的硬件信息;
分配单元420,用于配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
进一步的,所述装置还包括:
调整单元,用于在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
进一步的,所述装置还包括:
再分配单元,用于在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
更进一步的,所述再分配单元用于:
移动变更哈希桶的节点的部分数据至所述增加的节点。
本实施例提供的分布式数据库集群数据的分布装置,通过根据分布式数据库集群节点的硬件配置哈希地图,并可灵活的调整节点哈希桶的数量,能够保证高硬件资源的节点分配更多的数据,避免了节点运算的木桶效应。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种分布式数据库集群数据的分布方法,其特征在于,包括:
在集群节点安装时,获取所述节点的硬件信息;
配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
4.根据权利要求3所述的方法,其特征在于,所述根据所述增加的节点的硬件信息分配哈希桶,包括:
移动变更哈希桶的节点的部分数据至所述增加的节点。
5.一种分布式数据库集群数据的分布装置,其特征在于,包括:
获取单元,用于在集群节点安装时,获取所述节点的硬件信息;
分配单元,用于配置所述集群的哈希地图Hash Map,并根据所述节点的硬件信息为每个节点分配哈希桶。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
调整单元,用于在所述节点的硬件配置发生变化时,根据所述变化调整所述节点的哈希桶。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
再分配单元,用于在所述集群增加节点时,建立新的Hash Map,并根据所述增加的节点的硬件信息分配哈希桶。
8.根据权利要求7所述的装置,其特征在于,所述再分配单元用于:
移动变更哈希桶的节点的部分数据至所述增加的节点。
CN201611029645.3A 2016-11-14 2016-11-14 一种分布式数据库集群数据的分布方法及装置 Pending CN106776001A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611029645.3A CN106776001A (zh) 2016-11-14 2016-11-14 一种分布式数据库集群数据的分布方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611029645.3A CN106776001A (zh) 2016-11-14 2016-11-14 一种分布式数据库集群数据的分布方法及装置

Publications (1)

Publication Number Publication Date
CN106776001A true CN106776001A (zh) 2017-05-31

Family

ID=58971640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611029645.3A Pending CN106776001A (zh) 2016-11-14 2016-11-14 一种分布式数据库集群数据的分布方法及装置

Country Status (1)

Country Link
CN (1) CN106776001A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108319701A (zh) * 2018-02-05 2018-07-24 丁武轩 地图数据综合处理方法
CN111240577A (zh) * 2018-11-28 2020-06-05 中国移动通信集团山东有限公司 基于mpp数据库的数据多分片存储方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882973A (zh) * 2012-10-11 2013-01-16 北京邮电大学 基于p2p技术的分布式负载均衡系统和方法
CN103905503A (zh) * 2012-12-27 2014-07-02 中国移动通信集团公司 数据存取方法、调度方法、设备及系统
CN103929500A (zh) * 2014-05-06 2014-07-16 刘跃 一种分布式存储系统的数据分片方法
CN104270402A (zh) * 2014-08-25 2015-01-07 浪潮电子信息产业股份有限公司 一种异构集群存储自适应数据负载的方法
CN104484469A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种支持多hash map数据库集群系统不停机的扩容方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882973A (zh) * 2012-10-11 2013-01-16 北京邮电大学 基于p2p技术的分布式负载均衡系统和方法
CN103905503A (zh) * 2012-12-27 2014-07-02 中国移动通信集团公司 数据存取方法、调度方法、设备及系统
CN103929500A (zh) * 2014-05-06 2014-07-16 刘跃 一种分布式存储系统的数据分片方法
CN104270402A (zh) * 2014-08-25 2015-01-07 浪潮电子信息产业股份有限公司 一种异构集群存储自适应数据负载的方法
CN104484469A (zh) * 2014-12-31 2015-04-01 天津南大通用数据技术股份有限公司 一种支持多hash map数据库集群系统不停机的扩容方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108319701A (zh) * 2018-02-05 2018-07-24 丁武轩 地图数据综合处理方法
CN108319701B (zh) * 2018-02-05 2020-09-15 北京纬思拓信息科技有限公司 地图数据综合处理方法
CN111240577A (zh) * 2018-11-28 2020-06-05 中国移动通信集团山东有限公司 基于mpp数据库的数据多分片存储方法及装置
CN111240577B (zh) * 2018-11-28 2023-08-15 中国移动通信集团山东有限公司 基于mpp数据库的数据多分片存储方法及装置

Similar Documents

Publication Publication Date Title
CN105516367B (zh) 分布式数据存储系统、方法和装置
CN107102824B (zh) 一种基于存储和加速优化的Hadoop异构方法和系统
CN103473365B (zh) 一种基于hdfs的文件存储方法、装置及分布式文件系统
CN104615606A (zh) 一种Hadoop分布式文件系统及其管理方法
CN104462185B (zh) 一种基于混合结构的数字图书馆云存储系统
US9703834B2 (en) Topological query in multi-tenancy environment
US9304996B2 (en) Dynamic data access and storage
CN106407308A (zh) 一种分布式数据库的扩容方法及装置
CN109766349A (zh) 任务防重方法、装置、计算机设备及存储介质
CN105531688A (zh) 提供作为其它服务的资源的服务
CN103336792A (zh) 数据分区方法和装置
CN107480041A (zh) 一种大数据的任务自动化测试方法和系统
CN105210059B (zh) 一种数据处理方法及系统
CN112612541A (zh) 一种配置文件的管理方法及装置
CN111159140A (zh) 数据处理方法、装置、电子设备及存储介质
CN105915626B (zh) 一种面向云存储的数据副本初始放置方法
CN115129768A (zh) 一种分布式搜索引擎的节点扩容的方法
CN106776001A (zh) 一种分布式数据库集群数据的分布方法及装置
CN104461736B (zh) 资源分配与搜索方法、资源分配与搜索系统和云服务器
CN108833592A (zh) 云主机调度器优化方法、装置、设备及存储介质
Lwin et al. Non-redundant dynamic fragment allocation with horizontal partition in Distributed Database System
CN109150964A (zh) 一种可迁移的数据管理方法及服务迁移方法
US9239852B1 (en) Item collections
JP2021009589A (ja) マイクロサービス分割装置およびマイクロサービス分割プログラム
CN109582461A (zh) 一种针对Linux容器的资源部署方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170531

WD01 Invention patent application deemed withdrawn after publication