一种实现分布式共享数据库的方法

文档序号:6519649阅读:463来源:国知局
一种实现分布式共享数据库的方法
【专利摘要】本发明公开了一种实现分布式共享数据库的方法,其特征在于:使用本地自带磁盘的PC机作为网络节点,多个网络节点组成容错组,多个容错组组成集群;容错组内不同网络节点的磁盘进行网络镜像;把磁盘通过iscsi共享到网络中,生成iscsi设备;每个网络节点挂接所有iscsi设备;在每个网络节点上,利用多路径技术,把互为镜像的iscsi设备绑定成一个multipath设备;把multipath设备转换成块设备;在块设备上创建数据库,把所有块设备分配给数据库。本发明实现了在分布式环境下运行共享式数据库,并达到非共享数据库的分布式效果,而且较非共享数据库更易用、更简单、提供更全面的数据库功能、综合性能更高、性价比更高。
【专利说明】一种实现分布式共享数据库的方法
【技术领域】
[0001]本发明涉及电子信息及计算机领域,特别涉及一种实现分布式共享数据库的方法。
【背景技术】
[0002]随着大数据时代的到来,IT系统要处理和存储的数据越来越大。因此,需要不断扩充硬件资源,同时性能还要保持不变或线性提升。从存储的角度,数据库可分为共享式(share disk)和非共享式(share nothing)两种。共享式,是指存储共享,不管ー个数据库集群有多少个运算节点(服务器),存储必须是集中式的、且能被所有节点并行读写,典型的就是磁盘阵列。非共享式,就是分布式,其存储分布在多个节点上,每个节点独享本机存储。
[0003]传统商业数据库(oracle、sybase、db2等)基本都是共享式架构的,都是基于小型机+磁盘阵列模式的。近几年,随着云技术的成熟,分布式并行数据库得到广泛应用。分布式并行数据库就是非共享架构的数据库,是基于PC服务器+本地磁盘的。通过大量应用的验证,这种新兴的分布式、非共享架构确实存在很多优势:
[0004]1.低成本。其运行在廉价的PC服务器上,采用普通的以太网组网,使用本地SATA盘。
[0005]2.稳定、高可用、无单点故障。由于硬件价格低廉,可以采用硬件冗余、故障切換机制。
[0006]3.可线性扩展。通过增加硬件,即可平滑升级、提升容量及处理能力。
[0007]4.性能。采用分布式并行计算,充分利用所有硬件资源,获得最高性能。
[0008]5.负载均衡。多个节点均匀地承担存储和查询任务。
[0009]不过,目前的这些分布式数据库(Hadoop/GreenPlum/MySql Cluster/等等)也存在ー些问题,
[0010]1,功能完善性。对复杂SQL、存储过程、数据分析挖掘算法的支持;标准的访问接ロ支持等。
[0011]2,应用难度大。部署简单、快捷,但后期维护、开发成本较高;新技木,缺乏标准接口和规范,与传统数据库存在差別,这些都影响应用推广。
[0012]3,应用场景限制。通常只针对OLAP场景,甚至只针对简单检索,连复杂的统计分析都无法支持,往往还要借助传统数据库。
[0013]4,成熟度。应用范围有些,很多极端情况还存在问题。
[0014]5,性能。性能与应用紧密相关,比如Hadoop,只适合按主键的检索应用,可能连模糊查询都很难实现,通常只适合类似互联网搜索的应用场景,其它场景性能很差;通常采用MAP/REDUCE代码来实现查询任务,任务执行有一定顺序,必须前一个任务结束后才启动后续任务,存在短板、瓶颈;而且性能与设备数量有关,必须有足够硬件才能发挥性能。
[0015]由于这些问题的存在,部分用户就不愿意把传统共享式数据库的成熟应用迁移到新兴的分布式数据库上,因为移植工作量大、难度也大、功能还不完善、性能也未必提升。但是,如果继续使用共享数据库,就面临成本高、升级扩展能力弱、存在单点故障、性能瓶颈等问题。原因很明显,集中共享式数据库都运行在小型机+磁盘阵列的环境下,成本超高,很少做冗余,扩展也很麻烦。通常,要升级/扩容就只能重新建设、丢弃历史数据。
[0016]鉴于上述情况,就有了在分布式环境下运行集中共享数据库的需求,也就是把传统数据库运行在PC服务器+本地磁盘的分布式环境下,这样即节省成本,又可延用传统应用。

