CN104484472B - 一种混合多种异构数据源的数据库集群及实现方法 - Google Patents

一种混合多种异构数据源的数据库集群及实现方法 Download PDF

Info

Publication number
CN104484472B
CN104484472B CN201410850225.6A CN201410850225A CN104484472B CN 104484472 B CN104484472 B CN 104484472B CN 201410850225 A CN201410850225 A CN 201410850225A CN 104484472 B CN104484472 B CN 104484472B
Authority
CN
China
Prior art keywords
data
module
node
base cluster
heterogeneous data
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.)
Active
Application number
CN201410850225.6A
Other languages
English (en)
Other versions
CN104484472A (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.)
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Original Assignee
TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES 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 TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd filed Critical TIANJIN NANKAI UNIVERSITY GENERAL DATA TECHNOLOGIES Co Ltd
Priority to CN201410850225.6A priority Critical patent/CN104484472B/zh
Publication of CN104484472A publication Critical patent/CN104484472A/zh
Application granted granted Critical
Publication of CN104484472B publication Critical patent/CN104484472B/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

本发明提供种混合多种异构数据源的数据库集群,包括处理层和存储层,所述存储层包括多种异构数据源,每个异构数据源作为一个虚拟节点,每个所述虚拟节点可为单个数据库实例或者是数据库集群,或者是单个虚拟节点或多个虚拟节点;所述处理层包括命令解析模块、查询优化模块、元数据管理模块、执行计划模块、执行器模块和事务管理模块。本发明具有的优点和积极效果是:能够使用户通过统一的界面访问“异构数据源”(如:用户已购买的数据库产品或数据库集群等),并将“异构数据源”以虚拟节点形式纳入统一的“集群”资源管理,从而实现灵活的在“异构数据源”组成的“集群”中进行数据迁移、复制、伸缩等操作。

Description

