System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式数据库与大数据组件元数据共享系统技术方案_技高网

一种分布式数据库与大数据组件元数据共享系统技术方案

技术编号:41260297 阅读:2 留言:0更新日期:2024-05-11 09:18
本发明专利技术提供了一种分布式数据库与大数据组件元数据共享系统,包括:执行计划生成模块,解析用户提交的SQL查询并生成可供数据库执行的执行计划;外部元数据管理模块,识别外部元数据名称FQN;所述外部元数据管理模块与所述执行计划生成模块协同,识别并管理外部元数据的整型标识OID;外部元数据翻译器模块,解析外部元数据的整型标识OID,将其转换为内部可识别的元数据;所述外部元数据翻译器模块为所述执行计划生成模块提供外部元数据OID对应的元数据;外部元数据连接参数存储器,存储每个外部元数据名称FQN的连接参数;外部元数据连接器,根据外部元数据FQN从所述外部元数据连接参数存储器中获取连接参数。

【技术实现步骤摘要】

本专利技术涉及数据库领域,更具体的说是,涉及一种分布式数据库与大数据组件元数据共享系统


技术介绍

1、分布式数据库是一种将数据分布在多台计算机上运行和存储的数据库,通常它有更好的可用性以及更强的性能,但是由于多节点的存在保证节点间的一致性是首要挑战。

2、元数据是指描述和管理数据的数据,在数据库中它通常包括有关表定义、视图定义、索引信息、权限和访问控制信息等。

3、通常,不同的数据库间不共享元数据。在多数据库语境下,为了加以区分,根据相对关系定义内部元数据与外部元数据,其中内部元数据为数据库自身维护的元数据,而外部元数据则是指相对于自身以外的其他数据库维护的元数据。外部元数据是访问和修改其他数据库中数据的关键信息。

4、能够使用外部元数据的前提是外部数据库可以提供元数据。

5、目前spark、starrocks等数据库支持定义外部元数据从而访问其他数据库。但传统数据库,例如postgresql,本身并不支持外部元数据,其内部也只维护一个内部元数据。

6、以spark、starrocks为代表的支持外部元数据的数据库都是近年来新兴的数据库,它们在架构上与传统数据库,例如postgresql,有着很大的不同。所以前者实现外部元数据的方法,在后者中很难实现。

7、图1所示为不考虑外部元数据的执行流程,每一项元数据都会被持久化存储在数据库中并拥有全局唯一的整型标识(oid),并且在运行过程中都是以它的整型标识来调用,传递。在这种情况下实现外部元数据的功能主要有以下困难:

8、1.如何动态管理(分配、回收)外部元数据的整型标识;内部元数据被持久化在数据库中,所以整型标识已经分配且唯一;但是外部元数据并没有持久化在数据库中,所以没有整型标识;

9、2.如何将外部元数据整型标识解析成元数据。


技术实现思路

1、本专利技术的目的是提供一种分布式数据库与大数据组件元数据共享系统。

2、本专利技术要解决的是现有技术中存在的问题。

3、与现有技术相比,本专利技术技术方案及其有益效果如下:

4、一种分布式数据库与大数据组件元数据共享系统,包括:执行计划生成模块,解析用户提交的sql查询并生成可供数据库执行的执行计划;外部元数据管理模块,识别外部元数据名称fqn;所述外部元数据管理模块与所述执行计划生成模块协同,识别并管理外部元数据的整型标识oid;外部元数据翻译器模块,解析外部元数据的整型标识oid,将其转换为内部可识别的元数据;所述外部元数据翻译器模块为所述执行计划生成模块提供外部元数据oid对应的元数据;外部元数据连接参数存储器,存储每个外部元数据名称fqn的连接参数;外部元数据连接器,根据外部元数据fqn从所述外部元数据连接参数存储器中获取连接参数;所述外部元数据连接器使用连接参数连接至外部元数据提供者,并获得fqn对应的未加工的外部元数据;所述外部元数据连接器与所述外部元数据连接参数存储器协同,建立连接;所述外部元数据连接器为外部元数据翻译器模块提供未加工的外部元数据。