【发明内容】

[0017]鉴于现有技术中存在的问题,本发明目的在于提供一种实现分布式共享数据库的方法,从而在分布式环境下运行共享式数据库,并达到非共享数据库(Hadoop/GreenPlum/等)的分布式效果(云效果),而且较非共享数据库更易用、更简单、提供更全面的数据库功能、综合性能更高、性价比更高。
[0018]根据本发明的一个方面,提供了一种实现分布式共享数据库的方法,其特征在于:
[0019]使用本地自带磁盘的PC机作为网络节点,多个网络节点组成容错组,多个容错组组成集群;
[0020]容错组内不同网络节点的磁盘进行网络镜像;
[0021]把磁盘通过iscsi共享到网络中,生成iscsi设备;
[0022]每个网络节点挂接所有iscsi设备;
[0023]在每个网络节点上,利用多路径技术,把互为镜像的iscsi设备绑定成一个multipath 设备;
[0024]把multipath设备转换成块设备;
[0025]在块设备上创建数据库,把所有块设备分配给数据库。
[0026]优选的,所述数据库将查询任务通过负载均衡均匀地分配到每个网络节点上。
[0027]优选的,在任何网络节点出现故障时,集群管理软件执行切换,将任务转移到其容错组内的镜像网络节点上执行。
[0028]优选的,所述容错组内不同网络节点的磁盘进行网络镜像,可针对磁盘的物理分区或逻辑卷进行。
【专利附图】

