CN117609389A - 一种多端数据库系统 - Google Patents

一种多端数据库系统 Download PDF

Info

Publication number
CN117609389A
CN117609389A CN202311765703.9A CN202311765703A CN117609389A CN 117609389 A CN117609389 A CN 117609389A CN 202311765703 A CN202311765703 A CN 202311765703A CN 117609389 A CN117609389 A CN 117609389A
Authority
CN
China
Prior art keywords
database
node
data
middleware
nodes
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.)
Pending
Application number
CN202311765703.9A
Other languages
English (en)
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.)
Aerospace Information System Engineering Beijing Co ltd
Original Assignee
Aerospace Information System Engineering Beijing Co ltd
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 Aerospace Information System Engineering Beijing Co ltd filed Critical Aerospace Information System Engineering Beijing Co ltd
Priority to CN202311765703.9A priority Critical patent/CN117609389A/zh
Publication of CN117609389A publication Critical patent/CN117609389A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多端数据库系统,包括:中间件节点,用于接受来自不同应用的请求;还用于分析请求内容,获取合适的数据库节点;还用于采用分库分表算法,将应用的请求通过算法计算分配到对应数据库节点;数据库节点,用于存储相应数据;其中,中间件节点对应的数据库节点数量为多个,并具有标识信息;中间件节点通过标识信息将应用的请求分配到对应的数据库节点。本发明采用proxy方案,架构在多个传统单点数据库系统上的中间层解决方案,通过将数据分拆到不同的数据库节点上,利用中间件来管理和访问各个数据库中的数据。以此便捷的管理分布式数据库,并能将用户加入到参与到数据分拆和节点管理过程中。

Description