5、作为进一步改进的,所述执行计划生成模块存在于在数据库中,且通过内部元数据为基础生成执行计划;在sql中涉及的元数据名称以fqn形式存在,所述执行计划生成模块将fqn解析成独一无二的整形标识oid,通过oid获取真正的元数据,最终利用元数据生成执行计划。

6、作为进一步改进的,对于无法识别的fqn,所述执行计划生成模块将无法生成执行计划,报错终止;如果所述执行计划生成模块不支持外部元数据,则所述执行计划生成模块无法识别此类fqn,报错终止。

7、作为进一步改进的,当遇到无法识别的fqn时,所述执行计划生成模块会尝试向外部元数据管理模块获取外部元数据对应的oid;当遇到无法识别的oid时,所述执行计划生成模块会向外部元数据解析模块获取外部元数据。

8、作为进一步改进的,所述外部元数据翻译器模块通过外部元数据管理模块获取oid对应的fqn;所述外部元数据翻译器模块通过fqn对应的连接参数、连接器与外部元数据提供者进行交互,获得未加工的外部元数据;所述外部元数据翻译器模块将未加工的外部元数据翻译成内部元数据格式。

9、作为进一步改进的,所述外部元数据翻译器模块协同外部元数据连接器,获取未加工的外部元数据;所述执行计划生成模块提供oid,需要从所述外部元数据管理模块处获取对应的fqn。

10、作为进一步改进的,数据处理顺序包括:用户提交sql查询至所述执行计划生成模块;所述执行计划生成模块将fqn翻译成oid,如果内部元数据无法翻译则让所述外部元数据管理模块翻译,如果所述外部元数据管理模块不能翻译则报错终止;所述执行计划生成模块利用oid生成执行计划,如果是外部元数据则oid交由外部元数据翻译器来获得外部元数据;查询执行完成,释放相应的资源,包括回收外部元数据的整型标识。

11、作为进一步改进的,所述外部元数据翻译器模块,解析外部元数据的整型标识oid,将其转换为内部可识别的元数据,包括:接收执行计划生成模块的oid;通过外部元数据管理模块获得oid对应的fqn;通过外部元数据连接器建立连接;外部元数据连接器通过fqn从外部元数据连接参数存储器中获得连接参数;外部元数据连接器获得连接参数后建立连接;外部元数据连接器通过fqn从外部元数据提供者处获得未加工的外部元数据,返回给外部元数据翻译器;外部元数据翻译器将未加工的外部元数据翻译成可以识别的格式,返回给执行计划生成器。

12、本专利技术的有益效果为:

13、本专利技术实现了对外部元数据的解析,用户提交sql查询至执行计划生成模块;执行计划生成模块将fqd翻译成oid,如果内部元数据无法翻译则让外部元数据管理模块翻译,如果外部元数据管理模块也不能翻译则报错终止;执行计划生成模块利用oid生成执行计划,此时会涉及将oid翻译成元数据的工作,此时如果是外部元数据oid则交由外部元数据翻译器来获得外部元数据;查询执行完成,释放相应的资源,包括回收外部元数据的整型标识。

本文档来自技高网...

【技术保护点】

1.一种分布式数据库与大数据组件元数据共享系统,其特征在于,包括:

2.根据权利要求1所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

3.根据权利要求2所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

4.根据权利要求3所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

5.根据权利要求1所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

6.根据权利要求5所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

7.根据权利要求1所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,数据处理顺序包括:

8.根据权利要求1所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,所述外部元数据翻译器模块,解析外部元数据的整型标识OID,将其转换为内部可识别的元数据,包括:

【技术特征摘要】

1.一种分布式数据库与大数据组件元数据共享系统,其特征在于,包括:

2.根据权利要求1所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

3.根据权利要求2所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

4.根据权利要求3所述的一种分布式数据库与大数据组件元数据共享系统,其特征在于,

5.根据权利要求1所述的一种分布式数据库与大数据组件元数...

【专利技术属性】
技术研发人员:汪思学陶征霖常雷姚佳丽霍瑞龙刘大伟宋宜旭
申请(专利权)人:北京偶数科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1