CN110837492B - 一种多源数据统一sql提供数据服务的方法 - Google Patents

一种多源数据统一sql提供数据服务的方法 Download PDF

Info

Publication number
CN110837492B
CN110837492B CN201911121129.7A CN201911121129A CN110837492B CN 110837492 B CN110837492 B CN 110837492B CN 201911121129 A CN201911121129 A CN 201911121129A CN 110837492 B CN110837492 B CN 110837492B
Authority
CN
China
Prior art keywords
data
external
database
type
sql
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
CN201911121129.7A
Other languages
English (en)
Other versions
CN110837492A (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.)
Zhongke Shuzhi Technology Zhengzhou Co ltd
Original Assignee
Big Data Research Institute Institute Of Computing Technology Chinese Academy Of Sciences
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 Big Data Research Institute Institute Of Computing Technology Chinese Academy Of Sciences filed Critical Big Data Research Institute Institute Of Computing Technology Chinese Academy Of Sciences
Priority to CN201911121129.7A priority Critical patent/CN110837492B/zh
Publication of CN110837492A publication Critical patent/CN110837492A/zh
Application granted granted Critical
Publication of CN110837492B publication Critical patent/CN110837492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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/242Query formulation
    • 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

Landscapes

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

Abstract

本发明提供了一种多源数据统一SQL提供数据服务的方法,包括数据标签管理、数据元标准管理、数据模型管理、数据实例化管理和数据服务管理。本发明实现了数据的标准化管理,并通过标准化后的SQL提供了异构数据的统一CRUD方法。克服了数据格式、定义混乱,不同能力水平的DBA对数据库架构方式不同引起的混乱,不同DSL整合的困难。解决了保持其他系统独立性的情况下外部数据和系统融合分析的问题。实现了多数据系统、多数据来源的数据统一管理,数据层的标准化、资产化和服务化。

Description

一种多源数据统一SQL提供数据服务的方法
技术领域
本发明属于数据治理、数据中台领域,涉及一种多源数据统一SQL提供数据的方法。
背景技术
当前社会,数据量爆炸式增长,针对不同的系统与业务需求,也诞生了很多种不同的数据库,包括关系数据库、文档数据库、检索数据库、列式数据库和图数据库等。不同数据库因设计方式不同,其数据内容格式相互独立,无法供云应用平台(Saas)有效整合利用,使得数据中台只能提供有限的数据服务,而且当前众多数据库也存在着一定的学习使用成本,对于大部分程序员显然是难以全面掌握的。
数据标准定义自由度大,导致了数据混乱,难以利用,冗余度高,数据还有可能存在版本的迭代。缺乏可视化页面系统进行统一的管理。
不同数据库采用不同的引擎,对字段、格式、命名方法也千差万别,无法跨平台使用数据,所能提供的数据服务存在局限性。通过一种SQL语句可以拿到不同数据库的数据或将流式数据存储到合适的数据库中,是数据治理中的紧迫需求。
现有的跨平台查询方法往往存在跨平台有限,查询效率低下,易用性差,开源的跨平台查询方式已经放弃维护等诸多问题。
传统的数据架构采用分散式建设,运行过程中产生的数据质量低下,难以形成数据资产。随着大数据技术的发展,运用开放式的微服务架构,实现自动化部署、集中部署,并通过Kubernetes集成微服务平台更适应企业的需求。而这其中的当务之急,就是规范数据中台提供数据接口的方式,统一SQL形成数据服务是解决数据接口的最优选择。
发明内容
针对目前多源数据存在新建数据存储难以记录,已存在数据记录无法统一管理,数据无法资产化,传统跨平台数据获取方式可跨平台有限且效率低下等诸多问题。本发明提供一种多源数据统一SQL提供数据服务的方法,解决保持其他系统独立性的情况下将外部数据和系统融合分析的问题。可以通过数据服务直接获取多种不同数据源的数据,且充分利用多源数据库的性能,保证数据服务的执行效率。
为实现上述发明的目的,本发明设计了一种多源数据统一SQL提供数据服务的方法,其中包括数据标准化处理的方法;数据标签管理方法;有限制的多源数据统一SQL查询防止多源数据不兼容;保证数据服务效率的拉取数据方法;已存在外部数据存储接入系统并提供服务的方法,具体实现过程如下。
步骤1,首先进行数据标准化处理:对数据元标准管理和对数据模型标准管理,分别加入版本控制单元,形成标准化的数据元和数据模型,并通过独立于系统的数据标签管理对数据元和数据模型进行定位。
步骤2:数据标签管理方法:给每一个数据元和数据模型,加入标签,用以描述与定位模型,所述的数据标签管理是通过行业与标准分类细化标签,形成树状结构,标签通过系统创建或是数据流转写入产生,采用严格的继承结构,加入数据元和数据模型项相同和相似判断,所述的数据元和数据模型的创建基于标签树的末端叶子节点,即子标签为空,所以数据元和数据模型有且至少有一个标签,而每一个末端叶子节点有且只有一种相同定义的数据元或数据类型;数据流转写入将数据标注标签、用户画像标签、统计加工标签和模型挖掘标签加入标签树,保证无论内部还是外部数据元和数据模型都由至少一个标签,由系统统一管理。
步骤3:然后进行有限制的多源数据统一SQL查询,继承于关系数据库的SQL,在其中加入限制(例如,在复杂嵌套的情况下,映射数组类型,如果数组里每个元素又是复合文档,而复合文档又非json类型,在不提前加以转换的情况下,统一SQL向外部数据库的映射将无法建立;又如父子文档,本发明采用的表设计是范式结构,如果没有预设置关联字段通过join来表达父子关联关系,就无法支持父子层次归属,所以加以限制),用来防止多源数据在映射中可能存在不兼容的问题。同时还针对各种主流数据库数据映射方式,进行自动化的数据格式获取。
步骤4:进一步地,为保证数据服务效率的拉取数据,采用聚合下推的方式获取数据服务需要的数据,创建外部表与外部数据库实体表映射关系,实现本地对外部数据库数据的访问,将所需要进行的运算下沉到外部数据库中进行,只将运算结果进行返回,充分利用外部数据库的性能。
步骤5:最后,根据统一SQL在本地服务器直接生成Restful风格的接口提供数据服务,供客户端使用。
进一步还包括将已存在的外部数据存储接入本系统并提供服务,外部数据库数据资产化,扫描分析外部数据库数据架构,提取数据模型和字段信息,自动化生成字段格式,结合数据标签系统,将外部数据库数据架构记录在数据元和数据模型中,再通过多源数据统一SQL的方式生成数据服务。
其中,步骤1中所述的数据元标准管理:定义一种约定大于配置思想的命名规范,通过将不同行业和标准分类的数据元名称,放入不同的schema当中,在创建时确保数据元的唯一性,并同时保存数据元的中文名称、数据类型、数据格式、创建与更新时间等信息;引入版本控制单元,进行数据元标准的版本迭代,版本迭代内容为数据类型,只可做扩展迭代,不能做增限迭代,增限情况将重新根据命名规范生成新的数据元以满足系统要求;步骤1中数据模型标准管理:数据模型严格通过数据元组合生成,通过命名规范确保数据模型的唯一性,并同时保存数据模型的中文名称、描述、创建与更新时间等信息。版本控制单元同时控制数据模型的迭代,数据模型中数据元版本迭代将导致x.y版本类型y+1,而且数据模型可以增加数据元,不能减少数据元,增加数据元,将导致x.y版本x+1。最后将数据模型数据元信息、版本信息和创建修改时间存入特定schema当中。
其中,步骤3中针对各种主流数据库数据映射方式包括外部关系型数据库统一SQL操作,将外部关系型数据库的类型多对一的映射到RDM当中;在进行DDL操作的时候,首先针对外部数据库创建外部表服务,然后采用RDM方式创建外部表映射到外部数据库的实体表,外部表的字段名称必须与外部数据库实体表的字段名称一致,外部实体表的字段名称来自于数据模型标准化数据元,所以只需要查schema中的信息,自动生成LSQL建表语句创建外部表,包括外部表的表名称和字段名称,这样就可以实现外部表与外部数据库实体表的关联,关联过程会自动检查关联成功与否。或者,只选择外部数据库实体表的部分字段来映射出系统外部表,减少冗余信息,增加外部表的运行效率。外部关系型数据库统一SQL操作采用数据类型映射方式DM,针对各种主流数据库数据映射方式是采用一套据库数据类型映射方式DM,采用有限类型扩展转置的方式,数字类型只采用int4与int8,浮点类型采用numeric,字符类型只采用varchar(32)与text,时间类型只采用timestamp等。关系型数据库字段类型为A,外部表创建字段类型为B,
Figure BDA0002275503430000031
这里需要说明,映射并非存储,只是系统对外部数据库的对应关系,这样有效的节约了系统的存储空间。
其中,步骤3中针对各种主流数据库数据映射方式包括外部非关系型数据库统一SQL操作:非关系型数据库对字段通常无定义,而使用key-value的形式来存储数据,通过创建数据模型时添加定义value类型并加以保存,添加的类型作为外部表的字段类型,符合DM映射方式。嵌套的文档可以通过外部表对应的列类型设为json类型来对应。下发到非关系型数据库操作执行后,操作即生效,不能使用回滚操作。外部表与外部数据库实体表连接分为四步。第一,创建系统对外部数据库的扩展:具体为关系型数据库对外部数据库的数据架构重构解析,这样,所有外部数据库都可以转化为关系型数据库的架构。第二,创建外部数据库对应服务:用一种SQL代理的形式创建外部数据库服务,本地利用服务通过外部表从外部数据库拉取数据,参数为外部数据库的IP和端口。第三,创建本地的查询用户:查询用户对应了外部数据库具有访问数据权限的用户,参数为外部数据库权限用户的账号密码。第四,创建对应外部数据库实体表的外部表:系统自动生成外部表的名称,外部表的字段和字段类型,参数为外部数据库的存储结构名称。
进一步地,多源数据统一SQL的外部表信息查看:在特定schema中建立视图,记录外部表的种类,外部数据库的hots、port,外部数据库服务的名称,外部表名,外部表名、对应的数据库名之间的映射关系。
在步骤3聚合函数下推过程中,创建外部表与外部数据库实体表映射关系,实现了本地对外部数据库数据的访问,传统方式是将外部数据库的数据全部拉取到本地,然后进行DML、DQL操作,这种做法有以下严重的问题:若仅仅需要运算结果,而不需要数据,却拿到了外部数据库的大量数据,再在本地进行运算,明显是资源浪费,也无法用到特定数据库的优秀性能,失去了统一SQL访问异构数据的意义。为解决这个问题,提供了一种将聚合函数下推的特性。将所需要进行的运算下沉到外部数据库中进行,只将运算结果进行返回,这样大大减小了数据的传输量,可以显著提高聚合查询的性能。
步骤5中提供数据服务包括采用有限制的关系型数据库的结构化查询语言,提供两种生成数据服务的方法,分别为配置模式和专家模式:一、配置模式根据已定义的外部表名,获得了外部表的所有字段名和字段类型,这些字段名和字段类型又是数据元中严格定义的,再进行出参和入参的配置,通过这些配置自动生成对应的LSQL语句,生成了用户需要的数据服务;二、专家模式提供给DBA一种直接编写查询DSQL的接口,编写查询DSQL时会根据数据元实时展示已编写的入参出参,作为编写DSQL的协助。数据服务生成后,内部进行连接测试,测试成功可授权给特定用户使用。
在进行外部数据存储接入系统并提供服务时,需要把外部已存在的数据库数据架构转化为关系型数据库的数据架构,并将其保存在数据模型管理当中,再分解保存在数据元标准管理当中。然后,根据外部关系型数据库统一SQL操作和外部非关系型数据库统一SQL操作,建立外部表对外部数据库的映射。最后根据多源数据统一SQL提供数据服务,通过外部表快速的自定义需要的数据服务。
本发明的有益效果:本发明提供了一种多源数据统一SQL提供数据服务的方法,包括数据标签管理、数据元标准管理、数据模型管理、数据实例化管理和数据服务管理。本发明实现了数据的标准化管理,并通过标准化后的SQL提供了异构数据的统一CRUD方法。克服了数据格式、定义混乱,不同能力水平的DBA对数据库架构方式不同引起的混乱,不同DSL整合的困难。解决了保持其他系统独立性的情况下外部数据和系统融合分析的问题。实现了多数据系统、多数据来源的数据统一管理,数据层的标准化、资产化和服务化。
本发还提供了有限制的多源数据统一SQL查询防止多源数据不兼容问题;保证数据服务效率的拉取数据方法;对于已存在外部数据存储接入系统并提供服务的方法。
附图说明
图1为本发明多源数据统一SQL的架构简图。
图2为本发明自动生成数据服务的实现方式说明图。
图3位本发明多源数据统一SQL生成查询服务示例系统拓扑图。
具体实施方式
本实施例实现了一种数据标准化处理,通过统一SQL自动生成数据服务的方法。参阅图1所示。首先,通过自主开发的数据治理平台对数据标准进行构建,加入数据标签管理,明确数据元定义、数据元格式,再通过自定义选择字段自动生成客户端需求的数据模型,再结合数据元、数据模型版本控制,形成一套独立唯一的数据元、数据模型。然后,客户端根据自己实际的业务需要,将构建的数据模型下沉到外部数据库。最后,根据统一SQL在本地服务器直接生成Restful风格的接口提供数据服务,供客户端使用。
数据标签管理的具体实施过程为:通过行业与标准分类细化标签,形成树状结构,标签可以通过系统创建或是数据流转写入产生,采用严格的继承结构,加入数据元、数据模型项相同、相似判断,由系统统一管理。数据元、数据模型的创建基于标签树的末端叶子节点,即子标签为空,所以数据元、数据模型有且有至少一个标签,而每一个末端叶子节点有且只有一种相同定义的数据元或数据类型。数据流转写入将数据标注标签、用户画像标签、统计加工标签、模型挖掘标签等加入标签树,保证无论内部还是外部数据元、数据模型都由至少一个标签,供系统管理。
数据元标准管理的具体实施过程为:本发明定义了一种约定大于配置思想的命名规范。通过将不同行业、标准分类的数据元名称,放入不同的schema当中,在创建时确保数据元的唯一性,并同时保存数据元的中文名称、数据类型、数据格式、创建与更新时间等信息。引入版本控制单元,进行数据元标准的版本迭代,版本迭代内容为数据类型,只可做扩展迭代,不能做增限迭代,增限情况将重新根据命名规范生成新的数据元以满足系统要求。
数据模型管理的具体实施过程为:数据模型严格通过数据元组合生成,通过命名规范确保数据模型的唯一性,并同时保存数据模型的中文名称、描述、创建与更新时间等信息。版本控制单元同时控制数据模型的迭代,数据模型中数据元版本迭代将导致x.y版本类型y+1,而且数据模型可以增加数据元,不能减少数据元,增加数据元,将导致x.y版本x+1。最后将数据模型数据元信息、版本信息、创建修改时间存入特定schema当中。
数据模型下沉到外部数据库的具体实施过程为:统一SQL的CRUD目前可以兼容csv、text和json文档格式的文件型数据,PostgreSQL、Oracle、MySQL、SQLite、SQL-Server等关系型数据库,MongoDB、Redis、Cassandra等非关系型数据库,neo4j图数据库,Elastic-Search、Hadoop、Hive等大数据组件。根据数据的形式和使用需求,将数据存储在适合的数据库中是问题的关键,也会影响到后续提供数据服务的质量。
多源数据统一SQL的具体实施过程为:采用有限制的关系型数据库的结构化查询语言,这里称之为LSQL(Limited Structure Query Language)。关系型数据库、非关系型数据库、图数据库、大数据组件和数据文件,在数据架构上有很大的差别,不可能直接使用关系型数据库的结构化查询语言,会导致统一SQL向外部数据库映射数据结构产生混乱,所以加以限制。例如,在复杂嵌套的情况下,映射数组类型,如果数组里每个元素又是复合文档,而复合文档又非json类型,在不提前加以转换的情况下,统一SQL向外部数据库的映射将无法建立;又如父子文档,本发明采用的表设计是范式结构,如果没有预设置关联字段通过join来表达父子关联关系,就无法支持父子层次归属。
外部关系型数据库统一SQL操作具体实施过程:关系型数据库对字段定义严谨,类型要求精确。本发明提供了一套数据类型映射方式DM,数据类型分为数字类型、字符类型、时间/日期类型、布尔类型、json类型和二进制等类型。将外部关系型数据库的类型多对一的映射到RDM当中。在进行DDL操作的时候,首先针对外部数据库创建外部表服务,然后采用RDM方式创建外部表映射到外部数据库的实体表,外部表的字段名称必须与外部数据库实体表的字段名称一致,外部实体表的字段名称来自于数据模型标准化数据元,所以只需要查schema中的信息,自动生成LSQL建表语句创建外部表,包括外部表的表名称和字段名称,这样就可以实现外部表与外部数据库实体表的关联,关联过程会自动检查关联成功与否。这里还可以只选择外部数据库实体表的部分字段来映射出系统外部表,减少冗余信息,增加外部表的运行效率。
DM映射方式具体实施过程:采用有限类型扩展转置的方式,数字类型只采用int4与int8,浮点类型采用numeric,字符类型只采用varchar(32)与text,时间类型只采用timestamp等。关系型数据库字段类型为A,外部表创建字段类型为B,
Figure BDA0002275503430000061
这里需要说明,映射并非存储,只是系统对外部数据库的对应关系,这样有效的节约了系统的存储空间。
外部非关系型数据库统一SQL操作具体实施过程:非关系型数据库对字段通常无定义,而使用key-value的形式来存储数据,通过创建数据模型时添加定义value类型并加以保存,添加的类型作为外部表的字段类型,符合DM映射方式。嵌套的文档可以通过外部表对应的列类型设为json类型来对应。下发到非关系型数据库操作执行后,操作即生效,不能使用回滚操作。
外部表与外部数据库实体表连接具体实施过程:参阅图2所示。外部表与外部数据库实体表连接分为四步。第一,创建系统对外部数据库的扩展:具体为关系型数据库对外部数据库的数据架构重构解析,这样,所有外部数据库都可以转化为关系型数据库的架构。第二,创建外部数据库对应服务:用一种SQL代理的形式创建外部数据库服务,本地利用服务通过外部表从外部数据库拉取数据,参数为外部数据库的IP和端口。第三,创建本地的查询用户:查询用户对应了外部数据库具有访问数据权限的用户,参数为外部数据库权限用户的账号密码。第四,创建对应外部数据库实体表的外部表:系统自动生成外部表的名称,外部表的字段和字段类型,参数为外部数据库的存储结构名称。
多源数据统一SQL的外部表信息查看具体实施过程:在特定schema中建立视图,记录外部表的种类,外部数据库的hots、port,外部数据库服务的名称,外部表名,外部表名、对应的数据库名之间的映射关系。
多源数据统一SQL聚合函数下推的具体实施过程:参阅图3所示。创建外部表与外部数据库实体表映射关系,实现了本地对外部数据库数据的访问,传统方式是将外部数据库的数据全部拉取到本地,然后进行DML、DQL操作,这种做法有以下严重的问题:若仅仅需要运算结果,而不需要数据,却拿到了外部数据库的大量数据,再在本地进行运算,明显是资源浪费,也无法用到特定数据库的优秀性能,失去了统一SQL访问异构数据的意义。为解决这个问题,提供了一种将聚合函数下推的特性。将所需要进行的运算下沉到外部数据库中进行,只将运算结果进行返回,这样大大减小了数据的传输量,可以显著提高聚合查询的性能。有些大数据组件,例如Elastic-Search,本身在数据量庞大时,查询相对于传统关系型数据库有其自身的优越性,也需要在外部数据库进行查询操作。以上解决了统一SQL进行查询操作的效率问题。
多源数据统一SQL提供数据服务的具体实施过程:参阅图2所示。数据中台的特点,是根据用户需求快速生成对应的数据服务。有了标准化的数据结构,统一SQL提供数据服务采用前文定义的LSQL的形式,提供了两种生成数据服务的方法,分别为配置模式和专家模式:一、配置模式根据已定义的外部表名,获得了外部表的所有字段名和字段类型,这些字段名和字段类型又是数据元中严格定义的,再进行出参和入参的配置,通过这些配置自动生成对应的LSQL语句,生成了用户需要的数据服务;二、专家模式提供给DBA一种直接编写查询DSQL的接口,编写查询DSQL时会根据数据元实时展示已编写的入参出参,作为编写DSQL的协助。数据服务生成后,内部进行连接测试,测试成功可授权给特定用户使用。
外部数据存储接入系统并提供服务的具体实施过程:为了满足各种类型的海量数据存储与管理需求,通过采用分布式存储与关系型数据库存储混合架构,实现多数据异构数据的一体化存储,并在此基础上提供数据服务。所以,需要把外部已存在的数据库数据架构转化为关系型数据库的数据架构,并将其保存在数据模型管理当中,再分解保存在数据元标准管理当中。然后,根据上段“外部关系型数据库统一SQL操作具体实施过程”或上段“外部非关系型数据库统一SQL操作具体实施过程”,建立外部表对外部数据库的映射。最后根据上端“多源数据统一SQL提供数据服务的具体实施过程”,通过外部表可以快速的自定义需要的数据服务。

Claims (10)

1.一种多源数据统一SQL提供数据服务的方法,其特征在于,包括以下步骤:
步骤1,首先进行数据标准化处理:对数据元标准管理和对数据模型标准管理,分别加入版本控制单元,形成标准化的数据元和数据模型,并通过数据标签管理对数据元和数据模型进行定位;
步骤2:数据标签管理方法:给每一个数据元和数据模型,加入标签,用以描述与定位模型,所述的数据标签管理是通过行业与标准分类细化标签,形成树状结构,标签通过系统创建或是数据流转写入产生,采用严格的继承结构,加入数据元和数据模型项相同和相似判断,所述的数据元和数据模型的创建基于标签树的末端叶子节点,即子标签为空,所以数据元和数据模型有且至少有一个标签,而每一个末端叶子节点有且只有一种相同定义的数据元或数据类型;数据流转写入将数据标注标签、用户画像标签、统计加工标签和模型挖掘标签加入标签树,保证无论内部还是外部数据元和数据模型都有至少一个标签;
步骤3:然后进行有限制的多源数据统一SQL查询,继承于关系数据库的SQL,在其中加入限制,用来防止多源数据在映射中可能存在不兼容的问题;同时还针对各种主流数据库数据映射方式,进行自动化的数据格式获取;
步骤4:进一步地,为保证数据服务效率的拉取数据,采用聚合下推的方式获取数据服务需要的数据,创建外部表与外部数据库实体表映射关系,实现本地对外部数据库数据的访问,将所需要进行的运算下沉到外部数据库中进行,只将运算结果进行返回,充分利用外部数据库的性能;
步骤5:最后,根据统一SQL在本地服务器直接生成Restful风格的接口提供数据服务,供客户端使用。
2.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,进一步还包括将已存在的外部数据存储接入本系统并提供服务,外部数据库数据资产化,扫描分析外部数据库数据架构,提取数据模型和字段信息,自动化生成字段格式,结合数据标签系统,将外部数据库数据架构记录在数据元和数据模型中,再通过多源数据统一SQL的方式生成数据服务。
3.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,步骤1中所述的数据元标准管理:通过将不同行业和标准分类的数据元名称,放入不同的schema当中,在创建时确保数据元的唯一性,并同时保存数据元的中文名称、数据类型、数据格式、创建与更新时间信息;引入版本控制单元,进行数据元标准的版本迭代,版本迭代内容为数据类型,只可做扩展迭代,不能做增限迭代,增限情况将重新根据命名规范生成新的数据元以满足系统要求;步骤1中数据模型标准管理:数据模型严格通过数据元组合生成,通过命名规范确保数据模型的唯一性,并同时保存数据模型的中文名称、描述、创建与更新时间信息;版本控制单元同时控制数据模型的迭代,数据模型中数据元版本迭代将导致x.y版本类型y+1,而且数据模型可以增加数据元,不能减少数据元,增加数据元,将导致x.y版本x+1;最后将数据模型数据元信息、版本信息和创建修改时间存入特定schema当中。
4.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,步骤3中针对各种主流数据库数据映射方式包括外部关系型数据库统一SQL操作,将外部关系型数据库的类型多对一的映射到RDM当中;在进行DDL操作的时候,首先针对外部数据库创建外部表服务,然后采用RDM方式创建外部表映射到外部数据库的实体表,外部表的字段名称必须与外部数据库实体表的字段名称一致,外部实体表的字段名称来自于数据模型标准化数据元,所以只需要查schema中的信息,自动生成LSQL建表语句创建外部表,包括外部表的表名称和字段名称,这样就可以实现外部表与外部数据库实体表的关联,关联过程会自动检查关联成功与否;或者,只选择外部数据库实体表的部分字段来映射出系统外部表,减少冗余信息,增加外部表的运行效率。
5.根据权利要求4所述的多源数据统一SQL提供数据服务的方法,其特征在于,外部关系型数据库统一SQL操作采用数据类型映射方式DM,针对各种主流数据库数据映射方式是采用一套数据库数据类型映射方式DM,采用有限类型扩展转置的方式,数字类型只采用int4与int8,浮点类型采用numeric,字符类型只采用varchar(32)与text,时间类型只采用timestamp;关系型数据库字段类型为A,外部表创建字段类型为B,
Figure FDA0003018149100000021
这里需要说明,映射并非存储,只是系统对外部数据库的对应关系,这样有效的节约了系统的存储空间。
6.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,步骤3中针对各种主流数据库数据映射方式包括外部非关系型数据库统一SQL操作:非关系型数据库对字段无定义,而使用key-value的形式来存储数据,通过创建数据模型时添加定义value类型并加以保存,添加的类型作为外部表的字段类型,符合DM映射方式;嵌套的文档可以通过外部表对应的列类型设为json类型来对应;下发到非关系型数据库操作执行后,操作即生效,不能使用回滚操作。
7.根据权利要求4所述的多源数据统一SQL提供数据服务的方法,其特征在于,外部表与外部数据库实体表连接分为四步;第一,创建系统对外部数据库的扩展:具体为关系型数据库对外部数据库的数据架构重构解析,这样,所有外部数据库都可以转化为关系型数据库的架构;第二,创建外部数据库对应服务:用一种SQL代理的形式创建外部数据库服务,本地利用服务通过外部表从外部数据库拉取数据,参数为外部数据库的IP和端口;第三,创建本地的查询用户:查询用户对应了外部数据库具有访问数据权限的用户,参数为外部数据库权限用户的账号密码;第四,创建对应外部数据库实体表的外部表:系统自动生成外部表的名称,外部表的字段和字段类型,参数为外部数据库的存储结构名称。
8.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,步骤4中,聚合函数下推过程中,创建外部表与外部数据库实体表映射关系,实现了本地对外部数据库数据的访问;将所需要进行的运算下沉到外部数据库中进行,只将运算结果进行返回。
9.根据权利要求1所述的多源数据统一SQL提供数据服务的方法,其特征在于,提供数据服务包括采用有限制的关系型数据库的结构化查询语言,提供两种生成数据服务的方法,分别为配置模式和专家模式:一、配置模式根据已定义的外部表名,获得了外部表的所有字段名和字段类型,这些字段名和字段类型又是数据元中严格定义的,再进行出参和入参的配置,通过这些配置自动生成对应的LSQL语句,生成了用户需要的数据服务;二、专家模式提供给DBA一种直接编写查询DSQL的接口,编写查询DSQL时会根据数据元实时展示已编写的入参出参,作为编写DSQL的协助;数据服务生成后,内部进行连接测试,测试成功可授权给特定用户使用。
10.根据权利要求2所述的多源数据统一SQL提供数据服务的方法,其特征在于,外部数据存储接入系统并提供服务时,需要把外部已存在的数据库数据架构转化为关系型数据库的数据架构,并将其保存在数据模型管理当中,再分解保存在数据元标准管理当中;然后,根据外部关系型数据库统一SQL操作和外部非关系型数据库统一SQL操作,建立外部表对外部数据库的映射;最后根据多源数据统一SQL提供数据服务,通过外部表快速的自定义需要的数据服务。
CN201911121129.7A 2019-11-15 2019-11-15 一种多源数据统一sql提供数据服务的方法 Active CN110837492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911121129.7A CN110837492B (zh) 2019-11-15 2019-11-15 一种多源数据统一sql提供数据服务的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911121129.7A CN110837492B (zh) 2019-11-15 2019-11-15 一种多源数据统一sql提供数据服务的方法

Publications (2)

Publication Number Publication Date
CN110837492A CN110837492A (zh) 2020-02-25
CN110837492B true CN110837492B (zh) 2021-06-08

Family

ID=69576475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911121129.7A Active CN110837492B (zh) 2019-11-15 2019-11-15 一种多源数据统一sql提供数据服务的方法

Country Status (1)

Country Link
CN (1) CN110837492B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400278B (zh) * 2020-03-10 2023-11-14 联通沃音乐文化有限公司 一种基于标签的拖拽构建多层次目标人群的方法和系统
CN111563142A (zh) * 2020-07-14 2020-08-21 成都四方伟业软件股份有限公司 一种sql自动对标的匹配方法及装置
CN112182077B (zh) * 2020-09-11 2022-06-07 杭州优云软件有限公司 一种基于数据中台技术的智能运维系统
CN112687097A (zh) * 2020-11-16 2021-04-20 招商新智科技有限公司 一种高速公路路段级数据中台系统
CN112559495A (zh) * 2020-12-23 2021-03-26 深圳市中易科技有限责任公司 一种支持多系统标签映射实现统一标签管理的系统
CN112417492A (zh) * 2020-12-29 2021-02-26 中科院计算技术研究所大数据研究院 基于数据分类分级的服务提供方法
CN112948302B (zh) * 2021-03-02 2022-11-08 广州海量数据库技术有限公司 一种基于本地接口来访问外部数据库的方法及系统
CN113076361A (zh) * 2021-03-17 2021-07-06 国家气象信息中心(中国气象局气象数据中心) 一种基于大数据的海量气象数据统一服务接口的实现方法
CN113486047B (zh) * 2021-07-12 2022-11-22 上海天旦网络科技发展有限公司 一种对目标客群进行调查分析的系统
CN113435944A (zh) * 2021-07-12 2021-09-24 上海天旦网络科技发展有限公司 一种营销效果后评估系统
CN113901060A (zh) * 2021-11-18 2022-01-07 贵州电网有限责任公司 职工健康数据库创建的方法
CN115952204B (zh) * 2023-03-14 2023-05-16 中国西安卫星测控中心 一种缓存式SQLite读取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346377A (zh) * 2013-07-31 2015-02-11 克拉玛依红有软件有限责任公司 一种基于唯一标识的数据集成和交换方法
CN106066871A (zh) * 2016-05-30 2016-11-02 中国人民解放军装备学院 一种基于开放接口的多源异构数据源访问方法
CN108363746A (zh) * 2018-01-26 2018-08-03 福建星瑞格软件有限公司 一种支持多源异构数据的统一sql查询系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346377A (zh) * 2013-07-31 2015-02-11 克拉玛依红有软件有限责任公司 一种基于唯一标识的数据集成和交换方法
CN106066871A (zh) * 2016-05-30 2016-11-02 中国人民解放军装备学院 一种基于开放接口的多源异构数据源访问方法
CN108363746A (zh) * 2018-01-26 2018-08-03 福建星瑞格软件有限公司 一种支持多源异构数据的统一sql查询系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Ágnes Vathy-Fogarassy等.Uniform data access platform for SQL and NoSQL database systems.《Information Systems》.2017,第93-105页. *
业务导向的自定义大数据查询系统及其SQL解析器的设计与实现;葛文帅;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190815;第15-57页 *
我们把统⼀MySQL、Elasticsearch、Hive的SQL查询引擎开源了;刘思源;《网址链接https://www.infoq.cn/article/QqMSSgKOUbAarVJfotff》;20190827;第1-8页 *
统一SQL大数据查询系统的设计与实现;符积高;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180615;第18-45页 *

