CN109189561A - 一种基于mpp架构的事务处理系统及其方法 - Google Patents
一种基于mpp架构的事务处理系统及其方法 Download PDFInfo
- Publication number
- CN109189561A CN109189561A CN201810895582.2A CN201810895582A CN109189561A CN 109189561 A CN109189561 A CN 109189561A CN 201810895582 A CN201810895582 A CN 201810895582A CN 109189561 A CN109189561 A CN 109189561A
- Authority
- CN
- China
- Prior art keywords
- back end
- data
- data processing
- processing instructions
- client
- 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
Classifications
-
- 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/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于MPP架构的事务处理系统,所述系统包括有一管理节点、客户端以及多个数据节点,其中,所述管理节点,存储有数据表的分布规则;所述客户端,与所述管理节点及数据节点通信,用于解析来自外部的SQL命令以获知数据处理指令,且获取管理节点中存储的分布规则,根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点,并将该数据处理指令发送至计算所得的数据节点;所述数据节点,执行数据处理指令,并将执行结果发送至客户端。与现有技术相比,本发明基于MPP架构的事务处理系统可增加事务处理的吞吐量且能较好地适应OLAP业务及OLTP业务。
Description
技术领域
本发明涉及数据库及大数据处理技术领域,更具体地涉及一种基于MPP架构的事务处理系统及其方法。
背景技术
目前,市场上的数据库基本上要么只能较好地适应OLTP(on-line transactionprocessing,联机事务处理)业务,要么只能较好地适应OLAP(On-LineAnalyticalProcessing,联机分析处理)业务,这使得在不同应用场景时,要使用不同的数据库,两种数据库之间需要进行数据迁移、数据同步等,较难实现无缝对接,而现有GREENPLUM架构主要面向OLAP业务,其采用了MPP(Massive Parallel Processing,海量并行处理结构)。MPP系统由管理节点和若干个数据节点组成,前端提交的任务经管理节点调度后发送至全部或部分数据节点进行执行,然后再由管理节点汇总执行结果并返回前端,因所有的SQL解析与执行计划的确定都在管理节点上运行,且通过管理节点进行update和delete操作时其采用表级排它锁,无法并行,则使得GREENPLUM对于OLTP的支持很差,即在处理OLTP业务时,存在较大的性能问题,每秒处理事务数较低,每秒仅能处理200多个增删改的SQL操作。
鉴于此,有必要提供一种可增加事务处理的吞吐量且能较好地适应OLAP业务及OLTP业务的基于MPP架构的事务处理系统及其方法以解决上述缺陷。
发明内容
本发明所要解决的技术问题是提供一种可增加事务处理的吞吐量且能较好地适应OLAP业务及OLTP业务的基于MPP架构的事务处理系统。
本发明所要解决的另一技术问题是提供一种可增加事务处理的吞吐量且能较好地适应OLAP业务及OLTP业务的基于MPP架构的事务处理其方法。
为解决上述技术问题,根据本发明的一方面,提供一种基于MPP架构的事务处理系统,其包括有一管理节点、客户端以及多个数据节点,其中,所述管理节点,存储有数据表的分布规则;所述客户端,与所述管理节点及数据节点通信,用于解析来自外部的SQL命令以获知数据处理指令,且获取管理节点中存储的分布规则,根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点,并将该数据处理指令发送至计算所得的数据节点;所述数据节点,执行数据处理指令,并将执行结果发送至客户端。
其进一步技术方案为:所述数据节点具体用于:若所述数据处理指令为数据插入指令时,数据节点根据该指令将数据存储至其存储区中,并将插入结果发送至客户端。
其进一步技术方案为:所述数据节点具体用于:若所述数据处理指令为数据删除指令时,数据节点根据该指令删除其中存储的相应数据,并将删除结果发送至客户端。
其进一步技术方案为:所述数据节点具体用于:若所述数据处理指令为数据查询指令时,数据节点根据该指令查找相应数据的存储地址,并将存储地址发送至客户端。
其进一步技术方案为:所述分布规则包括分布键及分布方式。
为解决上述技术问题,根据本发明的另一方面,提供一种基于MPP架构的事务处理方法,该方法包括:
接收来自外部的SQL命令,并获取管理节点中存储的数据表分布规则;
解析所接收的SQL命令以获知数据处理指令;
根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点;
将数据处理指令发送至计算所得的数据节点;
接收数据节点的执行结果。
与现有技术相比,本发明的客户端直联数据节点,管理节点仅在客户端接收到SQL命令后提供数据表的分布规则,则数据传输不需经过管理节点,直接由客户端传至数据节点,可减少数据传输的消耗,且因数据节点之间的事务处理是独立的,可以并行处理事务,以增加事务处理的吞吐量,使得其较好地适应OLAP业务及OLTP业务。
附图说明
图1是本发明基于MPP架构的事务处理系统一具体实施例的结构框图。
图2是本发明基于MPP架构的事务处理方法一具体实施例的流程示意图。
具体实施方式
为使本领域的普通技术人员更加清楚地理解本发明的目的、技术方案和优点,以下结合附图和实施例对本发明做进一步的阐述。
现有MPP系统中将数据表横向切分成多个数据块,并分别存储到相应的数据节点,数据节点的运行机制与单机环境的数据库无异,即每个数据节点具有单独的操作系统、数据库等,节点之间完全无共享,有独立的I/O,数据处理完全并行,加载和数据处理方式与一般数据库相同,其负责数据的插入、查询、修改等操作。
参照图1,图1为本发明基于MPP架构的事务处理系统100一具体实施例的结构框图。在附图所示的实施例中,所述系统100包括有一管理节点20、客户端10以及多个数据节点30。其中,所述管理节点20存储有数据表的分布规则;本实施例中,所述分布规则包括分布键及分布方式,因GREENPLUM架构默认使用hash分布策略,该策略可选一个或者多个列作为分布键,所述分布键可用于做hash算法以确认数据存放至对应的数据节点30上,优选地,相同分布键值会hash到相同的数据节点30上。所述客户端10与所述管理节点20及数据节点30通信,用于解析来自外部的SQL命令以获知数据处理指令,且获取管理节点20中存储的分布规则,根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点30,并将该数据处理指令发送至计算所得的数据节点30;所述数据节点30,执行数据处理指令,并将执行结果发送至客户端10。基于该设计,本发明的客户端10直联数据节点30,管理节点20仅在客户端10接收到SQL命令后提供数据表的分布规则,则数据传输不需经过管理节点20,直接由客户端10传至数据节点30,可减少数据传输的消耗,且数据节点之间的事务处理是独立的,直接访问数据节点30时,因数据节点30处理数据时采用行级锁,可以并行,可增加事务处理的吞吐量,使得其较好地适应OLAP业务及OLTP业务。
在某些实施例中,所述数据节点30具体用于:若所述数据处理指令为数据插入指令时,数据节点30根据该指令将数据存储至其存储区中,并将插入结果发送至客户端10,以告知用户数据插入成功;若所述数据处理指令为数据删除指令时,数据节点30根据该指令删除其中存储的相应数据,并将删除结果发送至客户端10,以告知用户数据删除成功;而若所述数据处理指令为数据查询指令时,数据节点30根据该指令查找相应数据的存储地址,并将存储地址发送至客户端10,以告知用户其所需查找的数据具体的存储地址。
参照图2,图2为本发明基于MPP架构的事务处理方法一具体实施例的流程示意图。所述基于MPP架构的事务处理方法包括:
S101、接收来自外部的SQL命令,并获取管理节点中存储的数据表分布规则。
其中,MPP系统中将数据表横向切分成多个数据块,并分别存储到相应的数据节点。所述分布规则包括分布键及分布方式,因GREENPLUM架构默认使用hash分布策略,该策略可选一个或者多个列作为分布键,所述分布键可用于做hash算法以确认数据存放至对应的数据节点上,即将hash函数计算出的分布键值划分成不同的数值分区,并将不同分区映射到不同的数据节点,相同分布键值的数值分区会hash到相同的数据节点上。
该步骤中,客户端接收来自外部的SQL命令后,获取管理节点中存储的数据表分布规则。
S102、解析所接收的SQL命令以获知数据处理指令。
该步骤中,所述数据处理指令包括数据插入指令、数据删除指令及数据查询指令等。
S103、根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点。
该步骤中,若所述数据处理指令为数据插入指令,则客户端根据所获取的分布规则采用从GREENPLUM源代码中提取的hash算法计算数据应该存放到哪个节点数据;而若所述数据处理指令为数据删除指令或数据查询指令,则需根据所获取的分布规则采用从GREENPLUM源代码中提取的hash算法计算出所述需要删除的数据或者所需查询的数据存放的数据节点。
S104、将数据处理指令发送至计算所得的数据节点。
该步骤中,将数据处理指令发送至步骤S103计算所得的数据节点中,若所述数据处理指令为数据插入指令时,数据节点根据该指令将数据存储至其存储区中,并将插入结果发送至客户端,以告知用户数据插入成功;若所述数据处理指令为数据删除指令时,数据节点根据该指令删除其中存储的相应数据,并将删除结果发送至客户端,以告知用户数据删除成功;而若所述数据处理指令为数据查询指令时,数据节点根据该指令查找相应数据的存储地址,并将存储地址发送至客户端,以告知用户其所需查找的数据具体的存储地址。
S105、接收数据节点的执行结果。
综上所述,本发明的客户端直联数据节点,管理节点仅在客户端接收到SQL命令后提供数据表的分布规则,则数据传输不需经过管理节点,直接由客户端传至数据节点,可减少数据传输的消耗,且因数据节点之间的事务处理是独立的,可以并行处理事务,以增加事务处理的吞吐量,使得其较好地适应OLAP业务及OLTP业务。
以上所述仅为本发明的优选实施例,而非对本发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入本发明的保护范围之内。
Claims (6)
1.一种基于MPP架构的事务处理系统,其特征在于:所述系统包括有一管理节点、客户端以及多个数据节点,其中,
所述管理节点,存储有数据表的分布规则;
所述客户端,与所述管理节点及数据节点通信,用于解析来自外部的SQL命令以获知数据处理指令,且获取管理节点中存储的分布规则,根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点,并将该数据处理指令发送至计算所得的数据节点;
所述数据节点,执行数据处理指令,并将执行结果发送至客户端。
2.如权利要求1所述的基于MPP架构的事务处理系统,其特征在于,所述数据节点具体用于:若所述数据处理指令为数据插入指令时,数据节点根据该指令将数据存储至其存储区中,并将插入结果发送至客户端。
3.如权利要求1所述的基于MPP架构的事务处理系统,其特征在于,所述数据节点具体用于:若所述数据处理指令为数据删除指令时,数据节点根据该指令删除其中存储的相应数据,并将删除结果发送至客户端。
4.如权利要求1所述的基于MPP架构的事务处理系统,其特征在于,所述数据节点具体用于:若所述数据处理指令为数据查询指令时,数据节点根据该指令查找相应数据的存储地址,并将存储地址发送至客户端。
5.如权利要求1所述的基于MPP架构的事务处理系统,其特征在于:所述分布规则包括分布键及分布方式。
6.一种基于MPP架构的事务处理方法,其特征在于,所述方法包括:
接收来自外部的SQL命令,并获取管理节点中存储的数据表分布规则;
解析所接收的SQL命令以获知数据处理指令;
根据所获取的分布规则采用hash算法计算出用于执行该数据处理指令的数据节点;
将数据处理指令发送至计算所得的数据节点;
接收数据节点的执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895582.2A CN109189561A (zh) | 2018-08-08 | 2018-08-08 | 一种基于mpp架构的事务处理系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810895582.2A CN109189561A (zh) | 2018-08-08 | 2018-08-08 | 一种基于mpp架构的事务处理系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109189561A true CN109189561A (zh) | 2019-01-11 |
Family
ID=64920483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810895582.2A Pending CN109189561A (zh) | 2018-08-08 | 2018-08-08 | 一种基于mpp架构的事务处理系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189561A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019251A (zh) * | 2019-03-22 | 2019-07-16 | 深圳市腾讯计算机系统有限公司 | 一种数据处理系统、方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184812A (zh) * | 2014-08-20 | 2014-12-03 | 四川九成信息技术有限公司 | 一种基于私有云的多点数据传输方法 |
CN105045929A (zh) * | 2015-08-31 | 2015-11-11 | 国家电网公司 | 一种基于mpp构架的分布式关系型数据库 |
CN105824868A (zh) * | 2015-12-24 | 2016-08-03 | 广东亿迅科技有限公司 | 一种分布式数据库数据处理方法和分布式数据库系统 |
CN106844399A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
US20180004801A1 (en) * | 2013-05-13 | 2018-01-04 | Amazon Technologies, Inc. | Transaction ordering |
-
2018
- 2018-08-08 CN CN201810895582.2A patent/CN109189561A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004801A1 (en) * | 2013-05-13 | 2018-01-04 | Amazon Technologies, Inc. | Transaction ordering |
CN104184812A (zh) * | 2014-08-20 | 2014-12-03 | 四川九成信息技术有限公司 | 一种基于私有云的多点数据传输方法 |
CN105045929A (zh) * | 2015-08-31 | 2015-11-11 | 国家电网公司 | 一种基于mpp构架的分布式关系型数据库 |
CN106844399A (zh) * | 2015-12-07 | 2017-06-13 | 中兴通讯股份有限公司 | 分布式数据库系统及其自适应方法 |
CN105824868A (zh) * | 2015-12-24 | 2016-08-03 | 广东亿迅科技有限公司 | 一种分布式数据库数据处理方法和分布式数据库系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019251A (zh) * | 2019-03-22 | 2019-07-16 | 深圳市腾讯计算机系统有限公司 | 一种数据处理系统、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299102B (zh) | 一种基于Elastcisearch的HBase二级索引系统及方法 | |
US20210224280A1 (en) | Unified table query processing | |
US6915305B2 (en) | Restructuring view maintenance system and method | |
EP3365808B1 (en) | Proxy databases | |
US10073885B2 (en) | Optimizer statistics and cost model for in-memory tables | |
EP3120261B1 (en) | Dependency-aware transaction batching for data replication | |
US10585887B2 (en) | Multi-system query execution plan | |
US10929398B2 (en) | Distributed system with accelerator and catalog | |
US9535956B2 (en) | Efficient set operation execution using a single group-by operation | |
US10360269B2 (en) | Proxy databases | |
US9971820B2 (en) | Distributed system with accelerator-created containers | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
US11132366B2 (en) | Transforming directed acyclic graph shaped sub plans to enable late materialization | |
US10671641B1 (en) | Method and computer program product for efficiently loading and synchronizing column-oriented databases | |
EP3251030B1 (en) | Workload aware data placement for join-based query processing in a cluster | |
CN101710336A (zh) | 一种利用关系中间件加速数据处理的方法 | |
CN105335479A (zh) | 一种基于sql的文本数据统计实现方法 | |
CN104216962A (zh) | 一种基于HBase的海量网管数据索引设计方法 | |
KR20200092095A (ko) | 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법 | |
Yuanyuan et al. | Distributed database system query optimization algorithm research | |
US20170068703A1 (en) | Local database cache | |
CN109189561A (zh) | 一种基于mpp架构的事务处理系统及其方法 | |
Sreemathy et al. | Data validation in ETL using TALEND | |
KR20180077830A (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
KR101515304B1 (ko) | 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190111 |