CN104156419B - 一种异构数据源的实体化方法及其引擎 - Google Patents

一种异构数据源的实体化方法及其引擎 Download PDF

Info

Publication number
CN104156419B
CN104156419B CN201410377598.6A CN201410377598A CN104156419B CN 104156419 B CN104156419 B CN 104156419B CN 201410377598 A CN201410377598 A CN 201410377598A CN 104156419 B CN104156419 B CN 104156419B
Authority
CN
China
Prior art keywords
data
hypostazation
engine
entity
entity table
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
CN201410377598.6A
Other languages
English (en)
Other versions
CN104156419A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201410377598.6A priority Critical patent/CN104156419B/zh
Publication of CN104156419A publication Critical patent/CN104156419A/zh
Application granted granted Critical
Publication of CN104156419B publication Critical patent/CN104156419B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机应用技术领域,特别涉及到一种异构数据源的实体化方法及其引擎。本发明将分布式查询过程中产生在数据缓冲缓存区中的临时表转移到持久数据池中,其核心包括通道控制器、持久数据池两个部分。通道控制器负责管理数据从分布式查询引擎进入实体化引擎;持久化数据池提供数据最终的存储空间。本发明解决了云数据库系统查询过程中产生的中间结果持久化问题;可以用于云数据库系统查询数据的管理上。

Description