Also Published As

Publication number Publication date
CN110837492A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
CN110837492B (zh) 一种多源数据统一sql提供数据服务的方法
US11907247B2 (en) Metadata hub for metadata models of database objects
Karnitis et al. Migration of relational database to document-oriented database: Structure denormalization and data transformation
CN107491561B (zh) 一种基于本体的城市交通异构数据集成系统及方法
US9317557B2 (en) Answering relational database queries using graph exploration
EP3695290B1 (en) Alignment of source infrastructure data with a bis conceptual schema
US9280568B2 (en) Zero downtime schema evolution
CN103455540B (zh) 从数据仓库模型生成内存模型的系统和方法
EP2784700A2 (en) Integration of transactional and analytical capabilities of a database management system
US20130006968A1 (en) Data integration system
US9390127B2 (en) RDF graphs made of RDF query language queries
US20070061318A1 (en) System and method of data source agnostic querying
US9805137B2 (en) Virtualizing schema relations over a single database relation
KR20060045622A (ko) 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈
CN107491476B (zh) 一种适用于多种大数据管理系统的数据模型转换及查询分析方法
US11550785B2 (en) Bidirectional mapping of hierarchical data to database object types
US20220188448A1 (en) System and method for implementing mandatory access control on queries of a self-describing data system
Das et al. A study on big data integration with data warehouse
KR20020050160A (ko) 오브젝트 통합 관리 시스템
El Alami et al. Migration of a relational databases to NoSQL: The way forward
US20150205880A1 (en) Integrating linked data with relational data
Schreiner et al. Bringing SQL databases to key-based NoSQL databases: a canonical approach
CN115934673A (zh) 用于促进元数据标识和导入的系统和方法
US20230091845A1 (en) Centralized metadata repository with relevancy identifiers
CN113157723B (zh) 一种面向Hyperledger Fabric的SQL访问方法

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 450000 8 / F, creative island building, no.6, Zhongdao East Road, Zhengdong New District, Zhengzhou City, Henan Province

Patentee after: China Science and technology big data Research Institute

Address before: 450000 8 / F, creative island building, no.6, Zhongdao East Road, Zhengdong New District, Zhengzhou City, Henan Province

Patentee before: Big data Research Institute Institute of computing technology Chinese Academy of Sciences

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231025

Address after: E0807, 8th Floor, Creative Island Building, No. 6 Zhongdao East Road, Zhengzhou City, Henan Province, 450000

Patentee after: Zhongke Shuzhi Technology (Zhengzhou) Co.,Ltd.

Address before: 450000 8 / F, creative island building, no.6, Zhongdao East Road, Zhengdong New District, Zhengzhou City, Henan Province

Patentee before: China Science and technology big data Research Institute