CN103150304B - 云数据库系统 - Google Patents

云数据库系统 Download PDF

Info

Publication number
CN103150304B
CN103150304B CN201110399283.8A CN201110399283A CN103150304B CN 103150304 B CN103150304 B CN 103150304B CN 201110399283 A CN201110399283 A CN 201110399283A CN 103150304 B CN103150304 B CN 103150304B
Authority
CN
China
Prior art keywords
node
data
distribution
management
execution
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.)
Active
Application number
CN201110399283.8A
Other languages
English (en)
Other versions
CN103150304A (zh
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.)
Beijing Great Opensource Software Co Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201110399283.8A priority Critical patent/CN103150304B/zh
Publication of CN103150304A publication Critical patent/CN103150304A/zh
Application granted granted Critical
Publication of CN103150304B publication Critical patent/CN103150304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的一种云数据库系统,包括两个分发节点、至少两个执行节点和至少两个存储节点,分发节点与执行节点之间以及执行节点与存储节点之间通过高速网络联接,分发节点接收客户端应用程序的请求,分发节点负责SQL解析、分割执行计划,分发执行计划给执行节点以及合并执行结果,所述执行节点负责执行接受到的执行计划、数据缓存管理,所述存储节点提供数据的读写和存储管理。本发明提供一种在不改变基于传统的关系型数据的设计架构和SQL的访问方式的同时,能够具备应对大并发量和大数据量的可扩展性。使得应用程序能够在不做任何修改的前提下获得极高的可扩展性,适应云计算对数据访问的要求。

Description