一种异构数据源的实体化方法及其引擎
技术领域
本发明涉及计算机应用技术领域,特别涉及到一种异构数据源的实体化方法及其引擎。
背景技术
在企业信息化建设过程中,由于各业务系统建设和实施数据管理系统的阶段性、技术性以及其它经济和人为因素的影响,导致企业在发展过程中积累了大量采用不同存储方式的业务数据;包括采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,构成了企业的异构数据源。这些分散的不同业务的数据管理系统虽然能够满足业务数据存储和管理要求,但在许多情况下,企业领导要做出一项决策,往往需要查询多个基于各种异构数据源的业务系统和外部系统,进行大量数据分析后才能做出决策。
因此,异构数据源的整合与集成是企业信息化建设过程经常遇到的一个现实问题,也是制约企业各种应用信息系统建设和数据共享程度,以及信息化建设投资重复或负担重的一个重要因素。
云数据库系统是进行异构数据源的整合与集成的重要方法。然而,如何云数据库系统在查询过程中产生的中间结果持久化到一个存储空间中是一个关键问题。
发明内容
本发明解决的技术问题之一在于提供一种支持异构数据源实体化的方法,解决云数据库系统在查询过程中产生的中间结果持久化到一个存储空间问题。
本发明解决的技术问题之二在于提供一种异构数据源的实体化引擎,解决云数据库系统在查询过程中产生的中间结果持久化到一个存储空间问题。
本发明解决上述技术问题之一的技术方案是:
所述方法是将云数据库系统在分布式查询过程中产生在数据缓冲缓存区中的临时表转移到持久数据池中,形成实体表;以保存一段相对较长的时间。
所述的云数据库系统可以是MySQL、Oracle、SQL Server、DB2,涉及的文件系统可以是如Excel文件、KV文件,以及Web Service。
所述的方法对数据实体化过程全生命周期管理,包括创建实体表、数据载入、刷新实体表、删除实体表,以及访问交互表。
所述的实体化在动态访问的过程中被系统自动实现,整个过程无需用户干预。
本发明解决上述技术问题之二的技术方案是:
所述的实体化引擎包括通道控制器、交换表和持久化数据池三个组成部分;
所述的通道控制器,负责管理数据从分布式查询引擎进入实体化引擎的通道;
所述的交换表,存储实体化引擎需要的一些元数据,包括实体表与虚拟表的映射关系、实体表的创建时间、最近一次更新时间、访问次数等;
所述的持久化数据池,存储大量的实体表,是实体化过程中数据最终流向的目的地。
所述的通道控制器包括数据的持久化以及实体表的生命周期管理。
本发明的方法和引擎具有以下有益效果:
1、可以使用存储空间的数据来响应后续的查询请求,从而大幅减少系统的响应时间,提高系统的性能,降低底层数据源的处理压力。
2、可以利用存储空间中的数据提供数据分析以及数据挖掘的能力,支持迭代、回归等算法,增强云数据库系统在OLAP(Online Analytical Processing)方面的能力。本发明支持多种数据库系统(MySQL、Oracle、SQL Server、DB2)以及文件系统(Excel文件、KV文件)。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的逻辑架构图;
图2是本发明的通道控制原理图。
具体实施方式
云数据库的分布式查询引擎在接收到一个查询请求时,会调用解析器(QueryParser)将请求解析成一个查询计划,然后调用优化器(Query Optimizer)对查询计划进行优化,如过滤条件下推、虚拟索引、视图合并等优化策略,以提高查询计划的执行效率。在执行查询计划的过程中,会将远程的各个数据源(Data Source)中的数据抽取到本地的数据缓冲缓存区(Data Buffer Cache)中,进行计算处理,并返回最终的查询结果。因此,一个查询计划中用到的虚拟表(视图)基本上会缓存到数据缓冲缓存区中,形成相应的临时表(Temp Table)。
实体化本质上是一个数据转移的过程,临时表可以作为实体化的数据来源。实体化的过程就是将分布式查询过程中产生在数据缓冲缓存区(Data Buffer Cache)中的临时表转移到持久数据池中,形成实体表的过程。
实体表和临时表有两个重要的区别:
1.生命周期:实体表是持久存在于存储空间中,生命周期较长,而临时表目的是为了支持查询计划中某些计算必须要在一个集中的点完成,一个查询结束后,临时表的生命周期也就结束了,因此生命周期较短;
2.存放位置:实体表存放在持久数据池中,而临时表存储在数据缓冲缓存区中;
一次查询计划中,只有最顶层的虚拟表(实体)产生的临时表才可能用来作为实体化。因为,系统会对查询计划进行优化,比如将一些过滤条件下推到子虚拟表(视图)上去执行,此时,系统会在运行时改变虚拟表(视图)的定义。而最顶层的虚拟表(视图)的定义在运行时,系统不会改变。
如图所示,为了提高组件的独立性,本发明在设计上将实体化的功能封装成一个单独的服务组件——实体化引擎(Materialize Engine)。实体化引擎包括三个重要的组成部分:
一、通道控制器(Channel Controller):负责管理数据从分布式查询引擎(Distributed Query Engine)进入实体化引擎(Materialize Engine)的通道,具体来说包括数据的持久化以及实体表(Entity Table)的生命周期管理;即通道控制器(channelController)用于管理虚拟表(视图)的数据从数据缓冲缓存区进出持久数据池的通道,负责维护实体表的生命周期,主要提供的功能包括:创建实体表、数据载入、刷新实体表、删除实体表,以及访问交互表。
通道控制器的逻辑架构图2所示,主要包括6个部分:
1.SQL-Based API:主要提供实体表的创建、数据载入、刷新、删除,提供的是SQL的接口;
2.Meta API:提供获取实体表元数据的接口;
3.Load Worker:载入线程,负责将数据从分布式引擎中载入到持久化数据池中;
4.Swap Worker:交换线程,在检测到持久数据池中已用数据量达到一个阈值(MAX_POOL_THRESHOLD)时,启动交换线程,根据LRU算法,删除那些很久没被访问过的“僵尸实体表”;
5.Purge Worker:清理线程,定期扫描Swap Table,删除游离实体表,游离实体表对应的虚拟表已经被删除掉了;
6、Refresh Worker:刷新线程,定期刷新访问频率高的实体表到最新状态
二、交换表(Swap Table):存储实体化引擎需要的一些元数据,包括实体表与虚拟表的映射关系、实体表的创建时间、最近一次更新时间、访问次数等。
三、持久化数据池(Persistent Data Pool):存储大量的实体表,是实体化过程中数据最终流向的目的地。临时表最终会被转移到持久数据池中,形成实体表。在系统中,持久数据池只有一个,是一个基于MySQL Cluster的机群。可以在MySQL Cluster上面创建一个数据库来存储实体表,为了简单起见,所有的实体表都存储在一个数据库中。
持久化数据池中有两个数据库:
1.实体库:存储实体表,所有实体表都存放在实体库中;
2.产出库:存储产出表,所有的产出表都存放在产出库中。

Claims (2)

1.一种异构数据资源的实体化方法,其特征在于:所述方法是将云数据库系统在分布式查询过程中产生在数据缓冲缓存区中的临时表转移到持久数据池中,形成实体表;以保存一段时间;
所述的云数据库系统是MySQL、Oracle、SQL Server、DB2,涉及的文件系统包括Excel文件、KV文件,以及Web Service;
所述的方法对数据实体化过程全生命周期管理,包括创建实体表、数据载入、刷新实体表、删除实体表,以及访问交互表;
所述的实体化在动态访问的过程中被系统自动实现,整个过程无需用户干预;
实体化引擎包括通道控制器、交换表和持久化数据池三个组成部分;
所述的通道控制器,负责管理数据从分布式查询引擎进入实体化引擎的通道;
所述的交换表,存储实体化引擎需要的一些元数据,包括实体表与虚拟表的映射关系、实体表的创建时间、最近一次更新时间、访问次数;
所述的持久化数据池,存储大量的实体表,是实体化过程中数据最终流向的目的地。
2.根据权利要求1所述的实体化方法,其特征在于:所述的通道控制器包括数据的持久化以及实体表的生命周期管理。
CN201410377598.6A 2014-08-03 2014-08-03 一种异构数据源的实体化方法及其引擎 Active CN104156419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410377598.6A CN104156419B (zh) 2014-08-03 2014-08-03 一种异构数据源的实体化方法及其引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410377598.6A CN104156419B (zh) 2014-08-03 2014-08-03 一种异构数据源的实体化方法及其引擎

