CN105824868A - 一种分布式数据库数据处理方法和分布式数据库系统 - Google Patents

一种分布式数据库数据处理方法和分布式数据库系统 Download PDF

Info

Publication number
CN105824868A
CN105824868A CN201510997077.5A CN201510997077A CN105824868A CN 105824868 A CN105824868 A CN 105824868A CN 201510997077 A CN201510997077 A CN 201510997077A CN 105824868 A CN105824868 A CN 105824868A
Authority
CN
China
Prior art keywords
data
back end
distributed
module
management node
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.)
Granted
Application number
CN201510997077.5A
Other languages
English (en)
Other versions
CN105824868B (zh
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.)
Guangdong Eshore Technology Co Ltd
Original Assignee
Guangdong Eshore Technology 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 Guangdong Eshore Technology Co Ltd filed Critical Guangdong Eshore Technology Co Ltd
Priority to CN201510997077.5A priority Critical patent/CN105824868B/zh
Publication of CN105824868A publication Critical patent/CN105824868A/zh
Application granted granted Critical
Publication of CN105824868B publication Critical patent/CN105824868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/21Design, administration or maintenance of databases
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

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

Abstract

本发明提供了一种分布式数据库数据处理方法,所述方法包括管理节点接收客户端发送的请求;所述管理节点根据所述请求和存储的全局元数据生成分布式执行计划;所述管理节点将所述分布式执行计划发送到相应的数据节点执行;所述管理节点接收相应数据节点发送的执行分布式计划的结果;所述管理节点将接收的所述结果发送给客户端。本发明为基于海量数据的大数据OLAP应用提供处理解决方案,能满足处理数据量大、数据透明分布存储、多表进行关联操作等要求。本发明还提供一种分布式数据库系统。

Description