云数据库系统
技术领域
本发明涉及一种数据库管理系统,特别是一种分布式关系型的云数据库系统。
背景技术
传统的关系型数据库系统不能满足云计算在可扩展性上的需求,当访问量或数据量不等增长时,不能通过简单的添加新的节点来扩充系统的处理能力和存储容量。目前应对高并发性、大数据量普遍使用的是使用Sharding(数据分片)以及Map-Reduce的技术,这些技术虽然能很好的解决系统在应对大并发量和大数据量时的可扩展性问题,但是却需要应用程序改变原有的设计架构和对数据的访问方式,对应用程序是不透明的。特别是对于已有的应用,需要重新修改应用系统的架构和数据访问的方式,将会带来极大的投入和风险,有时甚至是不可能的。
发明内容
为解决上述技术问题,本发明提供一种在不改变基于传统的关系型数据的设计架构和SQL的访问方式的同时,能够具备应对大并发量和大数据量的可扩展性。使得应用程序能够在不做任何修改的前提下获得极高的可扩展性,适应云计算对数据访问的要求的云数据库系统。
本发明的一种云数据库系统,其创新点在于:包括两个分发节点、至少两个执行节点和至少两个存储节点,所述分发节点与执行节点之间以及执行节点与存储节点之间通过高速网络联接,所述分发节点上运行有分发器和集群管理器,所述执行节点上运行有执行器、数据缓存管理器和第一节点管理器,所述存储节点上运行有存储管理器和第二节点管理器,所述分发节点接收客户端应用程序的请求,分发节点负责SQL解析、分割执行计划,分发执行计划给执行节点以及合并执行结果,所述执行节点负责执行接受到的执行计划、数据缓存管理,所述存储节点提供数据的读写和存储管理。
所述分发节点的分发器负责解析SQL语句,生成可并发的执行计划,分发执行计划和合并执行结果,分发器还负责全局分布式执行计划的事务管理和日志功能。
所述分发节点的执行器执行接受到的执行计划,执行计划中包含执行所需的信息,执行器根据执行计划设置执行环境,如系统全局变量,会话变量等,然后对执行计划进行优化,执行器还负责本地执行计划的事务管理,执行计划优化后在给定的数据范围上执行,执行器还负责执行计划的本地事务管理,支持两阶段提交协议,执行器通过数据缓存管理器访问数据库中的所有数据。
所述执行节点的数据缓存管理器为执行器提供统一的动态共享数据缓存访问,从而使得执行器可以高速访问数据库中的所有数据分区,并分离执行器与数据分区的物理分布和存储方式。
所述存储节点为系统提供统一的存储访问方式,负责数据的物理存储,负责数据的分区、读写、冗余、同步、数据平衡、恢复等,支持多种分区、冗余和同步方案,提供远程数据备份和同步等功能。
所述分发节点上的集群管理器和执行节点上的第一节点管理器组成集群管理,集群管理器负责节点和资源的添加、删除、监控和维护节点成员关系等功能,执行节点上的第一节点管理器负责本节点及本节点上的资源的监控和管理,集群管理的主要功能模块包含消息通讯、心跳、节点监控和管理、资源监控和管理、故障管理、账户管理和认证等模块,分发器通过集群管理器获得集群中执行节点负载、数据缓存分配、存储分布等信息来调度和分发执行计划。
所述分发器包括包括SQL解析,执行计划生成,全局分布式执行计划的事务管理、日志、执行计划分发调度和合并执行结果六个部分。
所述执行节点上的第一节点管理器和存储节点上的第二节点管理器,主要功能模块包含消息通讯、本地节点管理、本地资源管理、本地节点监控、本地锁机制以及心跳机制等模块。
所述两个分发节点配置成主备模式。
所述存储节点和执行节点可以部署在同一组物理节点上,也可以部署在不同的物理节点上。
与现有技术相比本发明的有益效果为:本发明是一个基于和面向云计算的分布式海量关系型数据库管理系统。分布式海量数据存储、并发执行和极高的可伸缩性是这个系统最主要的特点。系统支持Share-Nothing架构,不依赖于共享存储或其他共享设备。
本发明的分布式存储和并发执行必须对应用程序是透明的,提供分布式并发执行的任务的事务管理,应用程序无需作任何修改即可从非分布式系统迁移到该系统。为提高数据的可靠性,该系统应该提供数据冗余和同步功能。同时为提高并发执行的可靠性,系统还应该提供集群监控和故障管理等功能,当某个执行节点或数据节点发生故障时,能够自动屏蔽该故障节点,并使用其他节点代替该故障节点继续提供服务。为提高执行时对数据访问的速度,本发明将采用一个统一的、共享的动态数据缓存机制,为所有执行节点提供一个动态的、可自适应的、统一的、共享的数据缓存访问方式。同一块数据可以在系统中多个节点上有数据缓存,这些数据缓存之间将通过高速网络来进行同步,这样可以极大的提高对热点数据的访问速度。本发明中的所有执行节点都可以通过这个动态数据缓存访问数据库中的所有数据,极大地提高系统的可伸缩性,还可以避免系统在扩展时受到分区方式的限制和重新分区,系统可以随时添加或删除执行节点而不需要对数据的分区存储进行任何改变,从而简化系统的管理和维护工作。
本发明是一个复杂的分布式数据库管理系统,如果完全重新开发,开发工作量、难度和风险都将十分巨大,无法在项目给定的时间之内完成;因此考虑基于成熟的MySQL开源数据库管理系统,为其添加分布式存储、并发执行、动态数据缓存以及集群管理等功能来实现本项目。这样可以大大降低开发的难度、工作量,以及风险,从而保证在项目给定的时间之内完成开发任务。
附图说明
图1是本发明的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,一种云数据库系统,包括两个分发节点1、至少两个执行节点2和至少两个存储节点3,所述分发节点1与执行节点2之间以及执行节点2与存储节点3之间通过高速网络联接,所述分发节点1上运行有分发器和集群管理器,所述执行节点2上运行有执行器、数据缓存管理器和第一节点管理器,所述存储节点3上运行有存储管理器和第二节点管理器,所述分发节点1接收客户端4应用程序的请求,分发节点1负责SQL解析、分割执行计划,分发执行计划给执行节点以及合并执行结果,所述执行节点2负责执行接受到的执行计划、数据缓存管理,所述存储节点3提供数据的读写和存储管理。
所述分发节点1的分发器负责解析SQL语句,生成可并发的执行计划,分发执行计划和合并执行结果,分发器还负责全局分布式执行计划的事务管理和日志功能。
所述分发节点1的执行器执行接受到的执行计划,执行计划中包含执行所需的信息,执行器根据执行计划设置执行环境,如系统全局变量,会话变量等,然后对执行计划进行优化,执行器还负责本地执行计划的事务管理,执行计划优化后在给定的数据范围上执行,执行器还负责执行计划的本地事务管理,支持两阶段提交协议,执行器通过数据缓存管理器访问数据库中的所有数据。
所述执行节点2的数据缓存管理器为执行器提供统一的动态共享数据缓存访问,从而使得执行器可以高速访问数据库中的所有数据分区,并分离执行器与数据分区的物理分布和存储方式。
所述存储节点3为系统提供统一的存储访问方式,负责数据的物理存储,负责数据的分区、读写、冗余、同步、数据平衡、恢复等,支持多种分区、冗余和同步方案,提供远程数据备份和同步等功能。
所述分发节点1上的集群管理器和执行节点2上的第一节点管理器组成集群管理,集群管理器负责节点和资源的添加、删除、监控和维护节点成员关系等功能,执行节点2上的第一节点管理器负责本节点及本节点上的资源的监控和管理,集群管理的主要功能模块包含消息通讯、心跳、节点监控和管理、资源监控和管理、故障管理、账户管理和认证等模块,分发器通过集群管理器获得集群中执行节点负载、数据缓存分配、存储分布等信息来调度和分发执行计划。
所述分发器包括包括SQL解析,执行计划生成,全局分布式执行计划的事务管理、日志、执行计划分发调度和合并执行结果六个部分。
所述执行节点2上的第一节点管理器和存储节点3上的第二节点管理器,主要功能模块包含消息通讯、本地节点管理、本地资源管理、本地节点监控、本地锁机制以及心跳机制等模块。
所述两个分发节点1配置成主备模式。
所述存储节点3和执行节点2可以部署在同一组物理节点上,也可以部署在不同的物理节点上。
以下对本发明的云数据库系统的服务器端包括的六个部分:分发器(Dispatcher)、执行器(Executor)、数据缓存管理(Data Cache Manager)、存储管理(Storage Manager)、集群管理(Cluster Manager)和节点管理(NodeManager)作如下具体描述。
(一)、分发器
分发器包括SQL解析,执行计划生成,全局分布式执行计划的事务管理、日志、执行计划分发调度和合并执行结果等六个部分。
分发器功能模块说明:
(二)、执行器
执行器负责接收并运行由分发器发出的执行计划,执行器不需要再解析SQL语句,执行计划中包含执行所需的信息。执行器根据执行计划设置执行环境,如系统全局变量,会话变量等,然后对执行计划进行优化。执行计划优化后在给定的数据范围上执行。执行器还负责执行计划的本地事务管理,支持两阶段提交协议。
执行器可以通过数据缓存管理器访问数据库中的所有数据,而不论这些数据的实际分布和存储方式。
执行器功能模块说明:
(三)、数据缓存管理
数据缓存管理器运行于执行节点2上,为执行器提供统一的共享数据缓存访问,从而使得执行器可以高速访问数据库中的所有数据分区,并分离执行器与数据分区的物理分布和存储方式。
数据缓存管理功能模块说明:
数据缓存将根据数据的访问情况自动的在执行节点2上分配和回收,同一块数据可以在不同的节点上有缓存,当一块数据在多个节点上有缓存时,数据缓存管理器在必要时通过网络同步这些缓存。
当执行节点2需要读取某块数据时,如果这块数据已经在某个其他节点的数据缓存中,则数据将从其他节点的数据缓存中之间通过高速网络传送到该节点。如果此时还没有其他节点拥有该数据块的缓存,则会从该数据块所在的物理存储节点3或备份节点上读取到数据缓存中。当执行时修改了某个数据缓存时,修改会被同步到这块数据缓存对应的物理存储节点3上的缓存并刷新到磁盘上。如果这块数据有多个冗余备份,这些备份也会被同步更新。
(四)、存储管理
存储管理负责数据的物理存储,实现数据库中数据的分区、读写、冗余、同步、数据平衡、恢复等,支持多种分区、冗余和同步方案。提供远程数据备份和同步等功能。
存储管理功能模块说明:
(五)、集群管理
集群管理运行于分发节点1上,负责集群节点和资源的监控和管理,主要功能模块包含消息通讯、心跳、节点监控和管理、资源监控和管理、故障管理、账户管理和认证等模块。分发器通过集群管理器获得集群中执行节点2负载、数据缓存分配、存储分布等信息来调度和分发执行计划。
集群管理功能模块说明:
(六)、节点管理
节点管理器运行于执行节点2和存储节点3上,用于监测和管理本节点以及本节点上的资源,如执行器,数据缓存管理和存储管理等。主要功能模块包含消息通讯、本地节点管理、本地资源管理、本地节点监控、本地锁机制以及心跳机制等模块。
节点管理功能模块说明:
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (8)