一种多端数据库系统
技术领域
本发明涉及大数据技术领域,更具体地,涉及一种多端数据库系统。
背景技术
传统的数据库架构是应用连接数据库直接对数据进行访问,这种架构特点是简单方便。随着目前数据量不断的增大,系统结构与日俱增,出现了上游应用数据库驱动不统一、下游数据库开发商不一致、数据库驱动性能等问题。
针对数据库本身,当面临以上问题时,第一种解决方式是向上扩展(scale up),简单来说就是不断增加硬件性能。这种方式只能暂时解决问题,当业务量不断增长时还是解决不了问题。特别是淘宝,Facebook,YouTube这种业务成线性,甚至指数级上升的情况。
第二种方式是水平扩展,采用分布式数据库形成多数据服务,来分流单库压力,从而解决上述问题。现有技术是通过原生分布式数据库完成分布式服务部署。其技术是指从架构设计、底层存储和查询处理均面向分布式数据管理需求,数据库集群作为一个整体对外提供服务,用户无需关注集群内部的实现细节。由于原生数据库系统开发的难度大,最初的版本通常功能简单,限制了其应用的场景。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种多端数据库系统,采用proxy方案,架构在多个传统单点数据库系统上的中间层解决方案,通过将数据分拆到不同的数据库节点上,利用中间件来管理和访问各个数据库中的数据。以此便捷的管理分布式数据库,并能将用户加入到参与到数据分拆和节点管理过程中。
为实现上述目的,按照本发明的第一个方面,提供了一种多端数据库系统,包括:
中间件节点,用于接受来自不同应用的请求;还用于分析请求内容,获取合适的数据库节点;还用于采用分库分表算法,将所述应用的请求通过算法计算分配到对应数据库节点;
数据库节点,用于存储相应数据;其中,所述中间件节点对应的所述数据库节点数量为多个,并具有标识信息;所述中间件节点通过标识信息将所述应用的请求分配到对应的数据库节点。
进一步地,上述多端数据库系统还包括:
所述中间件节点用于实现查询解析、查询重写和结果聚合功能。
进一步地,上述多端数据库系统还包括:
所述数据库节点中包括若干数据分片副本;
所述数据分片副本是数据被分为若干分片后,所述数据分片被复制后得到的;若干数据库节点中存储同一数据分片的不同数据分片副本。
进一步地,上述多端数据库系统还包括:
所述数据分片副本包括数据分片主副本和数据分片从副本;
数据分片主副本用于数据更新且即时生效;
数据分片从副本通过异步复制的方式,在所述数据分片主副本更新完成后,从所述数据分片主副本获得更新。
进一步地,上述多端数据库系统还包括:
还包括管理节点,用于管理多个中间件节点。
进一步地,上述多端数据库系统还包括:
所述管理节点用于存储数据分布信息。
进一步地,上述多端数据库系统还包括:
所述管理节点采用Paxos协议,自动选举主管理节点。
进一步地,上述多端数据库系统还包括:
除主管理节点以外的管理节点间互相平等,通过心跳机制与主管理节点保持通讯。
进一步地,上述多端数据库系统还包括:
所述中间件节点是Proxy中间件。
按照本发明的第二个方面,还提供了一种多端数据库分流方法,应用于上述任一项所述的多端数据库系统,包括:
中间件节点接受来自不同应用的请求,分析请求内容,获取合适的数据库节点,并采用分库分表算法,将所述应用的请求通过算法计算分配到对应数据库节点,完成请求的分流;
其中,所述数据库节点用于存储相应数据,所述中间件节点对应的所述数据库节点数量为多个,并具有标识信息;所述中间件节点通过标识信息将所述应用的请求分配到对应的数据库节点。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明提供的多端数据库系统,采用proxy方案,架构在多个传统单点数据库系统上的中间层解决方案,通过将数据分拆到不同的数据库节点上,利用中间件来管理和访问各个数据库中的数据。以此便捷的管理分布式数据库,并能将用户加入到参与到数据分拆和节点管理过程中。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多端数据库系统示意图;
图2为本发明实施例提供的中间件工作流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
作为本发明的第一实施例,如图1所示,提供了一种多端数据库系统,包括若干中间件节点和数据库节点。其中,中间件节点用于接受来自不同应用的请求。请求通过HTTP请求连接发送至中间件节点。中间件节点进一步分析请求的内容,分析后得到该请求对应的数据库节点。选定数据库节点后,中间件节点通过分库分表算法,将该请求分配到对应的数据库节点上。在该数据库节点存储有该请求所需的相关数据。
在本实施例中,一个中间件节点对应的数据库节点有多个,并包含有相应的标识信息,例如数据库的ID编号。中间件节点通过ID编号找到对应的数据库后,将应用的请求分配到对应的数据库节点。
进一步地,为了提升数据可靠性,本实施例中还包括了数据分片。具体来说,每一份数据被分片为若干的分片,每个分片再被复制出n个副本,这n个分片副本被存储在不同的数据库节点上。这样,当本实施例中少量的数据库节点宕机时,可以保证至少一个副本的数据不会丢失。
多副本技术虽然保证了分布式数据库中的数据可靠性,但同时带来了副本同步的问题,即如何保证数据分片不同副本的同步更新。在本实施例中,n个数据分片副本会被分为主副本和从副本,其中,主副本用于更新数据,再通过异步复制的方法复制到从副本中。
进一步地,本实施例中的多端数据库系统还包括管理节点。传统的中间件节点不仅需要维护数据分布等元数据,还需要实现查询解析、查询重写和结果聚合等功能,因此可以看成是包含管理节点和服务节点功能的复合节点。在本实施例中,为了提高系统稳定性,本实施例中将传统的中间件节点分离为管理节点和中间件节点。
管理节点是轻节点,仅需维护数据分布等少量的元数据,通过心跳和租约机制监控集群中其它节点的状态。为了避免管理节点宕机造成的单点故障,多端数据库系统中会部署多个管理节点,然后采用Paxos协议来自动选举主管理节点。
如图2所示,中间件节点在本实施例中承担的主要工作包括了查询解析、查询重写和结果聚合功能。中间件节点作为服务节点,所有服务节点是对等的,通过心跳机制与主管理节点保持通讯,少于数据副本数量的服务节点宕机不会影响服务可用性。通过向主管理节点注册,可以方便地添加新的节点,从而实现良好的扩展性。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多端数据库系统,包括:
中间件节点,用于接受来自不同应用的请求;还用于分析请求内容,获取合适的数据库节点;还用于采用分库分表算法,将所述应用的请求通过算法计算分配到对应数据库节点;
数据库节点,用于存储相应数据;其中,所述中间件节点对应的所述数据库节点数量为多个,并具有标识信息;所述中间件节点通过标识信息将所述应用的请求分配到对应的数据库节点。
2.如权利要求1所述的多端数据库系统,其特征在于:
所述中间件节点用于实现查询解析、查询重写和结果聚合功能。
3.如权利要求1所述的多端数据库系统,其特征在于:
所述数据库节点中包括若干数据分片副本;
所述数据分片副本是数据被分为若干分片后,所述数据分片被复制后得到的;若干数据库节点中存储同一数据分片的不同数据分片副本。
4.如权利要求3所述的多端数据库系统,其特征在于:
所述数据分片副本包括数据分片主副本和数据分片从副本;
数据分片主副本用于数据更新且即时生效;
数据分片从副本通过异步复制的方式,在所述数据分片主副本更新完成后,从所述数据分片主副本获得更新。
5.如权利要求1所述的多端数据库系统,其特征在于:
还包括管理节点,用于管理多个中间件节点。
6.如权利要求5所述的多端数据库系统,其特征在于:
所述管理节点用于存储数据分布信息。
7.如权利要求5所述的多端数据库系统,其特征在于:
所述管理节点采用Paxos协议,自动选举主管理节点。
8.如权利要求7所述的多端数据库系统,其特征在于:
除主管理节点以外的管理节点间互相平等,通过心跳机制与主管理节点保持通讯。
9.如权利要求1所述的多端数据库系统,其特征在于:
所述中间件节点是Proxy中间件。
10.一种多端数据库分流方法,其特征在于,应用于如权利要求1-9任一项所述的多端数据库系统,包括:
中间件节点接受来自不同应用的请求,分析请求内容,获取合适的数据库节点,并采用分库分表算法,将所述应用的请求通过算法计算分配到对应数据库节点,完成请求的分流;
其中,所述数据库节点用于存储相应数据,所述中间件节点对应的所述数据库节点数量为多个,并具有标识信息;所述中间件节点通过标识信息将所述应用的请求分配到对应的数据库节点。
CN202311765703.9A 2023-12-21 2023-12-21 一种多端数据库系统 Pending CN117609389A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311765703.9A CN117609389A (zh) 2023-12-21 2023-12-21 一种多端数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311765703.9A CN117609389A (zh) 2023-12-21 2023-12-21 一种多端数据库系统