一种分布式数据库数据处理方法和分布式数据库系统
技术领域
本发明涉及数据库技术,尤其涉及一种分布式数据库数据处理方法和一种分布式数据库系统。
背景技术
随着大数据时代的到来,企业数据的增多对传统IT系统的数据存储、数据处理能力提出新的挑战。传统的IT系统是基于单机模式设计及研发,其处理效能取决于本身应用架构设计及运行设备等多种因素。而无论技术如何发展,单台设备的处理能力是有限的,虽然能满足企业信息化要求,但针对企业海量数据存储、计算需求远远不足。
基于以上的技术挑战,业界在基于传统的单机数据库的基础上发展出分布式数据库技术。分布式数据库虽然在一定程度上能满足存储需求,但在海量数据多实体的整合、关联、聚合操作难以支持。而在OLAP应用场景中,常常需要整合企业众多数据,形成统一业务模型,并在此数据基础上进行多层次、多维度寻找数据中隐藏的价值。此类应用场景的特点是数据量巨大、涉及实体众多,以整合、关联、聚合等操作为主。(其中,OLAP(On-LineAnalyticalProcessing):联机分析处理,OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果)
目前,应用最广泛的分布式数据库产品是开源MySql,基于MySql的分布式数据库方案从架构上由两大部分组成:数据中间件、数据节点。基于中间件和数据节点的分布式数据库方案有以下主要约束:(1)此方案不支持跨库情况下的JOIN、分页、排序、子查询操作;(2)此方案要求多表操作(如:JOIN)时,多表实体的分布键要求一致;否则将出现数据不正确的情况。由此可见,在OLAP应用的场景下,海量数据的存储、统计分析处理一直是需要解决的技术难题。
发明内容
本发明提供一种分布式数据库数据处理方法,
另外,本发明还提供一种分布式数据库系统。
一种分布式数据库数据处理方法,其特征在于:
管理节点接收客户端发送的请求;
所述管理节点根据所述请求和存储的全局元数据生成分布式执行计划;
所述管理节点将所述分布式执行计划发送到相应的数据节点执行;
所述管理节点接收相应数据节点发送的执行所述分布式执行计划的结果;
所述管理节点将接收的所述结果发送给所述客户端。
一种分布式数据库系统,其特征在于,包括管理节点,所述管理节点包括第一存储模块、第一管理模块、第一接收模块、执行计划生成模块、第一发送模块;
所述第一存储模块,用于存储全局元数据;
第一管理模块,用于管理所述全局元数据;
所述第一接收模块,用于接收客户端发送的请求;
所述执行计划生成模块,用于根据所述请求和存储的全局元数据生成分布式执行计划;
所述第一发送模块,用于将所述分布式执行计划发送到相应的数据节点执行;
所述第一接收模块,还用于接收相应数据节点发送的执行所述分布式执行计划的结果;
所述第一发送模块,还用于将接收的所述结果发送给所述客户端。
上述所述分布式数据库数据处理方法,管理节点根据客户端的请求生成分布式执行计划,将该分布式执行计划发送到数据节点执行,数据节点执行完毕后将执行结果返回给管理节点,管理节点将执行结果返回给客户端。上述所述分布式数据库系统包括管理节点和多个数据节点。该分布式数据库处理方法和系统能够对数据进行透明分布存储,能够通过分布式执行计划机制生成分布式执行计划,能够将分布式执行计划的执行任务在数据节点上并行处理。可支持多表操作等。上述分布式数据库处理方法和系统为基于海量数据的大数据OLAP应用提供处理解决方案,能满足处理数据量大、数据透明分布存储、多表进行关联操作等要求。
附图说明
图1为分布式数据库系统的结构示意图。
图2为管理节点的功能模块图。
图3为数据节点的功能模块图。
图4为管理节点的处理方法流程图。
图5为管理节点处理客户端发送的表实体存储请求的方法流程图。
图6为管理节点处理客户端发送的表实体查询请求的方法流程图。
图7为管理节点处理客户端发送的表实体关联请求的方法流程图。
图8为数据节点执行分布式执行计划的方法流程图。
图9为数据节点执行分布式执行计划的示意图。
具体实施方式
为使本发明的目的、优点和技术方案更加清楚,下面将结合附图对本发明的具体实施方式作进一步的详细描述。
图1为分布式数据库系统100的结构示意图。该分布式数据库系统100采用客户机和服务器(C/S)结构设计,包括管理节点10和多个数据节点20。管理节点10接收客户端30发送的请求,根据接收到的请求生成分布式执行计划,并将分布式执行计划发送给数据节点20执行,管理节点10接收数据节点20执行分布式执行计划的结果并将结果返回给客户端30。其中,执行计划包括一个或者多个执行任务。
图2为管理节点10的功能模块图。管理节点10包括第一存储模块11、第一管理模块12、第一接收模块13、获取模块14、执行计划生成模块15、第一发送模块16、第一判断模块17。
第一存储模块11用于存储数据库系统的全局元数据。全局元数据包括数据库系统的规模,数据节点的信息,表实体信息(包括分布键等),表实体分布式存储方式(包括分布键要求、表实体分布式存储策略等),表实体统计信息等。需要注意的是,存储模块11不存储表实体的实际数据。
第一管理模块12用于管理数据库系统的全局元数据,包括增加、删除、修改等。
第一接收模块13用于接收客户端30发送的请求,还用于接收数据节点20发送的执行分布式执行计划的结果。其中,客户端30发送的请求包括表实体的存储请求、表实体的查询请求、表实体的关联请求等。
获取模块14用于获取存储模块11存储的相关的全局元数据信息以供管理节点20使用。
执行计划生成模块15用于根据客户端30发送的请求和存储模的全局元数据信息,如数据库系统的规模、数据节点的信息等,来生成分布式执行计划。
第一发送模块16用于将执行计划生成模块14生成的执行计划发送给数据节点20,并将接收到的数据节点20执行分布式执行计划的结果发送给客户端30。
第一判断模块17用于在处理客户端关联请求时,分布式执行计划生成之前判断一些条件是否满足给定的要求。如判断两个表中是否其中一个表的数据量远大于另一个表的数据量、判断接收到请求所需的分布键是否与表实体的分布键一致等。其中,分布键是指表实体的字段,如客户表的客户姓名字段。
图3为数据节点20的功能模块图。数据节点20包括第二存储模块21、第二管理模块22、第二接收模块23、执行模块24、第二发送模块25、第二判断模块26。
第二存储模块21用于存储表实体的实际数据。
第二管理模块22用于管理管理节点10发送的执行任务。包括增加执行任务、任务完成后删除执行任务等。第二管理模块22还用于管理表实体的数据。
第二接收模块23用于接收管理节点10发送的分布式执行计划的执行任务。
执行模块24用于执行分布式执行计划的执行任务。多个执行任务按顺序执行,多个相同的执行任务可以理解为一个任务批次,相同的任务在多个数据节点上并行处理。
第二发送模块25用于如果分布式执行计划的执行任务没有执行完毕,将当前执行任务处理结束后将任务处理结果发送给下一个执行任务,还用于将一次的分布式执行计划的执行任务全部执行完毕后将执行任务的结果发送给管理节点10。
第二判断模块26用于判断分布式执行计划中是否还有执行任务没有执行等。
图4为管理节点10的处理方法流程图。该方法包括如下步骤。
步骤S111,接收客户端30发送的请求。
步骤S112,根据客户端发送的请求和存储的全局元数据生成分布式执行计划。
步骤S113,将分布式执行计划发送到相应的数据节点执行。
步骤S114,接收相应数据节点发送的执行分布式计划的结果。
步骤S115,将接收执行分布式计划的结果发送给客户端。
具体地,客户端30发送的请求包括表实体的存储请求、表实体的查询请求、表实体的关联请求等。
图5为管理节点10处理客户端30发送的表实体存储请求的方法流程图。该方法包括如下步骤。
步骤S121,接收客户端30发送的的表实体数据存储请求。
步骤S122,获取客户端30要存储的表实体数据的存储策略。其中,存储策略有两种,哈希分布存储和复制分布存储。哈希分布指将根据每行数据的分布键值计算出哈希值,并考虑集群规模,将数据进行相对平均分布到整个集群。经过哈希分布后,同一张表的所有数据节点的数据相加才是表的全量数据。本存储模式适用于数据量巨大而且单节点无法存储全量数据的表实体。复制分布存储是指将表数据复制到所有数据节点上,数据内容完全一样。复制分布存储模式适用于数据量比较小的表实体。其中,分布键值指的是表实体每行记录中字段的具体值,如客户表的客户姓名具体值“张三”。
步骤S123,根据获取的存储策略生成分布式执行计划,即根据获取的存储策略把表实体数据存储到相应的数据节点。如果分布存储策略是哈希分布,则根据数据的分布键值将数据存储到相应的数据节点,如果是复制分布,则把数据复制并存储到每个数据节点中。
步骤S124,将分布式执行计划的存储任务发送到相应的数据节点。
步骤S125,接收数据节点返回的存储结果。
步骤S126,将接收到的存储结果发送给客户端30。
将表实体的数据进行存储后,管理节点的第一管理模块还将记录表实体数据的存储情况到第一存储模块,如记录数据节点存储数据的存储方式等。
图6为管理节点10处理客户端30发送的表实体查询请求的方法流程图。该方法包括如下步骤。
步骤S131,接收客户端30发送的表实体数据查询请求。
步骤S132,根据查询请求中的表实体和分布键值从全局元数据中获取查询所需的数据在哪些数据节点上。具体地,根据表实体的名称和要查询的分布键值以及第一存储模块中存储的分布键要求计算出要查询的分布键值在哪些数据节点上。
步骤S133,根据获取到的数据节点和分布键值生成分布式执行计划,即根据分布键值在获取到的数据节点上执行查询任务。
步骤S134,将分布式执行计划的查询任务发送到该数据节点。
步骤S135,接收相应数据节点发送的查询任务的结果。
步骤S136,将接收到的查询结果发送给客户端30。
图7为管理节点10处理客户端30发送的表实体关联请求的方法流程图。该方法包括如下步骤。
步骤S141,接收客户端30发送的两个表实体数据关联请求。
步骤S142,从第一存储模块中获取两个表实体的数据量、分布键、分布式存储方式。其中,分布式存储方式包括分布键要求、表实体分布存储策略等,根据分布存储策略和分布键要求可计算出数据节点上存储的是哪些分布键值的数据。
步骤S143,判断其中一个表的数据量是否远大于另一个表的数据量。如果是,执行步骤S144;如果否,执行步骤S145。
步骤S144,将数据量小的表执行复制分布存储。其中,复制分布存储是指将表数据复制到所有数据节点上,数据内容完全一样。复制分布存储模式适用于数据量比较小的表实体。接着执行步骤S147。
步骤S145,判断在每个数据节点上关联请求所需的分布键与两个表的分布键是否一致。如果不一致,执行步骤S146;如果一致,执行步骤S147。
步骤S146,将与关联请求所需的分布键不一致的表进行全表扫描,根据关联请求所需的分布键进行重分布任务,将重分布的结果进行存储。重分布任务指数据任务所需的分布键与表实体的分布键不一致,需要根据任务所需的分布键对表实体的数据在集群内进行重新分布排列。重分布任务由管理节点分发到各数据节点,各数据节点根据数据分布情况将非本数据节点分布的数据发送集群其他数据节点。各数据节点执行重分布任务涉及到查询、发送、接收、存储等操作。将重分布的结果数据存储在共享内存区,如果重分布的数据量大则将重分布的结果数据存放在临时区。
步骤S147,根据所述分布式存储方式对每个数据节点存储的两个表实体的数据执行所述关联请求。如果进行了重分布任务,则两个表实体的数据分别为重分布的结果数据和没有进行重分布的表实体的数据。如果进行了复制分布存储,则两个表实体的数据分别为复制分布存储的结果数据和没有进行复制分布存储的表实体的数据。
图7中,步骤S144、S147为当两个表中有一个表的数据量远大于其中一个数据量时,所涉及到的分布式执行计划;步骤S146、S147为两个表中数据量相当或者相差不大,且每个数据节点上关联请求所需的分布键与两个表的分布键不一致时,所涉及到的分布式执行计划;步骤S147为两个表中数据量相当或者差别不大,且每个数据节点上关联请求所需的分布键与两个表的分布键一致时,所涉及到的分布式执行计划。
步骤S148,将分布式执行计划的所有执行任务分发到每个数据节点上。
步骤S149,接收每个数据节点执行分布式执行计划的结果。
步骤S150,将接收到的结果发送给客户端。
下面以并行关联查询为例:
有两个实休:客户表CUSTOMER(分布键CUST_ID)保存客户信息、销售表SALES(分布键SALE_ID)保存订单数据。查询客户订单信息需要将两个实体关联在一起查询,假设客户表CUSTOMER和销售表SALES都是以哈希分布存储的。
SELECTC.CUSTOMER,S.SALE_ID,S.AMOUNT
FROMCUSTOMERC
LEFTJOINSALESSONC.CUST_ID=S.CUST_ID
由于客户表与销售表的分布键不一样,在同一个数据节点上的数据如果直接根据CUST_ID进行关联查询得出的结果是不正确的。
根据两个实体的数据存储策略及集群规模,进行执行计划计算及制订,简化的执行计划如下:
首先对SALES表进行全表扫描,全表扫描后根据新的分布键CUST_ID进行全集群重分布,重分布的结果放在数据节点的共享内存区,如果数据量大将存放在临时区;
接着在每个数据节点上对CUSTOMER表与SALES重分布结果进行JOIN。
JOIN结束后将处理的结果返回。
图8为数据节点20执行分布式执行计划的方法流程图。该方法包括如下步骤。
步骤S151,数据节点接收管理节点分发的分布式执行计划的执行任务。其中执行任务包括存储任务、查询任务、关联任务等等。
步骤S152,数据节点执行当前的执行任务,多个数据节点并行执行该执行任务。
步骤S153,是否该分布式执行计划还有其他的执行任务没有执行。如果是,执行步骤S154,如果否,执行步骤S155。
步骤S154,将当前执行任务的结果发送给下一个执行任务。执行步骤S152。
步骤S155,数据节点将分布式执行计划的最后处理的结果发送给管理节点10。
分布式执行技术包括一个或多个执行任务,在数据节点上执行分布式执行计划的执行任务时按顺序执行,当前执行任务处理结束后将处理结果发送给下一个任务,相同执行任务在多个数据节点上可以并行处理,多个相同任务理解为任务批次。图9为数据节点20执行分布式执行计划的示意图。
以上所述分布式数据库处理方法和分布式数据库系统,该分布式数据库系统包括管理节点和多个数据节点,管理节点根据客户端的请求生成分布式执行计划,将该分布式执行计划发送到数据节点执行,数据节点执行完毕后将执行结果返回给管理节点,管理节点将执行结果返回给客户端。该分布式数据库处理方法和系统能够对数据进行透明分布存储,能够通过分布式执行计划机制生成分布式执行计划,能够将分布式执行计划的执行任务在数据节点上并行处理。可支持多表操作等。本发明为基于海量数据的大数据OLAP应用提供处理解决方案,能满足处理数据量大、数据透明分布存储、处理逻辑复杂、处理高性能等要求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式数据库数据处理方法,其特征在于:
管理节点接收客户端发送的请求;
所述管理节点根据所述请求和存储的全局元数据生成分布式执行计划;
所述管理节点将所述分布式执行计划发送到相应的数据节点执行;
所述管理节点接收相应数据节点发送的执行所述分布式执行计划的结果;
所述管理节点将接收的所述结果发送给所述客户端。
2.如权利要求1所述的方法,其特征在于:
所述管理节点接收客户端发送的表实体数据查询请求,所述查询请求中包括分布键值;
所述管理节点根据所述查询请求中的表实体和所述分布键值从所述全局元数据中获取查询所需的数据在哪些数据节点上;
所述管理节点根据获取到的数据节点和所述分布键值生成分布式执行计划,即根据所述表实体的所述分布键值在所述数据节点上执行查询任务;
所述管理节点将所述分布式执行计划的查询任务发送到所述数据节点;
所述管理节点接收所述数据节点发送的查询任务的结果;
所述管理节点将所述结果发送给所述客户端。
3.如权利要求1所述的方法,其特征在于:
所述管理节点接收客户端发送的两个表实体数据关联请求;
所述管理节点从所述全局元数据中获取两个表的数据量和分布式存储方式;
所述管理节点判断其中一个表的数据量是否远大于另一个表的数据量;
如果其中一个表的数据量远大于另一个表的数据量,所述管理节点生成分布式执行计划的执行任务,将数据量小的表实体执行复制分布存储;根据所述分布式存储方式对每个数据节点存储的两个表实体的数据执行所述关联请求,其中一个表实体的数据为执行所述复制分布存储之后的数据;
所述管理节点将所述分布式执行计划的执行任务分发到每个数据节点上;
所述管理节点接收每个数据节点执行所述分布式执行计划的结果;
所述管理节点将所述结果发送给所述客户端。
4.如权利要求1所述的方法,其特征在于:
所述管理节点接收客户端发送的两个表实体数据关联请求;
所述管理节点从所述全局元数据中获取两个表的数据量、分布键、分布式存储方式;
所述管理节点判断其中一个表的数据量是否远大于另一个表的数据量;
如果两个表的数据量相当或者相差不大,所述管理节点判断在每个数据节点上关联请求所需的分布键与两个表的分布键是否一致;
如果数据节点上关联请求所需的分布键与两个表的分布键不一致,所述管理节点生成分布式执行计划的执行任务,将与关联请求所需的分布键不一致的表实体进行全表扫描,根据关联请求所需的分布键进行重分布任务;根据所述分布式存储方式对每个数据节点存储的两个表实体的数据执行所述关联请求,其中一个表实体的数据为进行重分布任务之后的数据;
所述管理节点将所述分布式执行计划的执行任务分发到每个数据节点上;
所述管理节点接收每个数据节点执行所述分布式执行计划的结果;
所述管理节点将所述结果发送给所述客户端。
5.如权利要求1所述的方法,其特征在于:
数据节点接收管理节点分发的分布式执行计划的执行任务,所述数据节点有多个;
所述数据节点根据所存储的表实体数据执行当前的执行任务,所述多个数据节点并行执行所述执行任务;
所述数据节点判断所述分布式执行计划是否还有其他的执行任务没有执行;
如果还有其他的执行任务没有执行,所述数据节点将当前执行任务的结果发送给下一个执行任务;
如果所述分布式执行计划全部执行完毕,所述数据节点将所述分布式执行计划的最后处理结果发送给管理节点。
6.一种分布式数据库系统,其特征在于:包括管理节点,所述管理节点包括第一存储模块、第一管理模块、第一接收模块、执行计划生成模块、第一发送模块;
所述第一存储模块,用于存储全局元数据;
第一管理模块,用于管理所述全局元数据;
所述第一接收模块,用于接收客户端发送的请求;
所述执行计划生成模块,用于根据所述请求和存储的全局元数据生成分布式执行计划;
所述第一发送模块,用于将所述分布式执行计划发送到相应的数据节点执行;
所述第一接收模块,还用于接收相应数据节点发送的执行所述分布式执行计划的结果;
所述第一发送模块,还用于将接收的所述结果发送给所述客户端。
7.如权利要求6所述的系统,其特征在于:还包括获取模块,
所述第一接收模块,还用于接收客户端发送的表实体数据查询请求,所述查询请求中包括分布键值;
所述获取模块,用于根据所述查询请求中的表实体和所述分布键值从所述第一存储模块中获取查询所需的数据在哪些数据节点上;
所述执行计划生成模块,还用于根据获取到的数据节点和所述分布键值生成分布式执行计划,即根据所述表实体的所述分布键值在所述数据节点上执行查询任务;
所述第一发送模块,还用于将所述分布式执行计划的查询任务分发到所述数据节点;
所述第一接收模块,还用于接收所述数据节点发送的查询任务的结果;
所述第一发送模块,还用于将所述结果发送给所述客户端。
8.如权利要求6所述的系统,其特征在于:还包括获取模块、第一判断模块,
所述第一接收模块,还用于接收客户端发送的两个表实体数据关联请求;
所述获取模块,用于从所述第一存储模块中获取两个表的数据量和分布式存储方式;
所述第一判断模块,用于判断其中一个表的数据量是否远大于另一个表的数据量;
所述执行计划生成模块,用于如果其中一个表的数据量远大于另一个表的数据量,将数据量小的表实体执行复制分布存储;用于根据所述分布式存储方式对每个数据节点存储的两个表实体的数据执行所述关联请求,其中一个表实体的数据为执行所述复制分布存储之后的数据;
所述第一发送模块,还用于将所述分布式执行计划的执行任务分发到相应数据节点上;
所述第一接收模块,还用于接收所述数据节点执行所述分布式执行计划的结果;
所述第一发送模块,还用于将所述结果发送给所述客户端。
9.如权利要求6所述的系统,其特征在于:还包括获取模块、第一判断模块,
所述第一接收模块,还用于接收客户端发送的两个表实体数据关联请求;
所述获取模块,用于从第一存储模块中获取两个表的数据量、分布键、分布式存储方式;
所述第一判断模块,用于判断其中一个表的数据量是否远大于另一个表的数据量;
所述第一判断模块,还用于当两个表的数据量相当或者相差不大时,判断在每个数据节点上关联请求所需的分布键与两个表的分布键是否一致;
所述执行计划生成模块,还用于如果数据节点上关联请求所需的分布键与两个表的分布键不一致,将与关联请求所需的分布键不一致的表进行全表扫描,根据关联请求所需的分布键进行重分布任务;根据存储的两个表实体的数据在每个数据节点执行关联请求,其中一个表实体的数据为进行重分布任务之后的数据;
所述第一发送模块,还用于管理节点将所述分布式执行计划的执行任务分发到每个数据节点上;
所述第一接收模块,还用于接收每个数据节点执行所述分布式执行计划的结果;
所述第一发送模块,还用于管理节点将所述结果发送给所述客户端。
10.如权利要求6所述的系统,其特征在于:还包括多个数据节点,所述数据节点包括第二存储模块、第二管理模块、第二接收模块、执行模块、第二发送模块、第二判断模块;
所述第二存储模块,用于存储相应的表实体的数据;
所述第二管理模块,用于管理所述表实体的数据;
所述第二接收模块,用于接收管理节点分发的分布式执行计划的执行任务;
所述执行模块,用于执行当前的执行任务;所述多个数据节点并行执行所述执行任务;
所述第二判断模块,用于判断是否所述分布式执行计划还有其他的执行任务没有执行;
所述第二发送模块,用于如果还有其他的执行任务没有执行,所述数据节点将当前执行任务的结果发送给下一个执行任务;
所述第二发送模块,还用于如果所述分布式执行计划的执行任务全部执行完毕,将所述分布式执行计划的最后处理结果发送给所述管理节点。
CN201510997077.5A 2015-12-24 2015-12-24 一种分布式数据库数据处理方法和分布式数据库系统 Active CN105824868B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510997077.5A CN105824868B (zh) 2015-12-24 2015-12-24 一种分布式数据库数据处理方法和分布式数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510997077.5A CN105824868B (zh) 2015-12-24 2015-12-24 一种分布式数据库数据处理方法和分布式数据库系统