【附图说明】
[0029]图1例示了本发明实施例分布式共享数据库的架构图。
【具体实施方式】
[0030]为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0031]在介绍本发明【具体实施方式】之前,首先列举本说明书中可能用到技术术语解释:
[0032]块设备:有时也称裸设备(原始设备),可以理解为是一个磁盘分区,还没有格式化的完整分区。通常对块设备的访问都是直接i/o,数据在用户进程空间和设备之间直接传输,不经过操作系统内核及文件系统缓存,应该是最快的外存数据访问方式。[0033]文件:文件通常保存在文件系统下,而文件系统来自被格式化的块设备。对文件的访问操作,需要经过操作系统内核及文件系统缓存区,所以速度很慢。目前主流的非共享数据库基本都采用这种方案,因为实现简单,可以按数据特征拆分多个文件存储,基于文件的备份复制也很方便。
[0034]iSCSI (iscsi或ISCSI):是实现在IP网络上运行SCSI的ー种协议。SCSI是主机内部传输数据块的协议,iSCSI是通过网络传输数据块的ー种新储存技术,该技术是将现有SCSI接ロ与以太网络(Ethernet)技术结合,使服务器之间可以通过IP协议来实现数据块交互(读写),进而提高数据访问速度。
[0035]strip:条带化技术,是ー种自动的将I/O的负载均衡到多个物理磁盘上的技术,就是将ー块连续的数据分成很多小部分并把它们分别存储到不同磁盘上去。这样,多个磁盘同时參与读写,I/O性能将大幅提升。
[0036]OLAP:联机分析处理。是数据库应用的概念,表示应用访问数据库的ー种模式,按使用者的意愿,随机、随意查询。这种应用模式,对数据库性能要求很高。
[0037]SATA盘:一种廉价的磁盘。
[0038]SYBIQ PLEXQ:SYBASE公司的IQ数据库的ー个分布式查询的组件。
[0039]IP-SAN:基于IP网络的磁盘阵列,属于较昂贵的集中存储。
[0040]FC-SAN:基于关网络的磁盘阵列,属于超昂贵的集中存储。。
[0041]Exadata:ORACLE公司的一种集群数据库产品,超昂贵。
[0042]Infiniband:类似IP的ー种网络协议,主机间及主机内部的通信协议,速度比IP网快很多,目前最快160GB/S。
[0043]图1例示了本发明实施例分布式共享数据库的架构图。
[0044]如图1所示,本发明实施例一种实现分布式共享数据库的方法包括:
[0045]使用本地自带磁盘的PC机作为网络节点,多个网络节点组成容错组,多个容错组组成集群;
[0046]容错组内不同网络节点的磁盘进行网络镜像;
[0047]把磁盘通过iscsi共享到网络中,生成iscsi设备;
[0048]姆个网络节点挂接所有iscsi设备;
[0049]在每个网络节点上,利用多路径技术,把互为镜像的iscsi设备绑定成ー个multipath 设备;
[0050]把multipath设备转换成块设备;
[0051 ] 在块设备上创建数据库,把所有块设备分配给数据库。
[0052]通过上述方法,数据库实现了同时向所有设备上写数据,实现数据分片、并行写;某个设备故障(网络、磁盘),可通过多路径切换到其镜像设备上写;设备恢复后,重新同歩,从而解决了现有技术所存在的问题。
[0053]此外,更为优选的,本发明的方法还可包括如下优选方案:
[0054]所述数据库将查询任务通过负载均衡均匀地分配到每个网络节点上,从而使得性能最大化。
[0055]在任何网络节点出现故障时,集群管理软件执行切換,将任务转移到其容错组内的镜像网络节点上执行,从而保证应用(加载、查询)继续高可用。[0056]所述容错组内不同网络节点的磁盘进行网络镜像,可针对磁盘的物理分区或逻辑卷进行。
[0057]通过本发明,在分布式环境下,利用I/O设备的网络共享、镜像复制、多路径绑定等技术实现共享存储,这比基于虚拟机和分布式文件系统的共享存储的性能要高;基于负载均衡技术的统一访问接口,即可实现负载在多节点间均分,又可方便客户端访问;共享数据库仍能高效地运行在分布式环境下,这让共享数据库有了更大的生存空间,能继续发挥优势;本发明的方案中,所有节点都是对等的,没有管理节点(master)和存储节点(segment)的区分,这也使本发明可以完全实现负载均衡,因为所有节点完全对等。
[0058]以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如使用可实现同种功能目的的算法、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。
【权利要求】
1.一种实现分布式共享数据库的方法,其特征在于: 使用本地自带磁盘的PC机作为网络节点,多个网络节点组成容错组,多个容错组组成集群; 容错组内不同网络节点的磁盘进行网络镜像; 把磁盘通过iscsi共享到网络中,生成iscsi设备; 每个网络节点挂接所有iscsi设备; 在每个网络节点上,利用多路径技术,把互为镜像的iscsi设备绑定成一个multipath设备; 把multipath设备转换成块设备; 在块设备上创建数据库,把所有块设备分配给数据库。
2.如权利要求1所述的方法,其特张在于: 所述数据库将查询任务通过负载均衡均匀地分配到每个网络节点上。
3.如权利要求1所述的方法,其特征在于: 在任何网络节点出现故障时,集群管理软件执行切换,将任务转移到其容错组内的镜像网络节点上执行。
4.如权利要求1所述的方法,其特征在于: 所述容错组内不同网络节点的磁盘进行网络镜像,可针对磁盘的物理分区或逻辑卷进行。
【文档编号】G06F17/30GK103595799SQ201310579262
【公开日】2014年2月19日 申请日期:2013年11月18日 优先权日:2013年11月18日
【发明者】马立斌, 刘振义 申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1