Publications (1)

Publication Number Publication Date
CN117609389A true CN117609389A (zh) 2024-02-27

Family

ID=89957984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311765703.9A Pending CN117609389A (zh) 2023-12-21 2023-12-21 一种多端数据库系统

Country Status (1)

Country Link
CN (1) CN117609389A (zh)

Similar Documents

Publication Publication Date Title
US20190340168A1 (en) Merging conflict resolution for multi-master distributed databases
US7076553B2 (en) Method and apparatus for real-time parallel delivery of segments of a large payload file
EP3811596B1 (en) Hierarchical namespace with strong consistency and horizontal scalability
US8930316B2 (en) System and method for providing partition persistent state consistency in a distributed data grid
US9639590B2 (en) Database system and method for searching database
US8775373B1 (en) Deleting content in a distributed computing environment
EP2317450A1 (en) Method and apparatus for distributed data management in a switching network
US20120143873A1 (en) Method and apparatus for updating a partitioned index
CN102333029B (zh) 一种服务器集群系统中的路由方法
US20130036092A1 (en) Method and System to Maintain Strong Consistency of Distributed Replicated Contents in a Client/Server System
US9218353B2 (en) Method and system for name space propagation and file caching to remote nodes in a storage system
CN111143382B (zh) 数据处理方法、系统和计算机可读存储介质
US9081839B2 (en) Push replication for use with a distributed data grid
CN108574666B (zh) 一种数据流调度方法、装置和系统
CN112199427A (zh) 一种数据处理方法和系统
CN106850724B (zh) 数据推送方法及装置
CN110022338A (zh) 文件读取方法、系统、元数据服务器和用户设备
CN112351068A (zh) 信息同步方法、系统、装置、计算机设备和存储介质
CN102843310B (zh) 基于流言协议的广域网中消息的发布、订阅方法和系统
CN117609389A (zh) 一种多端数据库系统
CN115687250A (zh) 一种存储方法、设备、系统和计算机存储介质
CN113742336A (zh) 一种数据处理方法及设备、存储介质
US20240179059A1 (en) Systems and Methods for Storing and Transporting Configuration Data to Edge Servers
CN112199419B (zh) 一种分布式时序数据库、存储方法、设备及存储介质
CN117193671B (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination