数据库系统、数据库更新、扩容方法及设备技术方案

技术编号:22260957 阅读:36 留言:0更新日期:2019-10-10 14:05
本申请实施例提供一种数据库系统、数据库更新、扩容方法及设备。本申请实施例提供一种新的数据库架构,基于主从节点对存储空间的共享机制,主节点与从节点之间可灵活、方便地对外提供数据写入和查询功能。这种数据库架构基于主从节点对存储空间的共享机制,可直接在存储空间上连接新的从节点实现系统扩容,满足不断增长的并发查询业务需求,操作简单,效率较高。

Database System, Database Update, Expansion Method and Equipment

【技术实现步骤摘要】
数据库系统、数据库更新、扩容方法及设备
本申请涉及数据库
,尤其涉及一种数据库系统、数据库更新、扩容方法及设备。
技术介绍
随着大数据应用越来越普及,人们对大数据分析查询的需求越来越多,分析型数据库应运而生。目前,分析型数据库通常采用大规模并行处理(MassivelyParallelProcessing,MPP)架构。MPP架构通过将数据平均分布到多个数据节点上来实现大规模数据的存储;通过将查询请求并行地分布到多个数据节点上,由每个数据节点执行计算,并由主机执行结果汇总,来实现并行查询。随着业务需求的不断增长,MPP架构需要增加数据节点来改善整个架构的服务性能。但是,现有MPP架构增加数据节点会涉及大规模数据的重分布,实现难度较大,耗时较长。
技术实现思路
本申请的多个方面提供一种数据库系统、数据库更新、扩容方法及设备,用以提供一种新的、易于扩容的数据库架构,改善数据库系统的服务性能。本申请实施例提供一种数据库系统,包括:至少一个子系统,所述至少一个子系统包括主节点、若干从节点以及所述主节点和所述若干从节点共享的存储空间;所述主节点,用于向所属子系统中的存储空间写入数据;所述从节点,用于从所属子系统中的存储空间查询由所属子系统中的主节点写入的数据,以对外提供查询功能。本申请实施例提供一种数据库更新方法,适用于数据库系统的至少一个子系统中的主节点,所述方法包括:响应于外部的写指令向所属子系统中的存储空间写入数据;基于数据写入事件向所属子系统中的若干从节点发送更新通知,以使所述若干从节点利用所述存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能;其中,所述主节点和所述若干从节点共享所属子系统中的所述存储空间。本申请实施例提供一种数据库更新方法,适用于数据库系统的至少一个子系统中的从节点,所述方法包括:接收所属子系统中主节点发送的更新通知,所述更新通知是所述主节点基于向所属子系统中的存储空间写入数据的数据写入事件发送的;根据所述更新通知,利用所述存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能;其中,所述主节点和所述从节点共享所属子系统中的所述存储空间。本申请实施例提供一种数据库扩容方法,适用于数据库系统中的管理设备,所述方法包括:根据所述数据库系统中至少一个子系统中已有从节点的查询耗时,监测所述至少一个子系统各自的整体查询耗时;从所述至少一个子系统中确定整体查询耗时大于预设阈值的目标子系统;将所述目标子系统的存储空间挂载至新的从节点,以使所述新的从节点从所述目标子系统的存储空间查询由所述目标子系统中的主节点写入的数据,以对外提供查询功能。本申请实施例提供一种主节点,包括:存储器、处理器以及通信组件;所述存储器,用于存储一条或多条计算机指令;所述处理器,耦合至所述存储器,用于执行所述一条或多条计算机指令,以用于:响应于外部的写指令向所属子系统中的存储空间写入数据;基于数据写入事件通过所述通信组件向所属子系统中的若干从节点发送更新通知,以使所述若干从节点利用所述存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能;其中,所述主节点和所述若干从节点共享所属子系统中的所述存储空间。本申请实施例提供一种从节点,包括:存储器、处理器以及通信组件;所述通信组件,用于接收所属子系统中主节点发送的更新通知,所述更新通知是所述主节点基于向所属子系统中的存储空间写入数据的数据写入事件发送的;所述存储器,用于存储一条或多条计算机指令;所述处理器,耦合至所述存储器和所述通信组件,用于执行所述一条或多条计算机指令,以用于:根据所述更新通知,利用所述存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能;其中,所述主节点和所述从节点共享所属子系统中的所述存储空间。本申请实施例提供一种管理设备,位于数据库系统中实现,所述管理设备包括:存储器和处理器;所述存储器,用于存储一条或多条计算机指令;所述处理器,耦合至所述存储器,用于执行所述一条或多条计算机指令,以用于:根据所述数据库系统中至少一个子系统中已有从节点的查询耗时,监测所述至少一个子系统各自的整体查询耗时;从所述至少一个子系统中确定整体查询耗时大于预设阈值的目标子系统;将所述目标子系统的存储空间挂载至新的从节点,以使所述新的从节点从所述目标子系统的存储空间查询由所述目标子系统中的主节点写入的数据,以对外提供查询功能。在本申请实施例中,提供一种新的数据库架构,该数据库架构包括至少一个子系统,在子系统中,主节点和从节点共享同一存储空间中的数据,基于主从节点对存储空间的共享机制,主节点与从节点之间可灵活、方便地对外提供数据写入和查询功能。这种数据库架构基于主从节点对存储空间的共享机制,可直接将存储空间挂载至新的从节点实现系统扩容,满足不断增长的并发查询业务需求,操作简单,效率较高。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请一示例性实施例提供的一种数据库系统的结构示意图;图2为本申请一示例性实施例提供的另一种数据库系统的结构示意图;图3为本申请一实施例提供的又一种数据库系统的结构示意图;图4为本申请另一示例性实施例提供的一种数据库更新方法的流程示意图;图5为本申请另一示例性实施例提供的另一种数据库更新方法的流程示意图;图6为本申请另一示例性实施例提供的又一种数据库更新方法的流程示意图;图7为本申请又一示例性实施例提供的一种数据库更新方法的流程示意图;图8为本申请又一示例性实施例提供的又一种数据库更新方法的流程示意图图9为本申请又一示例性实施例提供的一种数据库扩容方法的流程示意图;图10为本申请又一示例性实施例提供的一种主节点的结构示意图;图11为本申请又一示例性实施例提供的一种从节点的结构示意图;图12为本申请又一示例性实施例提供的一种管理设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。现有技术中采用增加MPP架构的数据节点的方式来改善数据库系统的服务性能,这种方式会涉及大规模数据的重分布,实现难度较大,耗时较长。针对现有技术存在的问题,本申请一些实施例提供一种新的数据库架构,该数据库架构包括至少一个子系统,在子系统中,主节点和从节点共享同一存储空间中的数据,基于主从节点对存储空间的共享机制,主节点与从节点之间可灵活、方便地对外提供数据写入和查询功能。这种数据库架构基于主从节点对存储空间的共享机制,可直接将存储空间挂载至新的从节点实现系统扩容,满足不断增长的并发查询业务需求,操作简单,效率较高。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本申请一示例性实施例提供的一种数据库系统的结构示意图。如图1所示,该数据库系统10包括:至少一个子系统20,至少一个子系统20包括主节点201、若干从节点202以及本文档来自技高网...

