CN116401251A - 元数据生成方法、数据查询方法、系统、设备及存储介质 - Google Patents
元数据生成方法、数据查询方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116401251A CN116401251A CN202310339228.2A CN202310339228A CN116401251A CN 116401251 A CN116401251 A CN 116401251A CN 202310339228 A CN202310339228 A CN 202310339228A CN 116401251 A CN116401251 A CN 116401251A
- Authority
- CN
- China
- Prior art keywords
- physical
- category
- tables
- data
- metadata
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013499 data model Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000008280 blood Substances 0.000 claims description 3
- 210000004369 blood Anatomy 0.000 claims description 3
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本说明书一个或多个实施例提供一种元数据生成方法、数据查询方法、数据库系统、电子设备及计算机可读存储介质。元数据生成方法包括:从至少一个数据库获取待处理的若干物理表;根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同;针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。实现逻辑结构相同的不同物理表对应同一份元数据。
Description
技术领域
本说明书一个或多个实施例涉及数据库技术领域,尤其涉及一种元数据生成方法、数据查询方法、数据库系统、电子设备及计算机可读存储介质。
背景技术
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。
相关技术中的数据库,对于元数据的定义是基于单个物理表来定义,即每个物理表对应一份元数据;但是,在一个或多个数据库中存储的多个物理表可能来源相同,基于单个物理表定义元数据的方式导致元数据过于分散,会割裂了数据之间的联系。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种元数据生成方法、数据查询方法、数据库系统、电子设备及计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种元数据生成方法,包括:
从至少一个数据库获取待处理的若干物理表;
根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同;
针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。
可选的,所述若干物理表包括由逻辑数据模型物理化得到的第一物理表和不属于任何逻辑数据模型的第二物理表;
所述根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别,包括:
对所述若干物理表中的所有第一物理表进行分类,获取至少一个类别;任一类别中的不同第一物理表由同一逻辑数据模型物理化得到;
对于所述若干物理表中的第二物理表,检测是否存在目标类别的数据结构与所述第二物理表的数据结构相同;若是,将所述第二物理表加入所述目标类别中;若否,根据所述第二物理表构建新的类别。
可选的,对于任一类别,若所述类别包括由同一逻辑数据模型物理化得到的第一物理表,所述类别的数据结构根据所述由同一逻辑数据模型物理化得到的第一物理表的数据结构确定。
可选的,若由同一逻辑数据模型物理化得到的不同第一物理表的数据结构因不同数据库的部署算法不同导致存在差异,在统计具有相同数据结构的第一物理表的数量之后,所述类别的数据结构根据数量较高者的第一物理表的数据结构确定;
其中,所述元数据中的物理信息包括所述不同第一物理表的数据结构的差异信息。
可选的,任一类别中的不同物理表的数据结构相同指示不同物理表的字段名称、字段类型和/或字段描述相同。
可选的,所述若干物理表包括由逻辑数据模型物理化得到的第一物理表和不属于任何逻辑数据模型的第二物理表;
属于同一类别的所有第二物理表的字段名称、字段类型和字段描述均相同;
其中,若两张第二物理表来自不同的数据库,且所述两张第二物理表的字段类型满足预设的不同数据库之间的字段类型映射关系,则所述两张第二物理表的字段类型相同。
可选的,所述若干物理表从同一数据库中获取;或者,
所述若干物理表从至少两个数据库中获取;其中,若所述至少两个数据库部署在不同的云环境中;所述元数据还包括环境信息,所述环境信息用于描述所述类别中的各个物理表所处的云环境。
可选的,还包括:
响应于在所述数据库中新建物理表的操作,根据新建的物理表的逻辑结构,查找是否存在与新建的物理表匹配的类别;
若是,在所述匹配的类别的元数据中新增用于指示所述新建的物理表的存储情况的物理信息;
若否,根据所述新建的物理表构建新的类别,并生成该类别对应的元数据。
可选的,所述物理信息包括以下至少一种:所述物理表的字段信息、统计信息、血缘关系和物理表的质量信息;
其中,所述统计信息包括以下至少一种:所述物理表的存储空间、访问热度、产出所述物理表的计算任务和资源消耗信息;所述统计信息按照预设周期进行周期性更新。
根据本说明书一个或多个实施例的第二方面,提出了一种数据查询方法,包括:
响应于数据查询请求,根据元数据确定存储有所述数据查询请求指示的数据的候选物理表;其中,所述元数据基于第一方面任意一项所述的元数据生成方法生成;
从候选物理表中选择目标物理表,并将所述数据查询请求发送给所述目标物理表对应的目标数据库引擎,以由所述目标数据库引擎对所述目标物理表进行查询获得数据查询结果。
可选的,所述目标物理表是基于以下至少一种因素从候选物理表中选定的:
所述数据查询请求的实时性要求、各个候选物理表所在的数据库节点的剩余带宽、以及在将所述数据查询请求发送给各个候选物理表对应的数据库引擎之后返回的查询计划;所述查询计算指示所述数据查询请求的查询开销。
根据本说明书一个或多个实施例的第三方面,提出了一种数据库系统,包括元数据生成装置、数据查询装置和至少一个数据库;所述若干物理表从所述数据库中获取;
所述元数据生成装置用于执行第一方面任意一项所述的方法;
所述数据查询方法用于执行第二方面任意一项所述的方法。
根据本说明书实施例的第四方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述可执行指令时,用于实现第一方面所述的方法。
根据本说明书实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,基于物理表的逻辑结构对若干物理表进行分类得到至少一个类别,任一类别中的不同物理表的逻辑结构相同,并生成每个类别的元数据,实现逻辑结构相同的不同物理表对应同一份元数据,从而能够更为高效且便捷地管理来自同一来源的数据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是一示例性实施例提供的一种逻辑数据模型物理化的示意图。
图2和图3是一示例性实施例提供的数据库系统的不同示意图。
图4是一示例性实施例提供的一种元数据生成方法的流程示意图。
图5和图6是一示例性实施例提供的元数据的不同示意图。
图7是一示例性实施例提供的不同数据库之间的字段类型映射关系的示意图。
图8是一示例性实施例提供的一种数据查询方法的流程示意图。
图9是一示例性实施例提供的一种设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
这里对相关术语进行说明:
逻辑数据模型:逻辑数据模型是数据库技术中一种重要的基本模型。它处于物理数据存储和用户使用之间,它表示数据库信息和关系模型之间的映射。它支持用户定义更通用的视图,可以分解成较低级别的视图,来支持与特定数据库之间的映射,从而扩展应用程序的功能,他可以是应用程序开发者更充分地表达自己的需求,以实现更丰富的应用。
数据库逻辑模型的最大特点在于它将数据从物理存储中分离出来,提供了一种方便的方式来实现复杂的关系。逻辑数据模型分别三个基本结构,分别为实体、关系和属性。实体表示一个可以创建或改变的独立的物理对象,它可以包括一个或多个概念或元素,以及可以定义实体之间的关系。关系是一种映射关系,它定义了不同实体之间的联系,这样,数据库就可以实现数据之间的连接和查询。属性是实体的描述,可以定义实体的特性和特征,以及特定实体所具有的属性。
相关技术中的数据库,对于元数据的定义是基于单个物理表来定义,即每个物理表对应一份元数据;但是,在一个或多个数据库中存储的多个物理表可能来源相同,基于单个物理表定义元数据的方式导致元数据过于分散,会割裂了数据之间的联系,换句话说,从元数据无法知道物理表之间其实是有关联的,无法基于元数据来统一分析数据的分布与存储。并且,在来自同一来源的物理表数量较多的情况下,基于单个物理表来定义元数据的方式还会导致元数据量太多,比如用表名搜索可能得到多个元数据,从而难以定位出真正的物理表。
在一个例子中,比如在同一个数据库(比如ADB,Analytic Datatabse Postresql,分析型数据库)中,每一个分区都是一个物理表,同一个表的多个分区会被定义多个元数据,割裂了数据之间的联系。又比如周期性运行同一算法生成的不同的临时表会被定义不同的元数据,也割裂了数据之间的联系。
在另一个例子中,相关技术中存在同一份数据在多个数据库中存储的需求。比如对同一份数据具有线上查询需求和离线分析需求,通常会将该数据存储在能够提供较佳查询功能的数据库中,以应对线上查询需求;并且也会将该数据同步到在能够提供较佳分析功能的数据库中,以应对离线分析需求。又例如同一个逻辑数据模型会支持多个数据库存储,会在不同数据库上物理化,异构存储经常存在,请参阅图1,同一个逻辑数据模型在MaxCompute(大数据计算服务)、RDS MySQL(关系型数据库管理系统)、和PostgreSQL(一种开源关系数据库管理系统)3个数据库中物理化,会在这3个数据库中为该物理表分别定义元数据,且这3份元数据相互独立,这样会割裂了数据之间的联系,从元数据无法知道物理表之间其实是有关联的,无法基于元数据来统一分析数据的分布与存储。
针对于相关技术中的问题,本说明书实施例提供了一种元数据生成方法,可以从数据库获取待处理的若干物理表;然后根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同;最后针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。本实施例实现逻辑结构相同的不同物理表对应同一份元数据,从而能够更为高效且便捷地管理来自同一来源的数据。
在一些实施例中,本申请实施例提供的元数据生成方法可以由电子设备来执行,所述电子设备包括但不限于服务器、云服务器、智能电话/手机、平板计算机、个人数字助理(PDA)、膝上计算机、台式计算机或者任何其他具备计算能力的装置。
示例性的,所述电子设备包括有处理器和存储器,存储器存储有可在处理器上运行的可执行指令,所述处理器执行所述可执行指令时实现本说明书实施例提供的元数据生成方法和数据查询方法。
示例性的,所述电子设备集成一计算机程序产品,该电子设备执行该计算机程序产品时实现本说明书实施例提供的元数据生成方法。
在一些实施例中,请参阅图2和图3,图2和图3示出了一种数据库系统,包括元数据生成装置10、数据查询装置20和至少一个数据库30。示例性的,所述元数据生成装置10和所述数据查询装置20可以集成在上述的电子设备中;可以理解的是,所述元数据生成装置10和所述数据查询装置20可以安装在同一设备,也可以安装在不同设备,本实施例对此不做任何限制。示例性的,如图2所示,电子设备可以分别与各个数据库30通信连接;或者,如图3所示,电子设备可以与具有中心调度功能的数据库30对接,而具有中心调度功能的数据库30可以与其他数据库对接;本实施例对于设备之间的通信连接方式不做任何限制,可依据实际应用场景进行具体设置。
请参阅图2和图3,元数据生成装置10可以从至少一个数据库中获取待处理的若干物理表,通过执行本说明书实施例提供的元数据生成方法,对若干物理表进行分类,并针对于每个类别创建元数据,实现来源相同的不同物理表对应同一份元数据,从而能够更为高效且便捷地管理来自同一来源的数据。数据查询装置20可以基于元数据生成装置生成的元数据进行数据查询。,
接下来对本说明书实施例提供的元数据生成方法进行示例性说明:请参阅图4,图4示出了一种元数据生成方法的流程示意图,所述方法可以由元数据生成装置(以下简称装置)来执行,所述方法包括:
在S101中,从至少一个数据库获取待处理的若干物理表。
在S102中,根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同。
在S103中,针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。
本实施例实现基于物理表的逻辑结构进行分类,并生成每个类别的元数据,实现逻辑结构相同的不同物理表对应同一份元数据,从而能够更为高效且便捷地管理来自同一来源的数据。
在一些实施例中,基于实际场景需要,装置可以从同一数据库中获取待处理的若干物理表;也可以从至少两个数据库中获取待处理的若干物理表。具体的数据库可以由用户指定,比如可以提供选择页面以供用户从选择页面中显示的多个数据库中选择待处理的数据库。示例性的,所述若干物理表可以是数据库存储的全部物理表,也可以是由用户指定的数据库存储的部分物理表,本实施例对此不做任何限制,可依据实际应用场景进行具体设置。
在一些实施例中,请参阅图5,图5示出了每个类别对应的元数据的示意图,每个类别的元数据包括基本信息和物理信息。其中,所述基本信息用于描述该类别的逻辑结构;示例性的,请参阅图5,所述基本信息可以包括元数据唯一标识、元数据名称、数据结构信息(如表5中的字段名称、字段类型以及字段描述等等)和逻辑数据模型信息(如表5中的模型名称、模型属性信息等)。
所述物理信息用于描述属于该类别的各个物理表的存储情况。示例性的,请参阅图5,所述物理信息包括以下至少一种:所述物理表的字段信息(图5中的n为大于0的整数)、统计信息、血缘关系和物理表的质量信息。其中,所述统计信息包括但不限于以下至少一种:所述物理表的存储空间、访问热度、产出所述物理表的计算任务和资源消耗信息;所述统计信息可以按照预设周期进行周期性更新。所述血缘关系包括该物理表的上游表以及字段关系等等;所述质量信息用于指示该物理表中的数据的可靠程度。并且,所述物理信息还可以包括物理表的表名、表说明信息、物理表所在的数据库(如数据库的唯一标识)、表的责任人等信息;但不限于此。本实施例中实现逻辑结构相同的不同物理表对应同一份元数据,则将逻辑结构相同的不同物理表的统计信息汇聚在一起,从而可以准确评估由同一来源产生的数据的数据价值和数据资源消耗情况等等。
在一些实施例中,装置可以根据用户需求从至少两个不同的数据库中获取若干物理表。如果至少两个不同的数据库部署在不同的云环境中;则同一类别的元数据还可以包括环境信息,所述环境信息用于描述所述类别中的各个物理表所处的云环境。举个例子,请参阅图6,图6中的元数据还包括环境信息,指示了不同物理表所在的云环境。本实施例实现跨平台、跨环境生成统一元数据,从而能够进行高效的数据治理。
接下来对所述若干物理表的分类过程进行说明:
在一种可能的实施方式中,假设所述逻辑结构根据物理表的数据结构确定:装置可以根据各个所述物理表的数据结构,对所述若干物理表进行分类,获得至少一个类别,任一类别中的不同物理表的数据结构相同。示例性的,任一类别中的不同物理表的数据结构相同指示属于同一类别的不同物理表的字段名称、字段类型和/或字段描述相同。
在另一种可能的实现方式中,假设所述逻辑结构根据物理表所属的逻辑数据模型确定:装置可以根据各个物理表所属的逻辑数据模型,对所述若干物理表进行分类,获得至少一个类别,任一类别中的不同物理表由同一逻辑数据模型物理化得到。
在又一种可能的实现方式中,考虑到所述若干物理表中,可能有的物理表是由逻辑数据模型物理化得到,而有的物理表不属于任何逻辑数据模型。针对于该种情况进行说明:所述逻辑结构根据物理表的数据结构和物理表所属的逻辑数据模型确定,所述若干物理表包括由逻辑数据模型物理化得到的第一物理表和不属于任何逻辑数据模型的第二物理表。在对若干物理表进行分类的过程中,首先装置对所述若干物理表中的所有第一物理表进行分类,获取至少一个类别,任一类别中的不同第一物理表由同一逻辑数据模型物理化得到。
其中,任一类别的元数据包括基本信息和物理信息,所述基本信息包括该类别的数据结构信息和逻辑数据模型信息(请参阅图5和图6)。对于任一类别,若所述类别包括由同一逻辑数据模型物理化得到的第一物理表,所述类别的数据结构根据所述由同一逻辑数据模型物理化得到的第一物理表的数据结构确定,即所述类别的数据结构为第一物理表的数据结构。
示例性的,考虑到同一逻辑数据模型物理化得到的不同第一物理表的数据结构因不同数据库的部署算法不同可能存在差异,则在确定该类别的数据结构时,装置可以统计具有相同数据结构的第一物理表的数量,然后根据数量较高者的第一物理表的数据结构确定该类别的数据结构。举个例子,假设表1、表2、表3、表4和表5均由同一逻辑数据模型物理化得到,表1、表2和表3均包括字段A、字段B和字段C;表4和表5包括字段A和字段B,对比可知,表1、表2、表3、表4和表5的数据结构存在差异,装置可以统计具有相同数据结构的第一物理表的数量,数据结构包括字段A、字段B和字段C的有3张表,数据结构包括字段A和字段B的有2张表,则该类别的数据结构可以是数量较高者的第一物理表的数据结构,也即{字段A、字段B和字段C}。
考虑到同一逻辑数据模型物理化得到的不同第一物理表的数据结构因不同数据库的部署算法不同可能存在差异,通过上述方式确定的某个类别的数据结构并不是和该类别下的所有第一物理表相同,则该类别的元数据中的物理信息还可以包括所述不同第一物理表的数据结构的差异信息。示例性的,请参阅图5和图6,所述差异信息可以通过所述物理信息中记载的物理表的字段信息体现,即各个物理表对应的物理信息中还记载了该物理表所包括的所有字段。
在对所有第一物理表进行分类,并确定各个类别的数据结构之后,接下来装置对所述若干物理表中的第二物理表进行分类,对于所述若干物理表中的第二物理表,检测是否存在目标类别的数据结构与所述第二物理表的数据结构相同;若是,将所述第二物理表加入所述目标类别中;若否,根据所述第二物理表构建新的类别。
示例性的,属于同一类别的所有第二物理表的字段名称、字段类型和字段描述均相同。这里的字段类型相同还进一步考虑了不同数据库中不同表现方式。因此,如果两张第二物理表来自不同的数据库,且所述两张第二物理表的字段类型满足预设的不同数据库之间的字段类型映射关系,则装置也可以确定所述两张第二物理表的字段类型相同,例如如图7示例性示出了在数据库A和数据库B之间的字段类型映射关系,对于物理表中的同一个字段名称,在数据库A中是String类型,在数据库B中是Varchar类型,两者是同一个字段类型。
在一些实施例中,在对若干物理表进行分类确定至少一个类别之后,装置可以针对于各个类别创建如图5或图6所示的元数据,所述元数据可以存储在用户指定的数据库中,本实施例对此不做任何限制。
在一些实施例中,在生成各个类别对应的元数据之后,后续如果用户有在数据库创建新的物理表的需求,则所述装置还需要根据实际情况确定是否需要更新之前创建的元数据。示例性的,所述装置响应于在所述数据库中新建物理表的操作,根据新建的物理表的逻辑结构,查找是否存在与新建的物理表匹配的类别;若是,在所述匹配的类别的元数据中新增用于指示所述新建的物理表的存储情况的物理信息;若否,根据所述新建的物理表构建新的类别,并生成该类别对应的元数据。本实施例实现逻辑结构相同的物理表对应同一份元数据,从而能够更为高效且便捷地管理来自同一来源的数据。
在一些实施例中,请参阅图8,本说明书实施例还提供了一种数据查询方法,所述数据查询方法可以由数据查询装置来执行,所述方法包括:
在S201中,响应于数据查询请求,根据元数据确定存储有所述数据查询请求指示的数据的候选物理表;其中,所述元数据基于上述的元数据生成方法生成。
在S202中,从候选物理表中选择目标物理表,并将所述数据查询请求发送给所述目标物理表对应的目标数据库引擎,以由所述目标数据库引擎对所述目标物理表进行查询获得数据查询结果。
本实施例中,在接收到数据查询请求之后,可以基于数据查询请求中携带的信息确定相关的元数据,然后基于元数据进行数据查询,该元数据基于上述的元数据生成方法生成,可以跨平台、跨环境去表达具有相同逻辑结构的物理表;基于统一的元数据可以很方便完成对数据的查询,元数据中记录了基本信息和各个物理表的物理信息,基于这些信息可以自动选择最优存储获取数据。
在一种可能的实施方式中,在基于元数据确定出至少两个候选物理表之后,数据查询装置可以根据所述数据查询请求的实时性要求从候选物理表中选择目标物理表。举个例子,假设有2张候选物理表,候选物理表A存储在能够提供较佳查询功能的数据库中,以应对线上查询需求;候选物理表B存储在能够提供较佳分析功能的数据库中,以应对离线分析需求;假设数据查询装置接收的数据查询请求要求实时查询并返回结果,则数据查询装置可以将该数据查询请求发送给候选物理表A对应的目标数据库引擎,以由所述目标数据库引擎对所述目标物理表进行查询获得数据查询结果并及时返回。
在另一种可能的实现方式中,数据查询装置可以根据各个候选物理表所在的数据库节点的剩余带宽,从候选物理表中选择目标物理表。比如所述目标物理表所在的数据库节点的剩余带宽最多,或者高于预设阈值。
在又一种可能的实现方式中,数据查询装置可以将所述数据查询请求发送给各个候选物理表对应的数据库引擎,各个候选物理表对应的数据库引擎可以基于所述数据查询请求生成查询计划并返回给数据查询装置,所述查询计算指示所述数据查询请求的查询开销。则数据查询装置可以根据各个候选物理表对应的查询计划,从候选物理表中选择目标物理表。比如目标物理表的查询计划中指示的查询开销最小,或者小于预设开销。
以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
在一些实施例中,请参阅图2和图3,本说明书实施例还提供了一种数据库系统,包括元数据生成装置、数据查询装置和至少一个数据库;所述若干物理表从所述数据库中获取。
所述元数据生成装置用于执行上述的元数据生成方法;所述数据查询方法用于执行上述的数据查询方法。
可以理解的是,本说明书实施例对于元数据生成装置、数据查询装置和至少一个数据库之间的通信方式不做任何限制,可依据实际应用场景进行具体设置。
示例性的,所述元数据生成装置包括:
物理表获取模块,用于从至少一个数据库获取待处理的若干物理表。
物理表分类模块,用于根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同。
元数据生成模块,用于针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。
示例性的,所述数据查询装置包括:
候选物理表确定模块,用于响应于数据查询请求,根据元数据确定存储有所述数据查询请求指示的数据的候选物理表;其中,所述元数据基于上述的元数据生成方法生成。
数据查询模块,用于从候选物理表中选择目标物理表,并将所述数据查询请求发送给所述目标物理表对应的目标数据库引擎,以由所述目标数据库引擎对所述目标物理表进行查询获得数据查询结果。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
图9是一示例性实施例提供的一种设备的示意结构图。请参考图9,在硬件层面,该设备包括处理器902、内部总线904、网络接口906、内存908以及非易失性存储器910,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器902从非易失性存储器910中读取对应的计算机程序到内存908中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。示例性的,上述的元数据生成装置和上述的数据查询装置可以应用于如图9所示的设备中。
在一些实施例中,本说明书实施例还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述中任一项所述的方法。在一些实施例中,本说明书实施例还提供了一种资源调度系统,该资源调度系统包括:与资源节点集群中的任一目标资源节点对应的目标资源节点端调度器,用于执行上述任意一项所述方法的步骤;与所述资源节点集群对应的中心调度器,用于执行上述任意一项所述方法的步骤。
在一些实施例中,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (14)
1.一种元数据生成方法,包括:
从至少一个数据库获取待处理的若干物理表;
根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别;其中,所述逻辑结构根据物理表的数据结构和/或物理表所属的逻辑数据模型确定;任一类别中的不同物理表的逻辑结构相同;
针对于每个类别创建元数据;其中,每个类别的元数据包括基本信息和物理信息,所述基本信息用于描述该类别的逻辑结构,所述物理信息用于描述属于该类别的各个物理表的存储情况。
2.根据权利要求1所述的方法,所述若干物理表包括由逻辑数据模型物理化得到的第一物理表和不属于任何逻辑数据模型的第二物理表;
所述根据各个所述物理表的逻辑结构,对所述若干物理表进行分类,获得至少一个类别,包括:
对所述若干物理表中的所有第一物理表进行分类,获取至少一个类别;任一类别中的不同第一物理表由同一逻辑数据模型物理化得到;
对于所述若干物理表中的第二物理表,检测是否存在目标类别的数据结构与所述第二物理表的数据结构相同;若是,将所述第二物理表加入所述目标类别中;若否,根据所述第二物理表构建新的类别。
3.根据权利要求2所述的方法,对于任一类别,若所述类别包括由同一逻辑数据模型物理化得到的第一物理表,所述类别的数据结构根据所述由同一逻辑数据模型物理化得到的第一物理表的数据结构确定。
4.根据权利要求3所述的方法,若由同一逻辑数据模型物理化得到的不同第一物理表的数据结构因不同数据库的部署算法不同导致存在差异,在统计具有相同数据结构的第一物理表的数量之后,所述类别的数据结构根据数量较高者的第一物理表的数据结构确定;
其中,所述元数据中的物理信息包括所述不同第一物理表的数据结构的差异信息。
5.根据权利要求1至4任意一项所述的方法,任一类别中的不同物理表的数据结构相同指示不同物理表的字段名称、字段类型和/或字段描述相同。
6.根据权利要求5所述的方法,所述若干物理表包括由逻辑数据模型物理化得到的第一物理表和不属于任何逻辑数据模型的第二物理表;
属于同一类别的所有第二物理表的字段名称、字段类型和字段描述均相同;
其中,若两张第二物理表来自不同的数据库,且所述两张第二物理表的字段类型满足预设的不同数据库之间的字段类型映射关系,则所述两张第二物理表的字段类型相同。
7.根据权利要求1至4任意一项所述的方法,所述若干物理表从同一数据库中获取;或者,
所述若干物理表从至少两个数据库中获取;其中,若所述至少两个数据库部署在不同的云环境中;所述元数据还包括环境信息,所述环境信息用于描述所述类别中的各个物理表所处的云环境。
8.根据权利要求1所述的方法,还包括:
响应于在所述数据库中新建物理表的操作,根据新建的物理表的逻辑结构,查找是否存在与新建的物理表匹配的类别;
若是,在所述匹配的类别的元数据中新增用于指示所述新建的物理表的存储情况的物理信息;
若否,根据所述新建的物理表构建新的类别,并生成该类别对应的元数据。
9.根据权利要求1所述的方法,所述物理信息包括以下至少一种:所述物理表的字段信息、统计信息、血缘关系和物理表的质量信息;
其中,所述统计信息包括以下至少一种:所述物理表的存储空间、访问热度、产出所述物理表的计算任务和资源消耗信息;所述统计信息按照预设周期进行周期性更新。
10.一种数据查询方法,包括:
响应于数据查询请求,根据元数据确定存储有所述数据查询请求指示的数据的候选物理表;其中,所述元数据基于权利要求1至9任意一项所述的元数据生成方法生成;
从候选物理表中选择目标物理表,并将所述数据查询请求发送给所述目标物理表对应的目标数据库引擎,以由所述目标数据库引擎对所述目标物理表进行查询获得数据查询结果。
11.根据权利要求10所述的方法,所述目标物理表是基于以下至少一种因素从候选物理表中选定的:
所述数据查询请求的实时性要求、各个候选物理表所在的数据库节点的剩余带宽、以及在将所述数据查询请求发送给各个候选物理表对应的数据库引擎之后返回的查询计划;所述查询计算指示所述数据查询请求的查询开销。
12.一种数据库系统,包括元数据生成装置、数据查询装置和至少一个数据库;所述若干物理表从所述数据库中获取;
所述元数据生成装置用于执行权利要求1至9任意一项所述的方法;
所述数据查询方法用于执行权利要求10或11所述的方法。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310339228.2A CN116401251A (zh) | 2023-03-27 | 2023-03-27 | 元数据生成方法、数据查询方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310339228.2A CN116401251A (zh) | 2023-03-27 | 2023-03-27 | 元数据生成方法、数据查询方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401251A true CN116401251A (zh) | 2023-07-07 |
Family
ID=87006889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310339228.2A Pending CN116401251A (zh) | 2023-03-27 | 2023-03-27 | 元数据生成方法、数据查询方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401251A (zh) |
-
2023
- 2023-03-27 CN CN202310339228.2A patent/CN116401251A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531662B2 (en) | System and method for use of a dynamic flow in a multidimensional database environment | |
US11789978B2 (en) | System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment | |
CN110674228B (zh) | 数据仓库模型构建和数据查询方法、装置及设备 | |
US10725981B1 (en) | Analyzing big data | |
US10042931B2 (en) | Data query method and apparatus | |
US9361320B1 (en) | Modeling big data | |
CN109660574B (zh) | 数据提供方法及装置 | |
US9201700B2 (en) | Provisioning computer resources on a network | |
US20200125550A1 (en) | System and method for dependency analysis in a multidimensional database environment | |
CN110659283A (zh) | 数据标签处理方法、装置、计算机设备及存储介质 | |
US20170337486A1 (en) | Feature-set augmentation using knowledge engine | |
CN114238085A (zh) | 接口测试方法、装置、计算机设备、存储介质 | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
CN107430633B (zh) | 用于数据存储的系统及方法和计算机可读介质 | |
US11645283B2 (en) | Predictive query processing | |
CN116401251A (zh) | 元数据生成方法、数据查询方法、系统、设备及存储介质 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN111339245B (zh) | 数据存储方法、装置、存储介质及设备 | |
CN112579709A (zh) | 一种数据表识别方法、装置、存储介质及电子设备 | |
US20130339372A1 (en) | System and method for contexual ranking of information facets | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
US11841857B2 (en) | Query efficiency using merged columns | |
CN117971885A (zh) | 应用拓扑信息的查询方法、装置、存储介质及电子设备 | |
CN115422199A (zh) | 多维统计数据的处理方法、装置及计算机设备 | |
CN117609303A (zh) | 多表联合查询方法、装置、设备及存储介质 |
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 |