一种混合多种异构数据源的数据库集群及实现方法
技术领域
本发明属于分布式数据库技术领域,尤其是涉及一种混合多种异构数据源的数据库集群及实现方法。
背景技术
大数据技术(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理。
数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
MPP(Massively Parallel Processing),意为大规模并行处理系统,这样的系统是由许多松耦合处理单元组成的,要注意的是这里指的是处理单元而不是处理器。每个单元内的CPU都有自己私有的资源,如总线、内存、硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。其中异构数据库指用不同种类的数据库。本地引擎指“集群”自带的数据管理系统。
之前方案是通过通用接口(ODBC或JDBC)访问“异构数据源”,将“异构数据源”当成平等的对象对待,没有发挥出“异构数据源”的特点。只能对“异构数据源”进行增删改查,但是不能更细粒度的根据“异构数据源”的特点优化数据的处理和管理。
发明内容
本发明要解决的问题是提供一种混合多种异构数据源的数据库集群及实现方法。
为解决上述技术问题,本发明采用的技术方案是:
本发明提供的一种混合多种异构数据源的数据库集群,包括处理层和存储层,
所述存储层包括多种异构数据源,每个异构数据源作为一个虚拟节点,每个所述虚拟节点可为单个数据库实例或者是数据库集群,或者是单个虚拟节点或多个虚拟节点;
所述处理层包括命令解析模块、查询优化模块、元数据管理模块、执行计划模块、执行器模块和事务管理模块;接收到命令后,首先通过命令解析模块解析出数据表相关信息并生成语法树,之后由查询优化模块根据语法树查询元数据管理模块生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后由执行器模块进行执行;
所述查询优化模块根据数据库集群的元数据充分利用现有异构数据源速度、压缩、存储或网络的优势进行数据组织和查询优化,将查询发送到对应适合的虚拟节点上;
所述元数据管理模块用来保存节点拓扑和关系在节点上的分布信息。
本发明提供的一种由多种异构数据源混合构造数据库集群的方法,包含:
将多种异构数据源以虚拟节点方式构建集群,以统一的用户界面和统一的资源管理系统来控制,其中每个虚拟节点中不限于单个数据库、数据库集群、或者一个数据库(集群)中的若干个实例;
由统一的用户界面将外部的异构数据源对应到多个虚拟节点上,以管理数据库集群节点的方式来管理异构数据源。
本发明具有的优点和积极效果是:
能够使用户通过统一的界面访问“异构数据源”(如:用户已购买的数据库产品或数据库集群等),并将“异构数据源”以虚拟节点形式纳入统一的“集群”资源管理,从而实现灵活的在“异构数据源”组成的“集群”中进行数据迁移、复制、伸缩等操作;并且,便于基于“异构数据源”所在硬件环境、拓扑结构,进行有针对性的部署和性能优化。
附图说明
图1是本发明数据库集群的原理结构示意图;
图2是本发明数据库集群的数据来源分派原理图;
图3是本发明数据库集群的扩容过程原理图;
图4是本发明数据库集群的虚拟节点之间数据备份过程原理图;
图5是本发明数据库集群的查询优化方式流程图;
图6是本发明数据库集群的虚拟节点数据处理方式原理图;
图7是本发明数据库集群的虚拟节点关系的分布方式原理图;
图8是本发明数据库集群的虚拟节点关系的重分布方式原理图。
具体实施方式
下面结合附图对本发明的具体实施例做详细说明。
一种混合多种异构数据源的数据库集群,如图1所示,包括处理层和存储层,
所述存储层包括多种异构数据源,每个异构数据源作为一个虚拟节点,每个所述虚拟节点可为单个数据库实例或者是数据库集群,或者是单个虚拟节点或多个虚拟节点;
所述处理层包括命令解析模块、查询优化模块、元数据管理模块、执行计划模块、执行器模块和事务管理模块;接收到命令后,首先通过命令解析模块解析出数据表相关信息并生成语法树,之后由查询优化模块根据语法树查询元数据管理模块生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后由执行器模块进行执行;
所述查询优化模块根据数据库集群的元数据充分利用现有异构数据源速度、压缩、存储或网络的优势进行数据组织和查询优化,将查询发送到对应适合的虚拟节点上;
所述元数据管理模块用来保存节点拓扑和关系在节点上的分布信息。
图2示出本发明数据库集群的处理层根据元数据将数据放到不同的虚拟节点上的处理过程。例如执行load data infile'/date.tbl'into table dwdate fieldsterminated by',';,首先进行命令解析,由命令解析模块解析出表名,文件名,分隔符,生成语法树,之后由查询优化模块根据语法树生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后又执行器模块进行执行。执行的流程是:查询元数据管理模块,找到dwdate表所在的虚拟节点信息,由执行器模块根据定义的规则切分数据文件,向虚拟节点传输数据,虚拟节点将接收到的数据保存到对应的数据库实例中。
图3示出了本发明数据库集群的虚拟节点扩容的一个用例,通过添加计算机,扩充数据库集群的数据处理能力,可将原来在一台计算机上的虚拟节点移动到多台计算机上,提升数据库集群的处理能力。例如执行mv vnode n1to‘192.168.1.35’;首先进行命令解析,由命令解析模块解析出源vnode名,目的ip,之后由查询优化模块根据语法树生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后又执行器模块进行执行。执行的流程是:查询元数据管理模块,找到vnode n1上的数据分片,由执行器模块在‘192.168.1.35’创建vnode n1的备份,n1_bak,启动vnode n1上的分片发送模块,向虚拟节点n1_bak传输分片数据,所有传输操作完成后,切换元数据信息,删除vnode n1,将vnoden1_bak替换为vnode n1。实现vnode的迁移。将原来共用一台机器的vnode改为每台机器用一个vnode,提升vnode的处理能力。
图4示出本发明数据库集群的在异构数据源之间实现备份的方式,数据库集群可以根据数据源的特点,数据备份到不同的虚拟节点上,方便利用异构数据源的优点进行数据处理。例如执行backup table t1from vnode n1to vnode n2;首先进行命令解析,由命令解析模块解析出表名,源vnode名,目的vnode名,之后由查询优化模块根据语法树生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后又执行器模块进行执行。执行的流程是:给vnode n1上的t1分片和vnode n2上的t1加写锁,由执行器模块启动vnoden1的数据传输模块和vnode n2的数据接收模块,启动vnode n1上的分片发送模块,向虚拟节点vnode n2传输分片数据,所有发送操作完成后,解除锁定。
图5示出本发明数据库集群的查询优化模块的优化查询流程,根据元数据和查询特征判断出查询是否能够被优化到特定的虚拟节点上执行,以提高执行效率。例如执行select use_name,call_time,call_date from t1where tel=‘13812345678’and call_date>‘2014-1-1’and call_date<‘2014-3-1’;首先进行命令解析,由命令解析模块解析出表名、列名、条件,之后由查询优化模块根据语法树生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后又执行器模块进行执行。执行的流程是:获取元数据,发现条件中的tel是hash列,对应的值‘13812345678’,对‘13812345678’取hash值,找到hash对应的虚拟节点n3,判断其他条件是范围条件,之后由优化器进行优化,查询只发送到vnoden3上,之后由执行器模块从vnode n3上获取结果并返回结果给用户。
图6示出本发明数据库集群的一种虚拟节点数据处理方式,虚拟节点对异构数据源执行过滤操作,并保存输出结果在虚拟节点中,之后对数据进行交换,最终执行关系运算获得结果集。
图7示出本发明数据库集群的一种关系的分布方式,关系分布在虚拟组(由一个或多个虚拟节点)上,可以将规模比较小的关系分布在少数节点上,便于进行数据加载等操作(访问较少的节点就可以完成),也可以将规模比较大的关系分布在更多的数节点上,平衡存储。
图8示出本发明数据库集群的一种关系的重分布,原来关系1定义在虚拟组1上,这时添加虚拟节点3和4,建立虚拟组2,之后将关系1重新定义在虚拟组2上。例如执行命令:alter table t1change vgroup from vg1to vg2;首先进行命令解析,由命令解析模块解析出表名、原vgroup名称、修改后vgroup名称,之后由查询优化模块根据语法树生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后又执行器模块进行执行。执行的流程是:通过元数据管理模块获取hash源数据,在虚拟节点1和虚拟节点2上根据hash源数据,启动数据重分布过程,在虚拟节点1,2,3,4上启动接收数据模块,接收数据。接收完毕后,t1分布在虚拟节点1,2,3,4上,实现了更大的处理能力。
本发明混合多种异构数据源的数据库集群,存储节点关系元数据,虚拟节点主要负责数据提取,数据传输,关系运算。提供统一的用户界面,用户界面允许用户与数据交互,包括添加新数据,修改现有数据,浏览数据,以及控制数据分片在虚拟节点间进行迁移或备份,用户界面还可以允许用户对虚拟节点进行管理,包括添加修改和删除虚拟节点;可以接入各类“异构数据源”,提供增、删、改、查接口,以及事务接口。
一种由多种异构数据源混合构造数据库集群的方法,包含将多种异构数据源以虚拟节点方式构建集群,以统一的用户界面和统一的资源管理系统来控制,其中每个虚拟节点中不限于单个数据库、数据库集群、或者一个数据库(集群)中的若干个实例;
由统一的用户界面将外部的异构数据源对应到多个虚拟节点上,以管理数据库集群节点的方式来管理异构数据源。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。

Claims (1)

1.一种混合多种异构数据源的数据库集群,其特征在于:包括处理层和存储层,
所述存储层包括多种异构数据源,每个异构数据源作为一个虚拟节点,每个所述虚拟节点可为单个数据库实例或者是数据库集群,或者是单个虚拟节点或多个虚拟节点;
所述处理层包括命令解析模块、查询优化模块、元数据管理模块、执行计划模块、执行器模块和事务管理模块;接收到命令后,首先通过命令解析模块解析出数据表相关信息并生成语法树,之后由查询优化模块根据语法树查询元数据管理模块生成查询计划,之后由执行计划模块根据查询计划生成执行计划,之后由执行器模块进行执行;
所述查询优化模块根据数据库集群的元数据充分利用现有异构数据源速度、压缩、存储或网络的优势进行数据组织和查询优化,将查询发送到对应适合的虚拟节点上;
所述元数据管理模块用来保存节点拓扑和关系在节点上的分布信息。
CN201410850225.6A 2014-12-31 2014-12-31 一种混合多种异构数据源的数据库集群及实现方法 Active CN104484472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410850225.6A CN104484472B (zh) 2014-12-31 2014-12-31 一种混合多种异构数据源的数据库集群及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410850225.6A CN104484472B (zh) 2014-12-31 2014-12-31 一种混合多种异构数据源的数据库集群及实现方法

Publications (2)

Publication Number Publication Date
CN104484472A CN104484472A (zh) 2015-04-01
CN104484472B true CN104484472B (zh) 2018-10-16

Family

ID=52759013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410850225.6A Active CN104484472B (zh) 2014-12-31 2014-12-31 一种混合多种异构数据源的数据库集群及实现方法

Country Status (1)

Country Link
CN (1) CN104484472B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279279B (zh) * 2015-11-16 2019-01-25 天津南大通用数据技术股份有限公司 从低速数据源加载压缩数据文件的方法及装置
CN105549909B (zh) * 2015-12-12 2019-03-12 天津南大通用数据技术股份有限公司 一种集群序列类一致性信息持久化的优化方法
US10896178B2 (en) * 2016-03-30 2021-01-19 Microsoft Technology Licensing, Llc High performance query processing and data analytics
DE202017007217U1 (de) * 2016-04-28 2020-02-06 Snowflake Inc. Multicluster-Lager
CN108319623B (zh) * 2017-01-18 2021-10-22 华为技术有限公司 一种数据重分布方法、装置及数据库集群
CN107491510A (zh) * 2017-08-03 2017-12-19 国网江苏省电力公司信息通信分公司 一种混合异构数据源统一查询系统及分布式查询方法
CN108345651A (zh) * 2018-01-22 2018-07-31 广州欧赛斯信息科技有限公司 一种实现互联互通的数据虚拟化的数据集成系统和方法
CN109241100B (zh) * 2018-08-23 2021-06-08 上海达梦数据库有限公司 一种查询方法、装置、设备及存储介质
CN111367954A (zh) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 数据查询处理方法、装置及系统、计算机可读存储介质
CN111858760B (zh) * 2020-07-13 2024-03-22 中国工商银行股份有限公司 一种异构数据库的数据处理方法及装置
CN112306996A (zh) * 2020-11-16 2021-02-02 天津南大通用数据技术股份有限公司 一种实现多集群间联合查询和快速数据迁移的方法
CN112506888A (zh) * 2020-12-29 2021-03-16 浪潮云信息技术股份公司 基于hdfs不同数据源的数据处理方法
CN112860186A (zh) * 2021-02-05 2021-05-28 中国科学技术大学 一种千亿级别的对象存储桶的扩容方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984439A (zh) * 2010-12-09 2011-03-09 上海市共进通信技术有限公司 基于子查询实现数据源xml查询系统优化的方法
CN102546247A (zh) * 2011-12-29 2012-07-04 华中科技大学 一种适用流式处理的大规模数据连续分析系统
CN103064876A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 面向地理信息应用的空间数据服务化获取方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890507B2 (en) * 2005-02-25 2011-02-15 International Business Machines Corporation System and method of joining data obtained from horizontally and vertically partitioned heterogeneous data stores using string-based location transparent search expressions
CN102156699A (zh) * 2010-02-11 2011-08-17 陈巍 一种基于jdom解析技术的数据迁移方法
CN102682117B (zh) * 2012-05-15 2016-09-21 浪潮电子信息产业股份有限公司 一种数据库集群数据快速复制的方法
CN103064875B (zh) * 2012-10-30 2017-06-16 中国标准化研究院 一种服务化空间数据分布式查询方法
CN103593422B (zh) * 2013-11-01 2017-02-15 国云科技股份有限公司 一种异构数据库的虚拟访问管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984439A (zh) * 2010-12-09 2011-03-09 上海市共进通信技术有限公司 基于子查询实现数据源xml查询系统优化的方法
CN102546247A (zh) * 2011-12-29 2012-07-04 华中科技大学 一种适用流式处理的大规模数据连续分析系统
CN103064876A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 面向地理信息应用的空间数据服务化获取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
异构信息集成中的查询处理与优化研究;李瑞轩;《中国博士学位论文全文数据库 信息科技辑》;20050615(第02期);第I138-18页 *

Also Published As

Publication number Publication date
CN104484472A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104484472B (zh) 一种混合多种异构数据源的数据库集群及实现方法
CN108431804B (zh) 将多个容器数据库分组为单个容器数据库集群的能力
JP6117378B2 (ja) 分散型データベースクエリ・エンジン用のシステムおよび方法
US10824622B2 (en) Data statistics in data management systems
Bakshi Considerations for big data: Architecture and approach
Khandelwal et al. Zipg: A memory-efficient graph store for interactive queries
Padhy Big data processing with Hadoop-MapReduce in cloud systems
JPH07319923A (ja) マルチプロセッサコンピュータシステムの並行データベースを処理するための方法および装置
US20120158805A1 (en) Non-disruptive data movement and node rebalancing in extreme oltp environments
CN107408126B (zh) 用于集群中的基于联接的查询处理的工作负载感知的数据放置
CN106294757A (zh) 一种基于超图划分的分布式数据库及其集群分区方法
Chattopadhyay et al. Procella: Unifying serving and analytical data at YouTube
Samwel et al. F1 query: Declarative querying at scale
Xiong et al. Data vitalization: a new paradigm for large-scale dataset analysis
Borkar et al. Have your data and query it too: From key-value caching to big data management
US11960616B2 (en) Virtual data sources of data virtualization-based architecture
Yuanyuan et al. Distributed database system query optimization algorithm research
CN113127526A (zh) 一种基于Kubernetes的分布式数据存储和检索系统
Ni et al. Adaptive database schema design for multi-tenant data management
Xu et al. Banian: a cross-platform interactive query system for structured big data
US11263026B2 (en) Software plugins of data virtualization-based architecture
US11687513B2 (en) Virtual data source manager of data virtualization-based architecture
US20240143594A1 (en) Offloading graph components to persistent storage for reducing resident memory in distributed graph processing
CN105975546A (zh) 一种新型计算机监管系统
CN110569310A (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