1.一种云数据库系统,其特征在于:
所述云数据库系统包括两个分发节点(1)、至少两个执行节点(2)和至少两个存储节点(3),
其中,所述分发节点(1)与所述执行节点(2)之间、以及所述执行节点(2)与所述存储节点(3)之间通过高速网络联接,
其中,所述分发节点(1)上运行有分发器和集群管理器,所述执行节点(2)上运行有执行器、数据缓存管理器和第一节点管理器,所述存储节点(3)上运行有存储管理器和第二节点管理器,
其中,所述分发节点(1)接收客户端(4)应用程序的请求,所述分发节点(1)的分发器负责SQL解析、分割执行计划,分发执行计划给执行节点以及合并执行结果,并且还负责全局分布式执行计划的事务管理和日志功能,其中,所述分发节点(1)的分发器对接收到的SQL语句进行语法解析并生成该SQL语句的语法树结构,对该语法树结构进行分析,依据SQL语句的特点、数据的分区、执行节点负载、数据缓存分配以及系统配置对执行计划进行分割,生成一组可并发执行的执行计划,其中,所述分发节点(1)的分发器监控和管理并发执行的一组执行计划的分布式事务,通过确保一组相关的执行计划同时被提交或同时被回滚来保证该组相关的执行计划之间的事务性,支持分布式两阶段提交协议,提供全局分布式事务的恢复功能,保证数据的一致性,
其中,所述执行节点(2)负责执行接收到的执行计划、数据缓存管理,其中,所述执行节点(2)的执行器还负责有关在该执行节点(2)上执行的执行计划的事务管理,支持分布式两阶段提交协议,接收来自所述分发节点(1)的分发器的有关事务管理的命令并相应地在该执行节点(2)上进行所接收到的执行计划的事务管理操作,保证执行计划的事务性和数据的一致性,其中,所述事务管理操作包括提交、回滚、恢复,并且
其中,所述存储节点(3)提供数据的读写和存储管理。
2.根据权利要求1所述的云数据库系统,其特征在于:
所述执行节点(2)的执行器执行接收到的执行计划,所述执行计划中包含执行所需的信息,所述执行器根据执行计划设置包括系统全局变量、会话变量的执行环境,然后对执行计划进行优化,执行计划优化后在给定的数据范围上执行,所述执行器通过数据缓存管理器访问数据库中的所有数据。
3.根据权利要求1所述的云数据库系统,其特征在于:
所述执行节点(2)的数据缓存管理器为所述执行器提供统一的动态共享数据缓存访问,从而使得所述执行器能够高速访问数据库中的所有数据分区,并分离所述执行器与所述数据分区的物理分布和存储方式。
4.根据权利要求1所述的云数据库系统,其特征在于:
所述存储节点(3)为所述云数据库系统提供统一的存储访问方式,负责数据的物理存储,负责数据的分区、读写、冗余、同步、数据平衡、恢复,支持多种分区、冗余和同步方案,提供远程数据备份和同步等功能。
5.根据权利要求1所述的云数据库系统,其特征在于:
所述分发节点(1)上的集群管理器和所述执行节点(2)上的第一节点管理器组成集群管理,所述集群管理器负责节点和资源的添加、删除、监控和维护节点成员关系,所述第一节点管理器负责本节点及本节点上的资源的监控和管理,所述集群管理的主要功能模块包含消息通讯、心跳、节点监控和管理、资源监控和管理、故障管理、账户管理和认证模块,所述分发器通过所述集群管理器获得集群中执行节点负载、数据缓存分配、存储分布信息来调度和分发执行计划。
6.根据权利要求1所述的云数据库系统,其特征在于:
所述执行节点(2)上的第一节点管理器和所述存储节点(3)上的第二节点管理器的主要功能模块包含消息通讯、本地节点管理、本地资源管理、本地节点监控、本地锁机制以及心跳机制模块。
7.根据权利要求1所述的云数据库系统,其特征在于:
所述两个分发节点(1)配置成主备模式。
8.根据权利要求1所述的云数据库系统,其特征在于:
所述存储节点(3)和所述执行节点(2)部署在同一组物理节点上、或者部署在不同的物理节点上。
CN201110399283.8A 2011-12-06 2011-12-06 云数据库系统 Active CN103150304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110399283.8A CN103150304B (zh) 2011-12-06 2011-12-06 云数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110399283.8A CN103150304B (zh) 2011-12-06 2011-12-06 云数据库系统

