基于Atlas管理Oracle数据库元数据的方法及装置转让专利

申请号 : CN202110215724.8

文献号 : CN112905564B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张睿智朱亚静张金波翟盛龙

申请人 : 浪潮云信息技术股份公司

摘要 :

本发明公开了基于Atlas管理Oracle数据库元数据的方法及装置,属于数据库元数据管理技术领域,要解决的技术问题为如何管理Oracle数据库元数据。方法包括如下步骤:部署Hadoop生态下的Atlas服务;自定义Oracle数据库中元数据的Type类型,并通过反向查询接口验证Atlas服务中是否包含所需的Type类型以及各个Type类型的实体是否与所需一致;通过SQL语句采集Oracle数据库元数据,并将元数据映射到对应的实体中;将采集的Oracle数据库元数据更新至Atlas服务中;调用Atlas REST API接口对Oracle数据库底层数据进行编辑配置及查询操作。

权利要求 :

1.基于Atlas管理Oracle数据库元数据的方法,其特征在于基于Atlas组件支持自定义扩展Type索引的模式,通过扩展自定义的Type索引提供存储和索引服务,所述方法包括如下步骤:部署Hadoop生态下的Atlas服务,Atlas底层采用janusgraph图数据作为存储引擎,采用Hbase作为存储介质,采用Solr服务或者ElasticSearch作为检索引擎;

调用Atlas REST API 接口自定义Oracle数据库中元数据的Type索引,并通过反向查询接口验证Atlas服务中是否包含所需的Type索引以及各个Type索引的实体是否与所需一致,所述实体作为类型的实例,表示被管理的实际元数据对象;

连接对应Oracle数据库,通过SQL语句采集Oracle数据库元数据,并将元数据映射到对应的实体中;

调用Atlas REST API 接口将采集的Oracle数据库元数据更新至Atlas服务中,并通过Atlas REST API对Oracle数据库元数据进行编辑配置;

通过可视化的管理界面展示Oracle数据库元数据,并调用Atlas REST API 接口对Oracle数据库底层数据进行编辑配置及查询操作。

2.根据权利要求1所述的基于Atlas管理Oracle数据库元数据的方法,其特征在于部署Hadoop生态下的Atlas服务,包括部署Atlas所依赖的基础服务,上述Atlas所依赖的基础服务启动后,启动Atlas服务并验证Atlas服务是否正常启动;

所述基础服务包括服务注册中心Zookeeper、权限管理服务Ranger、分布式文件存储系统HDFS、分布式列数据库Hbase、以及图数据库janusgraph。

3.根据权利要求1或2所述的基于Atlas管理Oracle数据库元数据的方法,其特征在于启动Atlas服务后,修改Atlas配置信息,并开启Ranger对Atlas的控制权限功能。

4.根据权利要求1、2或3所述的基于Atlas管理Oracle数据库元数据的方法,其特征在于所述Type索引包括oracleDbType、oracleSchemaType、oracleTableType、oracleColumnType;

所述Type索引对应的实体包括AtlasEntityOracleColumn、AtlasEntityOracleDb、AtlasEntityOracleSchema以及AtlasEntityOracleTable。

5.根据权利要求1、2或3所述的基于Atlas管理Oracle数据库元数据的方法,其特征在于连接对应Oracle数据库后,获取对应JDBC connect连接,并执行对应的SQL语句以采集Oracle数据库元数据。

6.基于Atlas管理Oracle数据库元数据的装置,其特征在于,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至5中任一所述的方法。

7.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至5任一所述的方法。

说明书 :

基于Atlas管理Oracle数据库元数据的方法及装置

技术领域

[0001] 本发明涉及数据库元数据管理技术领域,具体地说是基于Atlas管理Oracle数据库元数据的方法及装置。

背景技术

[0002] 随着云时代的来临,数据正在迅速膨胀并变大,元数据管理和治理逐渐被人们重视。面对海量且持续增加的各式各样的数据对象,为寻求数据治理的开源解决方案,多家公司联合其他厂商与用户于发起数据治理倡议,包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理等方面。采用Hadoop必须考虑数据管理的实际情况,对oracle数据库元数据与数据治理成为企业级数据湖的重要部分。
[0003] 基于上述分析,如何管理Oracle数据库元数据,是需要解决的技术问题。

发明内容