Publications (2)

Publication Number Publication Date
CN105824868A true CN105824868A (zh) 2016-08-03
CN105824868B CN105824868B (zh) 2019-05-17

Family

ID=56514670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510997077.5A Active CN105824868B (zh) 2015-12-24 2015-12-24 一种分布式数据库数据处理方法和分布式数据库系统

Country Status (1)

Country Link
CN (1) CN105824868B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250566A (zh) * 2016-08-31 2016-12-21 天津南大通用数据技术股份有限公司 一种分布式数据库及其数据运算的管理方法
CN106713024A (zh) * 2016-12-14 2017-05-24 郑州云海信息技术有限公司 一种批量集群节点管理方法、系统及计算机集群管理节点
CN106874371A (zh) * 2016-12-30 2017-06-20 新华三技术有限公司 一种数据处理方法及装置
CN107870982A (zh) * 2017-10-02 2018-04-03 深圳前海微众银行股份有限公司 数据处理方法、系统和计算机可读存储介质
CN107908652A (zh) * 2017-10-12 2018-04-13 北京人大金仓信息技术股份有限公司 一种针对分布式数据库系统的Sequence实现方法
CN109189561A (zh) * 2018-08-08 2019-01-11 广东亿迅科技有限公司 一种基于mpp架构的事务处理系统及其方法
CN109241100A (zh) * 2018-08-23 2019-01-18 上海达梦数据库有限公司 一种查询方法、装置、设备及存储介质
CN109697112A (zh) * 2018-12-24 2019-04-30 广东亿迅科技有限公司 分布式集约化一站式作业系统和实现方法
CN110019231A (zh) * 2017-12-26 2019-07-16 中国移动通信集团山东有限公司 一种并行数据库动态关联的方法及节点
CN111198782A (zh) * 2018-11-16 2020-05-26 中国移动通信集团辽宁有限公司 数据重分布方法、装置、设备及存储介质
CN112328700A (zh) * 2020-11-26 2021-02-05 北京海量数据技术股份有限公司 一种分布式数据库
CN112637067A (zh) * 2020-12-28 2021-04-09 北京明略软件系统有限公司 基于模拟网络广播的图并行计算系统和方法
CN112988827A (zh) * 2021-04-20 2021-06-18 杭州欧若数网科技有限公司 一种图数据库统计点边数的方法、系统、设备和存储介质
CN113516536A (zh) * 2021-07-21 2021-10-19 福建天晴数码有限公司 一种分布式处理订单大数据的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591970A (zh) * 2011-12-31 2012-07-18 北京奇虎科技有限公司 一种分布式键-值查询方法和查询引擎系统
CN103150304A (zh) * 2011-12-06 2013-06-12 郑红云 云数据库系统
US20130282650A1 (en) * 2012-04-18 2013-10-24 Renmin University Of China OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform
CN104063486A (zh) * 2014-07-03 2014-09-24 四川中亚联邦科技有限公司 一种大数据分布式存储方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150304A (zh) * 2011-12-06 2013-06-12 郑红云 云数据库系统
CN102591970A (zh) * 2011-12-31 2012-07-18 北京奇虎科技有限公司 一种分布式键-值查询方法和查询引擎系统
US20130282650A1 (en) * 2012-04-18 2013-10-24 Renmin University Of China OLAP Query Processing Method Oriented to Database and HADOOP Hybrid Platform
CN104063486A (zh) * 2014-07-03 2014-09-24 四川中亚联邦科技有限公司 一种大数据分布式存储方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
(美)约根森: "《微软大数据解决方案》", 30 May 2015, 清华大学出版社 *
朱珠: "基于Hadoop的海量数据处理模型研究和应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250566A (zh) * 2016-08-31 2016-12-21 天津南大通用数据技术股份有限公司 一种分布式数据库及其数据运算的管理方法
CN106713024A (zh) * 2016-12-14 2017-05-24 郑州云海信息技术有限公司 一种批量集群节点管理方法、系统及计算机集群管理节点
CN106874371A (zh) * 2016-12-30 2017-06-20 新华三技术有限公司 一种数据处理方法及装置
CN107870982A (zh) * 2017-10-02 2018-04-03 深圳前海微众银行股份有限公司 数据处理方法、系统和计算机可读存储介质
CN107908652A (zh) * 2017-10-12 2018-04-13 北京人大金仓信息技术股份有限公司 一种针对分布式数据库系统的Sequence实现方法
CN110019231A (zh) * 2017-12-26 2019-07-16 中国移动通信集团山东有限公司 一种并行数据库动态关联的方法及节点
CN110019231B (zh) * 2017-12-26 2021-06-04 中国移动通信集团山东有限公司 一种并行数据库动态关联的方法及节点
CN109189561A (zh) * 2018-08-08 2019-01-11 广东亿迅科技有限公司 一种基于mpp架构的事务处理系统及其方法
CN109241100A (zh) * 2018-08-23 2019-01-18 上海达梦数据库有限公司 一种查询方法、装置、设备及存储介质
CN109241100B (zh) * 2018-08-23 2021-06-08 上海达梦数据库有限公司 一种查询方法、装置、设备及存储介质
CN111198782A (zh) * 2018-11-16 2020-05-26 中国移动通信集团辽宁有限公司 数据重分布方法、装置、设备及存储介质
CN109697112A (zh) * 2018-12-24 2019-04-30 广东亿迅科技有限公司 分布式集约化一站式作业系统和实现方法
CN112328700A (zh) * 2020-11-26 2021-02-05 北京海量数据技术股份有限公司 一种分布式数据库
CN112637067A (zh) * 2020-12-28 2021-04-09 北京明略软件系统有限公司 基于模拟网络广播的图并行计算系统和方法
CN112988827A (zh) * 2021-04-20 2021-06-18 杭州欧若数网科技有限公司 一种图数据库统计点边数的方法、系统、设备和存储介质
CN113516536A (zh) * 2021-07-21 2021-10-19 福建天晴数码有限公司 一种分布式处理订单大数据的方法及系统

