一种分布式存储系统及其更新和查询方法技术方案

技术编号:8563095 阅读:285 留言:0更新日期:2013-04-11 04:48
本发明专利技术提供了一种分布式存储系统,所述的存储系统包括由至少一个节点组成的安全组(SafeGroup),所述的节点用以保存数据,所述的节点可以保存同一安全组(SafeGroup)内其它节点的副本。此外,本发明专利技术还提供了针对于此分布式存储系统的更新和查询方法。本发明专利技术的有益效果是使得系统具有高可用性、高查询并行度、和大数据容量的管理和扩展能力,并能够有效降低管理和维护成本。

【技术实现步骤摘要】

本专利技术属于数据存储领域,尤其是涉及ー种具备高可用性的分布式存储系统。
技术介绍
面对数据量爆发性的增长,当前的数据库技术还存在很多迫切需要解决的技术问题。对于数据库而言,记录正确的处理结果只是最基本的要求,在这之外,数据库还要做到如何提高处理速度,数据的可用性,数据的安全性和数据集的扩张性。大数据对以上四方面提出了更高的要求。根据物理法则,提高冗余度是提高数据可用性的唯一途径。目前主要是通过硬件级别的冗余,通讯链路级的冗余,软件的冗余和数据冗余。为提高高可用性常常使用数据冗余的实现方法。传统的数据冗余方案有以下几种,各有不足之处1、通过数据复制,所有目前的数据复制技术(同步或异歩),例如磁盘镜像(EMC的TimeFinder系列)、数据库文件复制(如DoubleTake, Veritas and Legato)以及数据库厂商自带的数据库备份工具都只能产生被动复制数据集。通常,为了实现复制功能,需要消耗掉主服务器5% (异步)到30% (同歩)的处理能力。被动更新的数据一般只用于灾难恢复。被动更新数据集还有两个致命的问题一旦主处理机故障造成数据损坏,被动更新的数据集也会被破坏。这种方法容易使系统处于单节点危险的时间增长,并且降低了系统的利用率。2、整机备份的双机热备。这种方式在任何时刻都是一台服务器在运行,虽然系统的响应速度没有降低,但是系统的利用率却下降了 50%。3、异步主动复制数据集这种技术是先把事务处理交给主服务器来完成,然后这些事务处理再被串行地交给备份服务器以执行同样的操作来保证数据的一致性。这种技术生成的数据集和主数据集有一个时间差,所以仅适用于灾难恢复、数据挖掘、报表统计以及有限的在线应用。所有的商用数据库都支持异步主动复制技木。这种办法的难度在于复制队列的管理上,这个队列是用来屏蔽主服务器和备份服务器之间的速度差异的。因为主服务器可以尽可能地利用所有软硬件的并发性来处理并发的事务,而备份服务器只能串行地复制,在高负荷事务处理的情况下,复制队列经常可能溢出。因为没有任何办法来控制事务处理请求的速度,在高负荷事务处理的情况下,复制队列只能经常性地重建。4、同步主动复制数据集这种技术要求所有的并发事务处理在所有的数据库服务器上同时完成。ー个直接的好处就是没有了队列的管理问题,同时也可以通过负载均衡实现更高的性能和更高的可用性。这种技术也有两种完全不同的实现方法完全串行化和动态串行化。完全串行化的事务处理来自于主数据库的事务处理引擎,RAC, UDB, MSCS (SQLServer2005)和ASE是用完全串行化并结合两阶段提交协议来实现的,这种设计的目标就是为了获得ー份可用于快速灾难恢复的数据集。这种系统有两个关键的问题。第一,两阶段提交协议是ー种“ALL OR NOTHING”的协议。仔细研究两阶段提交协议后就能发现,为了获取这备份数据集,事务处理的可用性会降低一半。第二,完全串行化的做法又引进了主-从数据库服务器速度不匹配的问题。強制同步造成整个系统的速度被降低到完全串行化的水平。
技术实现思路
本专利技术要解决的问题是提供ー种分布式存储系统,尤其适合大容量数据的高可用性存储。为解决上述技术问题,本专利技术采用的技术方案是ー种分布式存储系统,所述的存储系统包括由至少ー个节点组成的安全组(Saf eGr oup ),所述的节点用以保存数据。进ー步的,所述的节点可以保存同一安全组(SafeGroup)内其它节点的副本。进ー步的,所述的副本为镜像备份。进ー步的,所述的同一安全组(SafeGroup)内所有节点都保存相同的片数据。进ー步的,所述的节点按自己的节点编号选择同样编号的分片的片数据为自身节点的主数据。进ー步的,所述的各节点上的数据上都有各自的系统全局的事务编号。根据本专利技术的另ー个方面,本专利技术还提供了ー种分布式存储系统的查询方法,包括将查询请求发送给系统;发起节点根据查询请求以及系统中可用节点的情况生成查询计划;发起节点将查询计划发送到系统中的每个可用节点;每个可用节点各自运算该节点内的主数据;每个可用节点将运算结果返回发起节点进行汇总。根据本专利技术的另ー个方面,本专利技术还提供了ー种分布式存储系统的更新方法,包括为系统加分布式锁;申请系统全局事务编号,再把更新请求发送到主分片及所有镜像分片所在的节点;各节点更新自己的分片,并对新加入的数据打上全局事务编号标记;最后释放分布式锁。由于采用上述技术方案,使得单个节点各自操作自己的数据,可充分利用节点各自的处理能力。从而使得系统具有高可用性、高查询并行度、和大数据容量的管理和扩展能力,由于数据副本的粒度与硬件自然分布的粒度相同,因而并能够有效降低管理和维护成本。附图说明图1是本专利技术ー种分布式存储系统的ー个实施例的示意2是本专利技术的一个实施例中ー个安全组(SafeGroup)中各节点存储数据示意图具体实施例方式图1为本专利技术的一个实施例的示意图,由图1可以看出,该实施例包括三个安全组,每个安全组各包括三个节点,其中每个节点都具备一定的事务处理能力,每个系统中的节点都可以通过网络或者其它方式互相连接,可以通过网络或者其它连接方式互相访问。每个安全组(SafeGroup )也互相连接,也可以互相访问。图2为实施例中某一安全组(SafeGroup)中所包括的三个节点中所存储的内容的示意图,由图2可以看出,每个节点除了存储有自身的数据以外,还保存有本系统中其它节点的镜像数据,并且存储的内容相同。本实施例的元数据包括系统中所有可用节点的列表,以及所有节点与其所在安全组之间的对应关系表,以及当前最大全局事务编号。相对于Hadoop HDFS(—种分布式文件系统),本实施例的数据副本以节点为粒度;而HDFS的数据副本以分块(一般64MB为ー个数据块)为粒度。正因为如此,HDFS的元数据需要管理所有数据块及其副本与其所在节点的对应关系,当HDFS管理的数据规模很大时,其元数据的规模也相当可观。因而,HDFS在管理元数据时的代价较高,系统扩容、缩容及数据重分布时,需要迁移和修改大量元数据。本实施例中,由于数据副本粒度和系统物理上部署的粒度相同(节点级),无需存储任何数据与节点的对应关系,因而元数据十分简单。系统扩容、缩容以及数据重分布时,仅需修改节点列表、节点和安全组对应关系表,元数据维护代价极大降低。同吋,轻量级的元数据,使本实施例的元数据管理策略既能适应带内式部署,也可以适应带外式部署;而对于公知方案(如HDFS)来说,过于重量级的元数据几乎限定了其部署方式只能采取带外式元数据管理方案。本实施例通过Paxos协议的ー种开源实现(TOTEM : —种基于令牌环的通讯及分布式一致性协议)来实现分布式锁、以及元数据的同歩。本实施例能够有效降低方案管理和维护成本。在做分布式查询计划时,不需要像Hadoop那样,从元数据服务器上获取数据位置,而只需简单的将同样的查询计划发送到一个安全组里的所有节点,它们各自运算其中一部分数据即可,不存在元数据服务器的单点瓶颈问题。本实施例在更新数据时,先加分布式锁,并获取全局事务编号,再将更新请求发送至需更新的数据分片及其镜像分片所在的相应节点。各节点并行执行更新操作,并为本次更新的数据设置全局事务编号标记。如果某个节点的更新操作失败,则本文档来自技高网
...

【技术保护点】
一种分布式存储系统,其特征在于:所述的存储系统包括由至少一个节点组成的安全组(SafeGroup),所述的节点用以保存数据。

【技术特征摘要】
1.一种分布式存储系统,其特征在于所述的存储系统包括由至少一个节点组成的安全组(SafeGroup),所述的节点用以保存数据。2.根据权利要求1所述的分布式存储系统,其特征在于所述的节点可以保存同一安全组(SafeGroup)内其它节点的副本。3.根据权利要求2所述的分布式存储系统,其特征在于所述的副本为镜像备份。4.根据权利要求2所述的分布式存储系统,其特征在于所述的节点上的数据被分为与同一安全组(SafeGroup )内节点个数相同的片数。5.根据权利要求4所述的分布式存储系统,其特征在于所述的同一安全组(SafeGroup)内所有节点都保存相同的片数据。6.根据权利要求5所述的分布式存储系统,其特征在于所述的节点按自己的节点编号选择同样编号的分片的片数据为自身节点...

【专利技术属性】
技术研发人员:任景彪孟祥斌施宁崔维力武新赵伟
申请(专利权)人:天津南大通用数据技术有限公司
类型:发明
国别省市:

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

1