本发明专利技术提供一种创建数据库表模型的方法及装置,能够大幅度缩短目标数据库创建前的需求分析、模型设计阶段,快速实现标准的数据库表模型建立,提高数据入库的效率,加速数据仓库建设。本发明专利技术的一种创建数据库表模型的方法包括:保存从源数据库的字典表中获取的创建目标表需要的源表信息;对源表字段名称及源表字段类型进行转换,得到目标数据库能识别的目标表字段名称及目标表字段类型;由源表标识信息得到对应的目标表名称,并根据目标表名称、目标表字段名称、目标表字段类型、源表字段描述及源表描述得到目标表的建表代码;执行建表代码,以生成完整的目标表模型。
【技术实现步骤摘要】
本专利技术涉及计算机
,特别地涉及一种创建数据库表模型的方法及装置。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在电子商务行业,大数据平台仓库的数据源是企业的各个业务系统,因企业内部业务场景的不同,使用的数据库系统也繁多,例如sqlserver,mysql,oracle,hive等等。但是各个数据库因其适用的场合限制,有时候会根据业务的需要进行相互之间的转换。例如,现有的关系型据库mysql,oracle等在高并发读写、海量数据的高效率读写、高扩展性和可用性等几个方面遇到了瓶颈,因此,为进行海量数据的处理需要建立面向海量数据访问的非关系型数据库(例如,基于hadoop的hive大数据仓库)来进行数据处理,hive在海量数据的读写、模型计算、性价比等方面比关系数据库有明显优势。又例如,为进行数据的高性能并发读写,可建立具有极高的并发读写性能的key-value数据库(例如:redis等)。在进行数据库的创建时,如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL (Extract-Transform-Load,数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程)就是建设大厦的过程。其中最难的部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60 %?80 %,这是国内外从众多实践中得到的普遍共识。由于企业内部业务场景的不同,使用的数据库系统也不同,各数据库的语法存在差异,因此极大的增加了需求分析和模型设计的复杂度。随着电子商务企业业务的不断扩展,产生的数据会越来越多,这对ETL的时效性提出了更高的要求。每有一张表从业务系统的源数据库进入目标数据库时,都需要调研该表的属性,分区属性,列属性,所在库名称,所在服务器地址等,继而还要设计这张表在目标数据库对应的数据存储模型,然后再配置调度作业流,开发批量作业程序等一系列操作。因此,找到一种方法能提高ETL需求分析、模型设计的效率,对于提高系统的运行效率有至关重要的意义。现有的ETL需求分析、模型设计方案一般是需求分析人员与源系统数据库研发人员进行沟通,通过线下方式获取模型信息后,模型设计人员通过使用office、UE编辑器等简单工具开发数据库模型。但是,现有的技术方案存在以下几个缺点:1、人工进行线下调研的版本与实际模型有差异;2、人工调研效率低,设计开发周期长;3、建立的目标数据库表类型不统一,不利于维护及扩展。
技术实现思路
有鉴于此,本专利技术提供一种创建数据库表模型的方法及装置,能够大幅度缩短目标数据库创建前的需求分析、模型设计阶段,快速实现标准的数据库表模型建立,提高数据入库的效率,加速数据仓库建设。为实现上述目的,根据本专利技术的一个方面,提供了一种创建数据库表模型的方法。本专利技术的一种创建数据库表模型的方法包括:保存从源数据库的字典表中获取的创建目标表需要的源表信息,其中,所述源表信息包括:源表标识信息、源表字段名称、源表字段类型、源表字段描述及源表描述;对所述源表字段名称及源表字段类型进行转换,得到目标数据库能识别的目标表字段名称及目标表字段类型;由所述源表标识信息得到对应的目标表名称,并根据所述目标表名称、目标表字段名称、目标表字段类型、源表字段描述及源表描述得到目标表的建表代码;执行所述建表代码,以生成完整的目标表模型。可选地,所述源表标识信息包括:源表唯一标识符、源数据库名称及源表名称。可选地,对所述源表字段名称及源表字段类型进行转换的步骤包括:根据字段名称映射规则,将目标数据库的关键字黑名单中包含的非源表关键字的源表字段名称转换为非关键字的目标表字段名称;根据字段类型关系映射表,将源表字段类型转换为目标数据库能识别且兼容的目标表字段类型。可选地,所述字段类型关系映射表包括:源数据库的字段类型与目标数据库的字段类型的对应关系。根据本专利技术的另一方面,提供了一种创建数据库表模型的装置。本专利技术的一种创建数据库表模型的装置包括:解析模块,用于保存从源数据库的字典表中获取的创建目标表需要的源表信息,其中,所述源表信息包括:源表标识信息、源表字段名称、源表字段类型、源表字段描述及源表描述;转换模块,用于对所述源表字段名称及源表字段类型进行转换,得到目标数据库能识别的目标表字段名称及目标表字段类型;封装模块,用于由所述源表标识信息得到对应的目标表名称,并根据所述目标表名称、目标表字段名称、目标表字段类型、源表字段描述及源表描述得到目标表的建表代码;建表模块,用于执行所述建表代码,以生成完整的目标表模型。可选地,所述源表标识信息包括:源表唯一标识符、源数据库名称及源表名称。可选地,所述转换模块还用于:根据字段名称映射规则,将目标数据库的关键字黑名单中包含的非源表关键字的源表字段名称转换为非关键字的目标表字段名称;根据字段类型关系映射表,将源表字段类型转换为目标数据库能识别且兼容的目标表字段类型。可选地,所述字段类型关系映射表包括:源数据库的字段类型与目标数据库的字段类型的对应关系。根据本专利技术的技术方案,利用源数据库数据字典信息,获取数据模型,并通过数据映射,快速实现了源数据库模型转换为目标数据库模型的过程,避免了人为调研产生的错误,且大大减少了调研及建模的时间,从而大幅提高了数据仓库的基础模型建立的效率。同时,由于调研及创建模型的程序统一,从而方便了数据库的维护与扩展。【附图说明】附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种创建数据库表模型的方法的主要步骤示意图;图2是根据本专利技术实施例的一种创建数据库表模型的装置的主要模块示意图;图3是根据本专利技术实施例的一种创建数据库表模型的装置的系统架构图。【具体实施方式】以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种创建数据库表模型的方法的主要步骤示意图。如图1所示,本专利技术的一种创建数据库表模型的方法主要包括如下的步骤Sll至步骤S14。步骤Sll:保存从源数据库的字典表中获取的创建目标表需要的源表信息。其中,所述源表信息包括:源表标识信息、源表字段名称、源表字段类型、源表字段描述及源表描述。本专利技术实施例中所述的源数据库例如为mysql、sqlserver、oracle等数据库,目标数据库例如为hive数据仓库。通过源数据库系统自带的应用程序编程接口(API接口),可获取已具备访问权的源数据库字典表,根据建立目标数据库表模型的参数需求,从源数据库字典表中获取所需要的源表信息。源表信息本文档来自技高网...
【技术保护点】
一种创建数据库表模型的方法,其特征在于,包括:保存从源数据库的字典表中获取的创建目标表需要的源表信息,其中,所述源表信息包括:源表标识信息、源表字段名称、源表字段类型、源表字段描述及源表描述;对所述源表字段名称及源表字段类型进行转换,得到目标数据库能识别的目标表字段名称及目标表字段类型;由所述源表标识信息得到对应的目标表名称,并根据所述目标表名称、目标表字段名称、目标表字段类型、源表字段描述及源表描述得到目标表的建表代码;执行所述建表代码,以生成完整的目标表模型。
【技术特征摘要】
【专利技术属性】
技术研发人员:宋增超,张飞,王彦明,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。