Also Published As

Publication number Publication date
CN105824868B (zh) 2019-05-17

Similar Documents

Publication Publication Date Title
CN105824868A (zh) 一种分布式数据库数据处理方法和分布式数据库系统
US11281669B2 (en) Parallel processing database system
CN109669934B (zh) 一种切合电力客服业务的数据仓库系统及其构建方法
CN103620601B (zh) 在映射缩减过程中汇合表
CN106528787B (zh) 一种基于海量数据多维分析的查询方法及装置
US20130191523A1 (en) Real-time analytics for large data sets
CN106611064B (zh) 分布式关系数据库的数据处理方法和装置
CN106649828B (zh) 一种数据查询方法及系统
US10346375B2 (en) In-database parallel analytics
CN104767813A (zh) 基于openstack的公众行大数据服务平台
US7814045B2 (en) Semantical partitioning of data
JP7313382B2 (ja) 分散システムの頻繁パターン分析
Agarwal et al. Approximate incremental big-data harmonization
CN107943952A (zh) 一种基于Spark框架进行全文检索的实现方法
CN110990372A (zh) 一种维度数据的处理方法及装置、数据查询方法及装置
CN107545005A (zh) 一种数据处理方法及装置
CN103678550A (zh) 一种基于动态索引结构的海量数据实时查询方法
CN111723161A (zh) 一种数据处理方法、装置及设备
CN108140022B (zh) 数据查询方法和数据库系统
CN104239470A (zh) 一种面向分布式环境的空间数据复合处理系统和方法
Hashem et al. An Integrative Modeling of BigData Processing.
CN113360500A (zh) 数据处理方法及装置、存储介质、电子设备
CN108073641B (zh) 查询数据表的方法和装置
CN113377817A (zh) 数据处理方法、系统、设备及存储介质
CN107818117B (zh) 一种数据表的建立方法、在线查询方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant