一种分布式数据库数据的分片方法及装置制造方法及图纸

技术编号:14494616 阅读:139 留言:0更新日期:2017-01-29 17:28
本发明专利技术提供了一种分布式数据库数据的分片方法及装置,其中,所述方法包括:确定安全组内节点的数量;确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量;根据所述节点和数据分片的数量部署数据分片。通过根据所安全组内节点和数据分片的数量部署数据分片,当安全组内存在机器损坏时,可以由当前安全组内的多台机器来承担损坏机器的访问压力,避免了访问压力由单台机器承担,避免了短板效应的出现,此外还具有较强的容错能力,还可实现负载均衡。

【技术实现步骤摘要】

本专利技术属于分布式数据库
,尤其是涉及一种分布式数据库数据的分片方法及装置
技术介绍
在当代社会,数据库已经变得异常重要,在各行各业都会找到利用数据库去存储数据的例子。随着大数据与云计算时代的到来以及人们对于大数据的需求越发迫切,传统的单机数据库系统已经无法满足客户的需求。传统的单机数据库无法完成海量数据的计算与存储,因此,分布式数据库得到了前所未有的发展。而随着分布式存储技术、高速网络传输技术以及并行计算等高新技术的发展与成熟,分布式数据库已经成为了数据库行业的霸主。分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库的数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算。分布式数据库需要将用户数据根据某种数据分布算法存储数据库的各个工作机器中,许多业界知名的公司都有比较知名的分布式数据库产品,例如Google、Amazon等知名公司的分布式存储系统就是将数据分成许多数据块,将数据块已经数据块的备份块分布到数据库集群中的各个节点去存储与计算。分布式数据库在部署数据分片或者数据块时,需要考虑很多因素,包括:如何保证负载均衡,如果保证高可用性,如何保证灵活可扩展性,以及在发生机器故障的时候如果保证负载均衡,避免其他机器压力过大造成其他机器在短时间内发生故障。分布式数据库的数据分片部署方式,业界有很多产品都是采用多备份的方式,但是这些方式无法同时保证灵活可扩展性、高可靠性与负载均衡等关键特性。因此,对于分布式数据库产品来说,如何同时保证这些特性是分片部署领域需要研究的关键点。
技术实现思路
本专利技术提供了一种分布式数据库数据的分片方法及装置,以实现数据分片部署具有灵活可扩展性、高可靠性与负载均衡特性的技术目的。一方面,本专利技术实施例提供了一种分布式数据库数据的分片方法,包括:确定安全组内节点的数量;确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量;根据所述节点和数据分片的数量部署数据分片。进一步的,所述每个安全组的节点数量与节点中数据分片的数量差值为一。进一步的,所述根据所述节点和数据分片的数量部署数据分片,包括:将数据分片和所述数据分片对应的备份分片分布在不同的节点中。进一步的,所述根据所述节点和数据分片的数量部署数据分片,包括:同一节点中只包括同一数据分片的一个备份分片。更进一步的,所述根据所述节点和数据分片的数量部署数据分片,包括:按照预设的排序算法署数据分片。另一方面,本专利技术实施例提供了一种分布式数据库数据的分片装置,包括:节点确定单元,用于确定安全组内节点的数量;分片确定单元,用于确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量;部署单元,用于根据所述节点和数据分片的数量部署数据分片。进一步的,所述每个安全组的节点数量与节点中数据分片的数量差值为一。进一步的,所述部署单元用于:将数据分片和所述数据分片对应的备份分片分布在不同的节点中。进一步的,所述部署单元用于:同一节点中只包括同一数据分片的一个备份分片。更进一步的,所述部署单元用于:按照预设的排序算法部署数据分片。本专利技术实施例通过根据所安全组内节点和数据分片的数量部署数据分片,当安全组内存在机器损坏时,可以由当前安全组内的多台机器来承担损坏机器的访问压力,避免了访问压力由单台机器承担,避免了短板效应的出现,此外还具有较强的容错能力,还可实现负载均衡。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的分布式数据库数据的分片方法的流程示意图;图2是本专利技术实施例二提供的分布式数据库数据的分片方法的流程示意图;图3是本专利技术实施例三提供的分布式数据库数据的分片装置的结构示意图。具体实施方式为了更好的理解本专利技术,下面结合具体实施例和附图对本专利技术进行进一步的描述。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1为本专利技术实施例一提供的分布式数据库数据的分片方法的流程图,本实施例可适用于在分布式数据库中对数据分片进行布置的情况,该方法可以由分布式数据库数据的分片装置来执行,该装置可由软件/硬件方式实现,并可集成于分布式数据库系统的管理节点中。参见图1,所述分布式数据库数据的分片方法,包括:S110,确定安全组内节点的数量。分布式数据库集群可划分为多个安全组,每个安全组内包含多个节点。在划分时,通过管理节点获取安全组内的节点的数量。S120,确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量。每个节点可以存储多个数据分片,通过管理节点中的元数据表可获取每个节点存储的数据分片的数量。其中,每个节点所存储的数据分片可以有不超过节点所属安全组内机器数目的备份分片。S130,据所述节点和数据分片的数量部署数据分片。每一个数据分片与其备份分片不在一台机器中,同时每一个数据分片的备份分片之间也互相不在一台机器中并且尽可能的分散数据库节点中的数据分片的备份分片到当前安全组内的不同机器中;当安全组内存在机器损坏时,可以由当前安全组内的多台机器来承担损坏机器的访问压力,避免了访问压力由单台机器承担,避免了短板效应的出现。优选的,在每一个安全组内,每一个数据分片与其备份分片不在一台机器中,同时每一个数据分片的备份分片之间也互相不在一台机器中并且尽可能的分散数据库节点中的数据分片的备份分片到当前安全组内的不同机器中具体为:为了保证出现机器或者数据分片损坏时,损坏的数据分片的备份分片仍然可用,因此数据分片与其备份分片不可放到同一台机器中,同理同一数据分片的多个备份分片也不可放到同一台机器中,以防容错能力减弱。优选的,当安全组内存在机器损坏时,可以由当前安全组内的多台机器来承担损坏机器的访问压力,避免了访问压力由单台机器承担具体为:若在某个安全组内发生了小于N台机器损坏时,由当前安全组内的多台机器来承担损坏机器的负载,因为损坏机器中的数据分片的备份分片会被专利技术中的算法分布到安全组内的各个机器中。当发生了机器损坏时,由安全组内其他机器来共同承担损坏机器的访问负载,防止了出现单台机器负载过大的情况导致的短时间内更多的机器损坏。可以极大限度的保护安全组内的机器,保证发生机器损坏时其他的正常机器不会因为承担过大压力造成短时间内也损坏,避免了短板效应的发生。本实施例通本文档来自技高网
...
一种分布式数据库数据的分片方法及装置

【技术保护点】
一种分布式数据库数据的分片方法,其特征在于,包括:确定安全组内节点的数量;确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量;根据所述节点和数据分片的数量部署数据分片。

【技术特征摘要】
1.一种分布式数据库数据的分片方法,其特征在于,包括:确定安全组内节点的数量;确定每个节点中数据分片的数量,其中,每个节点中数据分片的数量不大于所述安全组内节点的数量;根据所述节点和数据分片的数量部署数据分片。2.根据权利要求1所述的方法,其特征在于,所述每个安全组的节点数量与节点中数据分片的数量差值为一。3.根据权利要求1所述的方法,其特征在于,所述根据所述节点和数据分片的数量部署数据分片,包括:将数据分片和所述数据分片对应的备份分片分布在不同的节点中。4.根据权利要求3所述的方法,其特征在于,所述根据所述节点和数据分片的数量部署数据分片,包括:同一节点中只包括同一数据分片的一个备份分片。5.根据权利要求1-4任一所述的分片方法,其特征在于,所述根据所述节点和数据分片的数量部署数据分片,包括:按照预...

【专利技术属性】
技术研发人员:崔维力武新宋永智王茂星
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

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

1