Publications (2)

Publication Number Publication Date
CN104156419A CN104156419A (zh) 2014-11-19
CN104156419B true CN104156419B (zh) 2019-07-26

Family

ID=51881918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410377598.6A Active CN104156419B (zh) 2014-08-03 2014-08-03 一种异构数据源的实体化方法及其引擎

Country Status (1)

Country Link
CN (1) CN104156419B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484452A (zh) * 2014-12-25 2015-04-01 广东电子工业研究院有限公司 一种多元异构关系型数据库连接复用及统一管控方法
CN104462559B (zh) * 2014-12-25 2018-08-07 广东电子工业研究院有限公司 一种主流关系型数据库表模式对象化和虚拟化方法
CN111190899B (zh) * 2019-11-26 2023-08-15 泰康保险集团股份有限公司 一种埋点数据处理方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605698A (zh) * 2013-11-06 2014-02-26 广东电子工业研究院有限公司 一种用于分布异构数据资源整合的云数据库系统
CN103617176A (zh) * 2013-11-04 2014-03-05 广东电子工业研究院有限公司 一种实现多源异构数据资源自动同步的方法
CN103617175A (zh) * 2013-11-04 2014-03-05 广东电子工业研究院有限公司 一种用于大规模分布异构数据的虚拟化方法
CN103631870A (zh) * 2013-11-06 2014-03-12 广东电子工业研究院有限公司 一种用于大规模分布式数据处理的系统及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166953A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617176A (zh) * 2013-11-04 2014-03-05 广东电子工业研究院有限公司 一种实现多源异构数据资源自动同步的方法
CN103617175A (zh) * 2013-11-04 2014-03-05 广东电子工业研究院有限公司 一种用于大规模分布异构数据的虚拟化方法
CN103605698A (zh) * 2013-11-06 2014-02-26 广东电子工业研究院有限公司 一种用于分布异构数据资源整合的云数据库系统
CN103631870A (zh) * 2013-11-06 2014-03-12 广东电子工业研究院有限公司 一种用于大规模分布式数据处理的系统及其方法

Also Published As

Publication number Publication date
CN104156419A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
US11169981B2 (en) Managing data with flexible schema
US11100103B2 (en) Data sharing in multi-tenant database systems
CN105630864B (zh) 存储行标识符值的字典的强制排序
CN105630865B (zh) 用于内存列式存储的n比特压缩版本化列数据阵列
CN105930428B (zh) 用于执行多租户存储中的交叉存储连接的方法和系统
US9558229B2 (en) Transaction private log buffering for high performance of transaction processing
US9875024B2 (en) Efficient block-level space allocation for multi-version concurrency control data
CN106716409B (zh) 一种构建和更新列存储数据库的方法和系统
US11914591B2 (en) Sharing materialized views in multiple tenant database systems
US10885062B2 (en) Providing database storage to facilitate the aging of database-accessible data
CN100437590C (zh) 预取对象的方法
US10474697B2 (en) Updating a partitioning column
KR101400214B1 (ko) Hybrid C 인터페이스를 지원하는 장치
EP2981908A1 (en) Query integration across databases and file systems
CN104156419B (zh) 一种异构数据源的实体化方法及其引擎
US20200183918A1 (en) Management of Transactions Spanning Different Database Types
US11609934B2 (en) Notification framework for document store
US10642756B2 (en) Database variable size entry container free space handling based on use patterns
US20200241792A1 (en) Selective Restriction of Large Object Pages in a Database
US11775543B1 (en) Heapsort in a parallel processing framework
US20230281195A1 (en) Telemetry for query processing memory usage
US11960463B2 (en) Multi-fragment index scan
US11429610B2 (en) Scaled-out query execution engine
US20230376485A1 (en) Distributed query plan generation
US20230281055A1 (en) Allocation of worker threads in a parallelization framework with result streaming

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