CN117609389A - 一种多端数据库系统 - Google Patents
一种多端数据库系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 3
- 238000007726 management method Methods 0.000 claims description 25
- 239000012634 fragment Substances 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 2
- 230000010076 replication Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data 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任一项所述的多端数据库系统,包括:
中间件节点接受来自不同应用的请求,分析请求内容,获取合适的数据库节点,并采用分库分表算法,将所述应用的请求通过算法计算分配到对应数据库节点,完成请求的分流;
其中,所述数据库节点用于存储相应数据,所述中间件节点对应的所述数据库节点数量为多个,并具有标识信息;所述中间件节点通过标识信息将所述应用的请求分配到对应的数据库节点。
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) |
-
2023
- 2023-12-21 CN CN202311765703.9A patent/CN117609389A/zh active Pending
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 |