[0004] 本发明的技术任务是针对以上不足,提供基于Atlas管理Oracle数据库元数据的方法及装置,来解决如何管理Oracle数据库元数据的问题。
[0005] 第一方面,本发明提供基于Atlas管理Oracle数据库元数据的方法,基于Atlas组件支持自定义扩展Type索引的模式,通过扩展自定义的Oracle Type提供存储和索引服务,所述方法包括如下步骤:
[0006] 部署Hadoop生态下的Atlas服务,Atlas底层采用janusgraph图数据作为存储引擎,采用Hbase作为存储介质,采用Solr服务或者ElasticSearch作为检索引擎;
[0007] 调用Atlas REST API接口自定义Oracle数据库中元数据的Type类型,并通过反向查询接口验证Atlas服务中是否包含所需的Type类型以及各个Type类型的实体是否与所需一致,所述实体作为类型的实例,表示被管理的实际元数据对象;
[0008] 连接对应Oracle数据源,通过SQL语句采集Oracle数据库元数据,并将元数据映射到对应的实体中;
[0009] 调用Atlas REST API接口将采集的Oracle数据库元数据更新至Atlas服务中,并通过Atlas REST API对Oracle数据库元数据进行编辑配置;
[0010] 通过可视化的管理界面展示Oracle数据库元数据,并调用Atlas REST API接口对Oracle数据库底层数据进行编辑配置及查询操作。
[0011] 作为优选,部署Hadoop生态下的Atlas服务,包括部署Atlas所依赖的基础服务,上述基础服务启动后,启动Atlas服务并验证Atlas服务是否正常启动。
[0012] 作为优选,所述基础服务包括服务注册中心Zookeeper、权限管理服务Ranger、分布式文件存储系统HDFS、分布式列数据库Hbase、以及图数据库janusgraph。
[0013] 作为优选,启动Atlas服务后,修改Atlas配置信息,并开启Ranger对Atlas的控制权限功能。
[0014] 作为优选,所述Type类型包括oracleDbType、oracleSchemaType、oracleTableType、oracleColumnType;
[0015] 所述Type类型对应的实体包括AtlasEntityOracleColumn、AtlasEntityOracleDb、AtlasEntityOracleSchema以及AtlasEntityOracleTable。
[0016] 作为优选,连接对应Oracle数据源后,获取对应JDBC connect连接,并执行对应的SQL语句以采集Oracle数据库元数据。
[0017] 第二方面,本发明提供一种装置,包括:至少一个存储器和至少一个处理器;
[0018] 所述至少一个存储器,用于存储机器可读程序;
[0019] 所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6中任一所述的方法。
[0020] 第三方面,本发明提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
[0021] 本发明的基于Atlas管理Oracle数据库元数据的方法及装置具有以下优点:
[0022] 1、通过自定义Type能够高度自由的实现各种数据库模型的支持;
[0023] 2、通过HBase存储元数据,允许存储海量数据;
[0024] 3、索引存储配置为Solr引擎或者ElasticSearch引擎,允许进行高效搜索;
[0025] 4、通过Ranger服务的权限控制特性,可以进行oracle数据库元数据库级、表级、列级的细粒度的控制访问权限;
[0026] 5、与Hadoop生态有良好的兼容性,为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。

附图说明

[0027] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028] 下面结合附图对本发明进一步说明。
[0029] 图1为实施例1基于Atlas管理Oracle数据库元数据的方法的流程框图。

具体实施方式