Publications (2)

Publication Number Publication Date
CN103150304A CN103150304A (zh) 2013-06-12
CN103150304B true CN103150304B (zh) 2016-11-23

Family

ID=48548390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110399283.8A Active CN103150304B (zh) 2011-12-06 2011-12-06 云数据库系统

Country Status (1)

Country Link
CN (1) CN103150304B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546559B (zh) * 2013-10-24 2018-02-02 网宿科技股份有限公司 数据分发方法和装置
US9569493B2 (en) * 2013-12-31 2017-02-14 International Business Machines Corporatin Avoidance of intermediate data skew in a massive parallel processing environment
CN104090937A (zh) * 2014-06-27 2014-10-08 陆冬艳 一种基于云计算的数据库访问方法及系统
CN104133891B (zh) * 2014-07-30 2018-04-27 广州科腾信息技术有限公司 一种基于关系型数据库的海量结构化数据的存储方法
CN104361030A (zh) * 2014-10-24 2015-02-18 西安未来国际信息股份有限公司 一种具有任务分发功能的分布式缓存架构及缓存方法
CN104462483A (zh) * 2014-12-18 2015-03-25 北京奇虎科技有限公司 数据同步方法、装置及系统
CN105045619B (zh) * 2015-07-06 2018-07-10 普元信息技术股份有限公司 云计算环境中基于固定带宽的多层次多节点版本分发方法
CN105824868B (zh) * 2015-12-24 2019-05-17 广东亿迅科技有限公司 一种分布式数据库数据处理方法和分布式数据库系统
CN105893542B (zh) * 2016-03-31 2019-04-12 华中科技大学 一种云存储系统中的冷数据文件重分布方法及系统
CN106250566A (zh) * 2016-08-31 2016-12-21 天津南大通用数据技术股份有限公司 一种分布式数据库及其数据运算的管理方法
CN106656525B (zh) * 2016-09-21 2019-12-24 华为技术有限公司 一种数据广播系统、数据广播方法及设备
CN106446153A (zh) * 2016-09-21 2017-02-22 广州特道信息科技有限公司 一种分布式newSQL数据库系统及方法
CN107707619B (zh) * 2017-08-28 2020-12-04 北京小米移动软件有限公司 分布式存储方法及装置
CN107784103A (zh) * 2017-10-27 2018-03-09 北京人大金仓信息技术股份有限公司 一种访问hdfs分布式存储系统的标准接口
CN107861690A (zh) * 2017-11-22 2018-03-30 安徽伊尔思环境科技有限公司 一种大数据优化项目环评用云存储系统
CN115221152A (zh) * 2018-11-29 2022-10-21 宝晟(广州)生物信息技术有限公司 一种生物样本库数据分散式节点共享方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719931A (zh) * 2009-11-27 2010-06-02 南京邮电大学 一种基于多智能主体的层次式云端计算模型构建方法
CN102222090A (zh) * 2011-06-02 2011-10-19 清华大学 一种云环境下海量数据资源管理框架

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719931A (zh) * 2009-11-27 2010-06-02 南京邮电大学 一种基于多智能主体的层次式云端计算模型构建方法
CN102222090A (zh) * 2011-06-02 2011-10-19 清华大学 一种云环境下海量数据资源管理框架

Also Published As

Publication number Publication date
CN103150304A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
CN103150304B (zh) 云数据库系统
CN111327681A (zh) 一种基于Kubernetes的云计算数据平台构建方法
CN102855284B (zh) 一种集群存储系统的数据管理方法及系统
Padhy et al. RDBMS to NoSQL: reviewing some next-generation non-relational database’s
US8140498B2 (en) Distributed database system by sharing or replicating the meta information on memory caches
RU2591169C2 (ru) Система управления базой данных
CN105684377B (zh) 一种创建支持mpp数据库中的可重读隔离级别的分布式事务管理器的系统和方法
Chen et al. Computation and communication efficient graph processing with distributed immutable view
US9348641B2 (en) System and method for performing a transaction in a massively parallel processing database
JP2018022514A (ja) クラウドベースの分散永続性及びキャッシュデータモデル
US20150172412A1 (en) Managing dependencies between operations in a distributed system
CN103345502B (zh) 分布式数据库的事务处理方法和系统
Ferro et al. Omid: Lock-free transactional support for distributed data stores
CN110727709A (zh) 一种集群数据库系统
CN106301938A (zh) 一种高可用性和强一致性的数据库集群系统及其节点管理方法
CN112199427A (zh) 一种数据处理方法和系统
CN102724304A (zh) 订阅/发布系统中信息仓库联邦及数据同步方法
Moiz et al. Database replication: A survey of open source and commercial tools
CN102262674A (zh) 一种分布式内存数据库的数据同步方法及系统
CN110175089A (zh) 一种具有读写分离功能的双活灾备系统
Le et al. Dynastar: Optimized dynamic partitioning for scalable state machine replication
CN104504128A (zh) 一种基于联邦集群的数据库系统非对称部署的构建方法
Srinivasan et al. Citrusleaf: A real-time nosql db which preserves acid
CN104410531A (zh) 冗余的系统架构方法
Cao et al. Polardb-x: An elastic distributed relational database for cloud-native applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180228

Address after: 100070 room 6, floor 6, courtyard No. 2, Fengtai District hang Feng Road, Beijing City, 619 room

Patentee after: BEIJING GREAT OPENSOURCE SOFTWARE CO., LTD.

Address before: 100082 Beijing city Chaoyang District East Third Ring Road, building 39, No. SOHO7 23

Co-patentee before: He Zhenxing

Patentee before: Zheng Hongyun