CN115510024A - 一种实现大规模并行数据库高可用的方法及系统 - Google Patents
一种实现大规模并行数据库高可用的方法及系统 Download PDFInfo
- Publication number
- CN115510024A CN115510024A CN202211035477.4A CN202211035477A CN115510024A CN 115510024 A CN115510024 A CN 115510024A CN 202211035477 A CN202211035477 A CN 202211035477A CN 115510024 A CN115510024 A CN 115510024A
- Authority
- CN
- China
- Prior art keywords
- persistent memory
- data
- node
- memory device
- metadata
- 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 title claims abstract description 43
- 230000002085 persistent effect Effects 0.000 claims abstract description 159
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 238000007726 management method Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 238000013461 design Methods 0.000 abstract description 3
- 230000002688 persistence Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/242—Query formulation
- G06F16/243—Natural language query formulation
-
- 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/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于数据库高可用设计技术领域,具体提供一种实现大规模并行数据库高可用的方法及系统,所述方法包括如下步骤:在所有节点上安装持久内存设备,并在操作系统中配置持久内存参数;在协调节点上安装支持RDMA协议网卡,并在操作系统中配置网卡参数;在协调节点的元数据管理模块设置RDMA接口;当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器;当协调节点接收到读请求时,配置读取接口读取相关数据;当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输。提升了数据同步传输的速度。
Description
技术领域
本发明涉及数据库高可用设计技术领域,具体涉及一种实现大规模并行数据库高可用的方法及系统。
背景技术
MPP(Massively Parallel Processing)大规模并行处理技术,在数据库非共享集群中,每个数据库节点都有独立的硬盘存储系统和内存系统,业务系统将数据根据数据库模型划分到各个节点上,每台数据节点通过专用网络或通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。简单来说,MPP是将数据库查询任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与分布式文件系统相似)。MPP技术是由并行的多个节点组成的集群,每个节点具有计算、存储、网络等资源,计算任务分配到集群中节点上并行计算,计算结果完成后,通过网络将计算结果返回到协调节点。MPP数据库是一款无共享架构的分布式并行结构化数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI系统和决策支持系统。MPP采用完全并行和无共享的分布式扁平架构,这种架构中的每一个节点(node)都是独立的、自给的、节点之间对等,而且整个系统中不存在单点瓶颈,具有非常强的扩展性。
当前MPP数据库技术高可用技术方案,在MPP数据库集群中部署与协调节点M同样的备份节点协调节点S,协调节点M与协调节点S之间通过InterConnect网络UDP连接,协调节点M在运行中,实时将系统元数据同步到协调节点S,保持两个节点数据的实时一致;当协调节点M宕机后,协调节点S成为MPP数据库的主协调节点。
当前MPP数据库持久化使用常规硬盘(SDD,SCSI,STAT,SAS等)作为存储介质,由于常规硬盘的数据读写速度、延时性能与CPU、内存频率差距太大,影响了CPU计算效率和数据持久化效率;当前MPP数据库高可用技术方案,是将主协调节点与备协调节点、Segment节点通过InterConnect的UDP网络连接一起,UDP网络在数据传输过程中需要由用户态复制到内核态;内核态复制到网卡缓存;同理在目标节点需要实现逆过程;这样数据在节点内部经历了多次复制,增大了数据传输的延时,降低了数据传输速度。
发明内容
当前MPP数据库持久化使用常规硬盘(SDD,SCSI,STAT,SAS等)作为存储介质,由于常规硬盘的数据读写速度、延时性能与CPU、内存频率差距太大,影响了CPU计算效率和数据持久化效率;当前MPP数据库高可用技术方案,是将主协调节点与备协调节点、Segment节点通过InterConnect的UDP网络连接一起,UDP网络在数据传输过程中需要由用户态复制到内核态;内核态复制到网卡缓存;同理在目标节点需要实现逆过程;这样数据在节点内部经历了多次复制,增大了数据传输的延时,降低了数据传输速度。本发明提供一种实现大规模并行数据库高可用的方法及系统。
第一方面,本发明技术方案提供一种实现大规模并行数据库高可用的方法,基于大规模并行数据库高可用架构,所述高可用架构包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点,所述方法包括如下步骤:
在所有节点上安装持久内存设备,并在操作系统中配置持久内存参数;
在协调节点上安装支持RDMA协议网卡,并在操作系统中配置网卡参数;
在协调节点的元数据管理模块设置RDMA接口;
当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器;
当协调节点接收到读请求时,配置读取接口读取相关数据;
当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输。
优选地,当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器的步骤包括:
当协调节点接收到数据写请求时,判断各节点是否安装了持久内存设备;
若否,调用硬盘接口将数据写入硬盘;
若是,调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件,并将元数据文件位置数据写入MPP库文件管理器。
优选地,该方法还包括:
实时监控持久内存设备的剩余存储空间;
当持久内存设备剩余存储空间小于设定的第一阈值时,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘。
优选地,调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件的步骤包括:
协调节点调用持久内存接口将写入请求转发至持久内存接口所在计算节点;
持久内存接口向所在计算节点的持久内存管理器申请存储空间;
若申请成功,将数据写入持久内存设备,并记录元数据到元数据文件。
若存储空间不足,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;
响应持久内存接口的申请,持久化内存管理器分配存储空间;执行步骤:将数据写入持久内存设备,并记录元数据到元数据文件。
优选地,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘的步骤包括:
根据申请的存储空间以及剩余存储空间的大小确定待转存的数据大小;其中,待转存数据大小=申请的存储空间-剩余存储空间+第一阈值;
将持久内存设备中的数据按照数据热度进行排序;
热度由低到高选择数据生成数据块,数据块的大小等于确定的待转存的数据大小;
将生成的数据块转存到硬盘并将持久内存设备中转存完成的数据删除。
优选地,协调节点包括主协调节点和备协调节点;
当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输的步骤包括:
当主协调节点同步元数据文件到备协调节点时,判断协调节点是否配置支持RDMA协议的网卡;
若是,开启RDMA协议,调用元数据管理模块设置RDMA接口,将主协调节点元数据文件传输到备协调节点;
否则,通过TCP/IP协议将主协调节点元数据文件传输到备协调节点。
优选地,判断协调节点是否配置支持RDMA协议的网卡的步骤包括:
读取系统网卡配置参数;
读取协调节点持久内存配置参数;
根据读取的网卡配置参数和协调节点持久内存配置参数判断协调节点是否配置支持RDMA协议的网卡。
优选地,当协调节点接收到读请求时,配置读取接口读取相关数据的步骤包括:
当协调节点接收到读元数据请求时,配置元数据文件读取接口读取MPP库文件管理器元数据文件目录;
当协调节点接收到读数据请求时,判断数据存储位置;
当数据在持久内存设备时,配置持久内存读取接口读取持久内存设备上的数据;
当数据在硬盘时,配置硬盘读取接口读取硬盘上的数据。
第二方面,本发明技术方案提供一种实现大规模并行数据库高可用的系统,包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点;
每个节点内安装有持久内存设备,协调节点安装有支持RDMA协议网卡;
协调节点设置有RDMA接口,当协调节点之间同步元数据文件时,开启RDMA协议,调用RDMA接口进行元数据文件的传输;
持久内存设备设置有持久内存接口,用于当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备。
优选地,协调节点,用于调用持久内存接口将写入请求转发至持久内存接口所在计算节点;通过持久内存接口向所在计算节点的持久内存管理器申请存储空间;若申请成功,将数据写入持久内存设备,并记录元数据到元数据文件;若存储空间不足,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;针对持久内存接口的申请,持久化内存管理器分配存储空间。
从以上技术方案可以看出,本发明具有以下优点:用持久化内存PMM作为MPP数据库协调节点中系统库持久化介质,相比当前MPP数据库持久化使用常规硬盘(SDD,SCSI,STAT,SAS等)作为存储介质,数据存取速率得到极大提升;二是本发明使用RDMA(远程直接数据)存取技术作为协调节点中主节点、备节点之间数据传输的方案,减少了在节点内部的数据复制。根据RDMA协议,数据由MPP数据库数据源节点直接由用户态缓存发送到MPP数据目标节点的缓存区,提升了数据同步传输的速度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
具体实施方式
当前MPP数据库持久化使用常规硬盘(SDD,SCSI,STAT,SAS等)作为存储介质,由于常规硬盘的数据读写速度、延时性能与CPU、内存频率差距太大,影响了CPU计算效率和数据持久化效率;当前MPP库高可用技术方案,是将主协调节点与备协调节点、Segment节点(计算节点)通过InterConnect的UDP网络连接一起,UDP网络在数据传输过程中需要由用户态复制到内核态;内核态复制到网卡缓存;同理在目标节点需要实现逆过程;这样数据在节点内部经历了多次复制,增大了数据传输的延时,降低了数据传输速度。本发明使用PMM持久内存设备作为MPP库协调节点中系统库持久化介质,相比当前MPP库持久化使用常规硬盘(SDD,SCSI,STAT,SAS等)作为存储介质,数据存取速率得到极大提升;二是本发明使用RDMA(远程直接数据)存取技术作为协调节点中主协调节点、备协调节点之间数据传输的方案,减少了在节点内部的数据复制。根据RDMA协议,数据由MPP库数据源节点直接由用户态缓存发送到MPP数据目标节点的缓存区,提升了数据同步传输的速度。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,PMM(Persistent Memory Module):持久内存设备(非易失性内存);
RDMA(Remote Direct Memory Access)远程直接内存访问;
MPP(Massively Parallel Processing)大规模并行处理;
CPU(central processing unit)中央处理器;
DB(Database)数据库;
Segment段,数据按照逻辑规则划分的一个子集合;
Memory内存;
Node节点,一台计算机/服务器;
PB数据库存储单位,1PB=1024TB,1TB=1024GB,GB是吉字节,即千兆;
Bigdata大数据;
SQL(StructuredQueryLanguage)结构化查询语言;
API(ApplicationProgrammingInterface)应用程序编程(开发)接口。
如图1所示,本发明实施例提供一种实现大规模并行数据库高可用的方法,基于大规模并行数据库高可用架构,所述高可用架构包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点,所述方法包括如下步骤:
步骤1:在所有节点上安装持久内存设备,并在操作系统中配置持久内存参数;
步骤2:在协调节点上安装支持RDMA协议网卡,并在操作系统中配置网卡参数;
步骤3:在协调节点的元数据管理模块设置RDMA接口;
步骤4:当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器;
步骤5:当协调节点接收到读请求时,配置读取接口读取相关数据;
步骤6:当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输。
需要说明的是,大规模并行数据库MPP具备以下技术特征:
1)低硬件成本:完全使用x86/ARM架构的服务器,不需要昂贵的服务器和磁盘阵列;2)集群架构与部署:完全并行的大规模并行加无共享的分布式架构,采用无协调节点架构部署,节点对等的扁平结构;3)海量数据分布压缩存储:可处理PB级别以上的结构化数据,采用哈希分布、随机存储策略进行数据存储;同时采用先进的压缩算法,减少存储数据所需的空间,可以将所用空间减少1~20倍,并相应地提高I/O性能;4)数据加载高效性:基于策略的数据加载模式,集群整体加载速度可达2TB/h;5)高扩展、高可靠:支持集群节点的扩容和缩容,支持全量、增量的备份/恢复;6)高可用、易维护:数据通过副本提供冗余保护,自动故障探测和管理,自动同步元数据和业务数据。提供图形化工具,以简化管理员对数据库的管理工作;7)高并发:读写不互斥,支持数据的边加载边查询,单个节点并发能力大于300用户;8)标准化:支持SQL92标准,支持C API、ODBC、JDBC、ADO.NET等接口规范。
大规模并行数据库高可用架构中的每个节点包括以下软件模块:
解析器:协调节点作为整个分布式系统集群的大脑,负责接收客户端的连接,处理请求。跟单机数据库节点一样,对于每一个连接请求,都会在协调节点上面启动一个数据库引擎进程出来,负责处理这个连接提交的查询语句。对于每一条进来的查询语句,数据库引擎进程中的解析器执行语法分析和词法分析,生成解析树。
优化器:优化器根据解析器生成的解析树,生成查询计划。查询计划描述了如何执行查询。查询计划的优劣直接影响查询的执行效率。
调度器:MPP数据库中负责分配处理查询需要的计算资源,将查询计划发送到每个计算节点。在MPP数据库中,计算节点称为Segment节点,每一个Segment实例实际上就是一个数据库实例。调度器根据优化器生成的查询计划确定执行计划需要的计算资源,然后通过libpg协议给每个Segment实例发送连接请求,通过Segment实例上的数据库进程创建查询进程。调度器同时负责这些查询进程的整个生命周期。
执行器:每个查询进程接收到从调度器发送过来的查询计划之后,通过执行器执行分配给自己的任务,增加一个Motion的操作节点负责不同查询进程间的数据交换。
数据交换组件Interconnect:MPP数据库在执行查询语句的时候,跟单机数据库的一个重要差别在于,它会涉及到不同计算节点间的数据交换。在MPP数据库系统架构中,Interconnect组件负责数据交换,MPP数据库为保证数据传输效率和系统扩展性,实现了基于UDP协议的数据交换组件。前面在解析执行器的时候提到,MPP数据库引入的Motion的操作节点通过Interconnect组件在不同的计算节点之间实现数据的重分布。
分布式事务:MPP数据库是通过分布式事务来确保系统信息一致的,更确切地说,通过两阶段提交来确保系统元数据的一致性。协调节点上的分布式事务管理器协调Segment节点上的提交和回滚操作。每个Segment实例有自己的事务日志,确定何时提交和回滚自己的事务。本地事务状态保存在本地的事务日志中。
元数据表:元数据表负责存储和管理数据库、表、字段等元数据。协调节点上面的元数据表是全局数据库对象的元数据,称为全局元数据表;每个Segment实例上也有一份本地数据库对象的元数据,称为本地元数据表。解析器、优化器、调度器、执行器和Interconnect等无状态组件在运行过程中需要访问元数据表信息,决定执行的逻辑。由于元数据表分布式地存储在不同的节点中,如何保持元数据表中信息的一致性是极具挑战的任务。一旦出现元数据表不一致的情况,整个分布式数据库系统是无法正常工作的。
持久化:狭义的持久化,仅仅指把域对象永久保存到数据库中;广义的持久化,包括和数据库相关的各种操作。
保存:把域对象永久保存到数据库。
更新:更新数据库中域对象的状态。
删除:从数据库中删除一个域对象。
加载:根据特定的域主键,把一个域对象从数据库加载到内存。
查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载内在存中。在本文中是广义持久化,包括数据的保存、更新、删除、加载、查询等处理过程。
在有些实施例中,步骤4中当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器的步骤包括:
步骤41:当协调节点接收到数据写请求时,判断各节点是否安装了持久内存设备;
若否,执行步骤42,若是,执行步骤43;
步骤42:调用硬盘接口将数据写入硬盘;
步骤43:调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件,并将元数据文件位置数据写入MPP库文件管理器。
在有些实施例中,为了保证持久内存设备可用,该方法还包括:
步骤101:实时监控持久内存设备的剩余存储空间;
步骤102:当持久内存设备剩余存储空间小于设定的第一阈值时,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘。
相应的,步骤43中调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件的步骤包括:
步骤431:协调节点调用持久内存接口将写入请求转发至持久内存接口所在计算节点;
步骤432:持久内存接口向所在计算节点的持久内存管理器申请存储空间;
若申请成功,执行步骤433,若存储空间不足,执行步骤434;
步骤433:将数据写入持久内存设备,并记录元数据到元数据文件。
步骤434:启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;执行步骤435;
步骤435:响应持久内存接口的申请,持久化内存管理器分配存储空间;执行步骤:将数据写入持久内存设备,并记录元数据到元数据文件。
在有些实施例中,步骤434中启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘的步骤包括:
步骤4341:根据申请的存储空间以及剩余存储空间的大小确定待转存的数据大小;其中,待转存数据大小=申请的存储空间-剩余存储空间+第一阈值;
步骤4342:将持久内存设备中的数据按照数据热度进行排序;
步骤4343:热度由低到高选择数据生成数据块,数据块的大小等于确定的待转存的数据大小;
步骤4344:将生成的数据块转存到硬盘并将持久内存设备中转存完成的数据删除。
在有些实施例中,协调节点包括主协调节点和备协调节点;
步骤6中,当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输的步骤包括:
步骤61:当主协调节点同步元数据文件到备协调节点时,判断协调节点是否配置支持RDMA协议的网卡;
若是,执行步骤62,否则,执行步骤63;
步骤62:开启RDMA协议,调用元数据管理模块设置RDMA接口,将主协调节点元数据文件传输到备协调节点;
步骤63:通过TCP/IP协议将主协调节点元数据文件传输到备协调节点。
需要说明的是,步骤61中,判断协调节点是否配置支持RDMA协议的网卡的步骤包括:
步骤611:读取系统网卡配置参数;
步骤612:读取协调节点持久内存配置参数;
步骤613:根据读取的网卡配置参数和协调节点持久内存配置参数判断协调节点是否配置支持RDMA协议的网卡。
在有些实施例中,步骤5中当协调节点接收到读请求时,配置读取接口读取相关数据的步骤包括:
步骤51a:当协调节点接收到读元数据请求时,配置元数据文件读取接口读取MPP库文件管理器元数据文件目录;
步骤51b:当协调节点接收到读数据请求时,判断数据存储位置;
当数据在持久内存设备时,执行步骤51b1,当数据在硬盘时,执行步骤51b1;
步骤51b1:配置持久内存读取接口读取持久内存设备上的数据;
步骤51b2:配置硬盘读取接口读取硬盘上的数据。
如图2所示,本发明实施例提供一种实现大规模并行数据库高可用的系统,包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点;
每个节点内安装有持久内存设备,协调节点安装有支持RDMA协议网卡;
协调节点设置有RDMA接口,当协调节点之间同步元数据文件时,开启RDMA协议,调用RDMA接口进行元数据文件的传输;
持久内存设备设置有持久内存接口,用于当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备。每个节点内的CPU连接持久内存设备和硬盘;
协调节点,用于调用持久内存接口将写入请求转发至持久内存接口所在计算节点;通过持久内存接口向所在计算节点的持久内存管理器申请存储空间;若申请成功,将数据写入持久内存设备,并记录元数据到元数据文件;若存储空间不足,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;针对持久内存接口的申请,持久化内存管理器分配存储空间。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种实现大规模并行数据库高可用的方法,其特征在于,基于大规模并行数据库高可用架构,所述高可用架构包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点,所述方法包括如下步骤:
在所有节点上安装持久内存设备,并在操作系统中配置持久内存参数;
在协调节点上安装支持RDMA协议网卡,并在操作系统中配置网卡参数;
在协调节点的元数据管理模块设置RDMA接口;
当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器;
当协调节点接收到读请求时,配置读取接口读取相关数据;
当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输。
2.根据权利要求1所述的实现大规模并行数据库高可用的方法,其特征在于,当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备,并将元数据文件位置数据写入MPP库文件管理器的步骤包括:
当协调节点接收到数据写请求时,判断各节点是否安装了持久内存设备;
若否,调用硬盘接口将数据写入硬盘;
若是,调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件,并将元数据文件位置数据写入MPP库文件管理器。
3.根据权利要求2所述的实现大规模并行数据库高可用的方法,其特征在于,该方法还包括:
实时监控持久内存设备的剩余存储空间;
当持久内存设备剩余存储空间小于设定的第一阈值时,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘。
4.根据权利要求3所述的实现大规模并行数据库高可用的方法,其特征在于,调用持久内存接口将数据写入计算节点的持久内存设备,记录元数据到元数据文件的步骤包括:
协调节点调用持久内存接口将写入请求转发至持久内存接口所在计算节点;
持久内存接口向所在计算节点的持久内存管理器申请存储空间;
若申请成功,将数据写入持久内存设备,并记录元数据到元数据文件;
若存储空间不足,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;
响应持久内存接口的申请,持久化内存管理器分配存储空间;执行步骤:将数据写入持久内存设备,并记录元数据到元数据文件。
5.根据权利要求4所述的实现大规模并行数据库高可用的方法,其特征在于,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘的步骤包括:
根据申请的存储空间以及剩余存储空间的大小确定待转存的数据大小;其中,待转存数据大小=申请的存储空间-剩余存储空间+第一阈值;
将持久内存设备中的数据按照数据热度进行排序;
热度由低到高选择数据生成数据块,数据块的大小等于确定的待转存的数据大小;
将生成的数据块转存到硬盘并将持久内存设备中转存完成的数据删除。
6.根据权利要求1所述的实现大规模并行数据库高可用的方法,其特征在于,协调节点包括主协调节点和备协调节点;
当协调节点之间同步元数据文件时,开启RDMA协议,调用元数据管理模块设置的RDMA接口进行元数据文件的传输的步骤包括:
当主协调节点同步元数据文件到备协调节点时,判断协调节点是否配置支持RDMA协议的网卡;
若是,开启RDMA协议,调用元数据管理模块设置RDMA接口,将主协调节点元数据文件传输到备协调节点;
否则,通过TCP/IP协议将主协调节点元数据文件传输到备协调节点。
7.根据权利要求6所述的实现大规模并行数据库高可用的方法,其特征在于,判断协调节点是否配置支持RDMA协议的网卡的步骤包括:
读取系统网卡配置参数;
读取协调节点持久内存配置参数;
根据读取的网卡配置参数和协调节点持久内存配置参数判断协调节点是否配置支持RDMA协议的网卡。
8.根据权利要求1所述的实现大规模并行数据库高可用的方法,其特征在于,当协调节点接收到读请求时,配置读取接口读取相关数据的步骤包括:
当协调节点接收到读元数据请求时,配置元数据文件读取接口读取MPP库文件管理器元数据文件目录;
当协调节点接收到读数据请求时,判断数据存储位置;
当数据在持久内存设备时,配置持久内存读取接口读取持久内存设备上的数据;
当数据在硬盘时,配置硬盘读取接口读取硬盘上的数据。
9.一种实现大规模并行数据库高可用的系统,其特征在于,包括若干节点,所述节点包括协调节点和与协调节点通信的计算节点;
每个节点内安装有持久内存设备,协调节点安装有支持RDMA协议网卡;
协调节点设置有RDMA接口,当协调节点之间同步元数据文件时,开启RDMA协议,调用RDMA接口进行元数据文件的传输;
持久内存设备设置有持久内存接口,用于当协调节点接收到数据写请求时,配置持久内存接口将数据写入计算节点的持久内存设备。
10.根据权利要求9所述的实现大规模并行数据库高可用的系统,其特征在于,协调节点,用于调用持久内存接口将写入请求转发至持久内存接口所在计算节点;通过持久内存接口向所在计算节点的持久内存管理器申请存储空间;若申请成功,将数据写入持久内存设备,并记录元数据到元数据文件;若存储空间不足,启动持久内存设备数据转存算法,将持久内存设备中的数据转存到硬盘,扩充持久内存设备剩余存储空间;针对持久内存接口的申请,持久化内存管理器分配存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035477.4A CN115510024A (zh) | 2022-08-26 | 2022-08-26 | 一种实现大规模并行数据库高可用的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211035477.4A CN115510024A (zh) | 2022-08-26 | 2022-08-26 | 一种实现大规模并行数据库高可用的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510024A true CN115510024A (zh) | 2022-12-23 |
Family
ID=84502067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211035477.4A Pending CN115510024A (zh) | 2022-08-26 | 2022-08-26 | 一种实现大规模并行数据库高可用的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115510024A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756150A (zh) * | 2023-08-16 | 2023-09-15 | 浩鲸云计算科技股份有限公司 | 一种Mpp数据库大表关联加速方法 |
-
2022
- 2022-08-26 CN CN202211035477.4A patent/CN115510024A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756150A (zh) * | 2023-08-16 | 2023-09-15 | 浩鲸云计算科技股份有限公司 | 一种Mpp数据库大表关联加速方法 |
CN116756150B (zh) * | 2023-08-16 | 2023-10-31 | 浩鲸云计算科技股份有限公司 | 一种Mpp数据库大表关联加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338766B (zh) | 事务处理方法、装置、计算机设备及存储介质 | |
US10929428B1 (en) | Adaptive database replication for database copies | |
USRE47106E1 (en) | High-performance log-based processing | |
US10817478B2 (en) | System and method for supporting persistent store versioning and integrity in a distributed data grid | |
US11010262B2 (en) | Database system recovery using preliminary and final slave node replay positions | |
US11841844B2 (en) | Index update pipeline | |
Baker et al. | Megastore: Providing scalable, highly available storage for interactive services. | |
US7743036B2 (en) | High performance support for XA protocols in a clustered shared database | |
US7257689B1 (en) | System and method for loosely coupled temporal storage management | |
US9996427B2 (en) | Parallel backup for distributed database system environments | |
EP1649374B1 (en) | Parallel recovery by non-failed nodes | |
US10083093B1 (en) | Consistent replication in a geographically disperse active environment | |
US20120158650A1 (en) | Distributed data cache database architecture | |
CN111143389A (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
WO2022174735A1 (zh) | 基于分布式存储的数据处理方法、装置、设备以及介质 | |
JP2023541298A (ja) | トランザクション処理方法、システム、装置、機器、及びプログラム | |
CN115114374B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN103593420A (zh) | 一种利用共享在线日志实现异构同平台的数据库集群搭建方法 | |
CN115083538B (zh) | 一种药物数据的处理系统、运行方法及数据处理方法 | |
CN115510024A (zh) | 一种实现大规模并行数据库高可用的方法及系统 | |
KR100492167B1 (ko) | 비공유 구조의 데이터베이스 클러스터 서버 시스템과온라인 확장 방법 | |
US11301341B2 (en) | Replication system takeover with handshake | |
Suganuma et al. | Distributed and fault-tolerant execution framework for transaction processing | |
US11874751B2 (en) | Operating a data center | |
US20240126782A1 (en) | Configuration and management of replication units for asynchronous database transaction replication |
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 |