[0030] 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
[0031] 本发明实施例提供基于Atlas管理Oracle数据库元数据的方法及装置,用于解决如何管理Oracle数据库元数据的技术问题。
[0032] 实施例1:
[0033] 本发明的基于Atlas管理Oracle数据库元数据的方法,基于Atlas组件支持自定义扩展Type索引的模式,通过扩展自定义的Oracle Type提供存储和索引服务,上述方法包括如下步骤:
[0034] S100、部署Hadoop生态下的Atlas服务,Atlas底层采用janusgraph图数据作为存储引擎,采用Hbase作为存储介质,采用Solr服务或者ElasticSearch作为检索引擎;
[0035] S200、调用Atlas REST API接口自定义Oracle数据库中元数据的Type类型,并通过反向查询接口验证Atlas服务中是否包含所需的Type类型以及各个Type类型的实体是否与所需一致,上述实体作为类型的实例,表示被管理的实际元数据对象;
[0036] S300、连接对应Oracle数据源,通过SQL语句采集Oracle数据库元数据,并将元数据映射到对应的实体中;
[0037] S400、调用Atlas REST API接口将采集的Oracle数据库元数据更新至Atlas服务中,并通过Atlas REST API对Oracle数据库元数据进行编辑配置;
[0038] S500、通过可视化的管理界面展示Oracle数据库元数据,并调用Atlas REST API接口对Oracle数据库底层数据进行编辑配置及查询操作。
[0039] Hadoop体系Atlas服务允许用户为他们想要管理的元数据对象进行自定义一个模型。该模型由称为“Type类型”的定义组成。“Type类型”的实例被称为“Entity实体”表示被管理的实际元数据对象。Atlas类型系统是Atlas组件中自带的一项服务,允许用户进行使用和管理类型和实体,类型服务中自带像hiveType、HbaseType等默认类型,也支持用户进行自行定义扩展自己需要的类型。我们可以基于上述特性,使用Atlas自定义Oracle数据库元数据类型的方式来实现基于Atlas管理oracle数据库元数据的方法。
[0040] 步骤S100中,部署Hadoop生态下的Atlas服务,其中需要部署Atlas所依赖的基础服务,服务注册中心Zookeeper、权限管理服务Ranger、分布式文件存储系统HDFS、分布式列数据库Hbase、图数据库janusgraph。在所依赖的服务均正常启动后,启动Atlas服务,并验证是否正常启动。
[0041] 启动Atlas服务后,修改Atlas配置信息,开启Ranger对Atlas的控制权限功能,为使用Atlas进行控制oracle数据库元数据的访问权限做好支持。
[0042] 步骤S200中,调用Atlas REST API接口进行自定义Oracle Type,其中包含oracleDbType、oracleSchemaType、oracleTableType、oracleColumnType四种类型,并通过反向查询接口来验证Atlas服务中是否包含了所需的自定义类型及各个类型的属性内容是否与所需定义内容一致。
[0043] 定义义Oracle Type,即定义oracle数据库的数据库、schema、数据表、数据列的元数据类型,其中数据库中可以进行定义数据库名称、数据库IP、数据库用户等多类数据库的元数据内容,schema可以进行定义schema名称、创建时间等元数据内容;数据表可以进行定义数据库表名称、数据库表中文注释名称、数据库表大小、数据库表各类存储规则包含表空间大小、自增序列、索引、住建、外键等数据表元数据内容;数据列可以进行定义数据列名称、数据列中文注释名称、数据列字段类型等数据列元数据内容。以上各类元数据内容均可以按照实际需求来进行自定义扩展或者删改。
[0044] 四种Type类型对应的entity实体如下:
[0045] AtlasEntityOracleColumn
[0046] AtlasEntityOracleDb
[0047] AtlasEntityOracleSchema
[0048] AtlasEntityOracleTable
[0049] 步骤S300对oracle数据库的元数据进行元数据采集,可以通过连接对应的oracle数据源获取到对应的JDBC连接connect后,进行执行对应的获取数据库、数据表、数据列的SQL,并将SQL执行后的返回内容进行解析,将解析后的内容对应映射到上述步骤S200中定义的实体中去,为下步写入同步到Atlas中做好数据的准备。
[0050] 步骤S400中,由于Atlas中提供了对各类元数据类型及实体数据进行操作的REST API,其中也支持上述自定义元数据类型及实体,所以可以利用此点来进行调用对应的REST API来进行将上述步骤所采集到的数据库、schema、数据表、数据列的元数据内容,分别写入到第一步中定义的数据库、schema、数据表、数据列的Type类型及实体中。这样就讲对应的各类元数据内容写入到了Atlas中。
[0051] 步骤S500中,通过开发web界面来实现元数据各项信息的可视化,底层通过调用atlas REST API来操作及查询各类oracle底层数据,实现综合的oracle元数据管理。具体的,Atlas底层采用的janusgraph图数据作为存储引擎,Hbase作为存储介质,Solr服务或者ElasticSearch作为检索引擎,可以对其中的各类元数据信息进行增删改查等操作。
[0052] 本发明基于Atlas管理Oracle数据库元数据的方法,通过Atlas进行管理基础oracle数据库元数据。由于Atlas支持对接Ranger服务,使用Ranger服务来进行控制各类访问权限,所以也可以采用此点,来实现对oracle数据库元数据的访问授权、访问控权功能。本发明综合利用Atlas服务、Solr搜索服务或者ElasticSearch搜索服务,及增加嵌合Ranger服务的权限控制特性,可以进行oracle数据库元数据库级、表级、列级的细粒度的控制访问权限,且可以直接在Ranger服务控制台中简单明了的进行权限配置。
[0053] 实施例2:
[0054] 本发明的装置,包括:至少一个存储器和至少一个处理器;
[0055] 上述至少一个存储器,用于存储机器可读程序;上述至少一个处理器,用于调用所述机器可读程序,执行实施例1公开的方法。
[0056] 实施例3:
[0057] 本发明的计算机可读介质,上述计算机可读介质上存储有计算机指令,上述计算机指令在被处理器执行时,使上述处理器执行本实施例1公开的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0058] 在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0059] 用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0060] 此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0061] 此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0062] 上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。