【技术保护点】
1.一种数据库系统,其特征在于,包括:至少一个子系统,所述至少一个子系统包括主节点、若干从节点以及所述主节点和所述若干从节点共享的存储空间;所述主节点,用于向所属子系统中的存储空间写入数据;所述若干从节点,用于从所属子系统中的存储空间查询由所属子系统中的主节点写入的数据,以对外提供查询功能。

【技术特征摘要】
1.一种数据库系统,其特征在于,包括:至少一个子系统,所述至少一个子系统包括主节点、若干从节点以及所述主节点和所述若干从节点共享的存储空间;所述主节点,用于向所属子系统中的存储空间写入数据;所述若干从节点,用于从所属子系统中的存储空间查询由所属子系统中的主节点写入的数据,以对外提供查询功能。2.根据权利要求1所述的系统,其特征在于,所述主节点具体用于:响应于外部的写指令向所属子系统中的存储空间写入数据,并基于数据写入事件向所属子系统中的若干从节点发送更新通知;所述若干从节点具体用于:根据所属子系统中主节点发送的更新通知,利用所属子系统中的存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能。3.根据权利要求2所述的系统,其特征在于,所述主节点具体用于:将所述数据写入事件成功写入的数据的标识携带在所述更新通知中发送给所属子系统中的若干从节点;所述若干从节点具体用于:当确定本地缓存数据中包含所述标识所标识的数据时,利用所属子系统中的存储空间中所述标识所标识的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能。4.根据权利要求2所述的系统,其特征在于,所述至少一个子系统还包括:块设备服务器;所述块设备服务器挂载于所属子系统中的存储空间,并与所属子系统中的主节点和若干从节点连接;所述块设备服务器,用于根据所属子系统中的主节点发送的写请求,向所属子系统中的存储空间写入所述数据写入事件需要写入的数据;以及根据所属子系统中的从节点发送的读请求,将最新写入相应存储空间中的数据提供给发出所述读请求的从节点,以供发出所述读请求的从节点更新本地缓存数据。5.根据权利要求4所述的系统,其特征在于,还包括:分布式文件系统和至少一个磁盘;所述分布式文件系统,用于从所述至少一个磁盘中为所述至少一个子系统分配对应的存储空间,并将所述至少一个子系统与存储空间之间的对应关系分别写入所述至少一个子系统的块设备服务器中;所述块设备服务器具体用于:根据所述写请求将所述数据写入事件需要写入的数据写入所述块设备服务器的缓存中,并根据所述对应关系将所述数据写入事件需要写入的数据从所述块设备服务器的缓存中写入对应的磁盘空间中;以及根据所述读请求从所述块设备服务器的缓存中读取最新写入对应的磁盘空间中的数据并提供给发送所述读请求的从节点,以供发送所述读请求的从节点更新本地缓存数据。6.根据权利要求1~5任一项所述的系统,其特征在于,还包括:管理单元,与所述至少一个子系统中的主节点和若干从节点连接;所述管理单元,用于根据所述至少一个子系统中已有从节点的查询耗时,监测所述至少一个子系统各自的整体查询耗时,并从所述至少一个子系统中确定整体查询耗时大于预设阈值的目标子系统,将所述目标子系统的存储空间挂载至新的从节点,以使所述新的从节点从所述目标子系统的存储空间查询由所述目标子系统中的主节点写入的数据,以对外提供查询功能。7.根据权利要求1~5任一项所述的系统,其特征在于,所述主节点还用于:基于本地缓存数据和/或所述存储空间中的数据对外提供查询功能。8.一种数据库更新方法,适用于数据库系统的至少一个子系统中的主节点,其特征在于,所述方法包括:响应于外部的写指令向所属子系统中的存储空间写入数据;基于数据写入事件向所属子系统中的若干从节点发送更新通知,以使所述若干从节点利用所述存储空间中的数据更新本地缓存数据,以基于本地缓存数据对外提供查询功能;其中,所述主节点和所述若干从节点共享所属子系统中的所述存储空间。9.根据权利要求8所述的方法,其特征...

【专利技术属性】
技术研发人员:黄泉龙叶建林
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1