数字中国·星火文集 | 图数据库在大数据加工过程中的应用设想
图数据库在大数据加工
过程中的应用设想
神州控股
成扬
1.
大数据加工过程
大数据指非常庞大、复杂的数据集,特别是来自新数据源的数据集,其规模之大令传统数据处理软件束手无策,却能帮助我们解决以往非常棘手的业务难题。面对这样的挑战,业务人员通常会使用到各种大数据治理的工具,最终加工形成基础库与主题库,供上层应用系统使用。
一般的数据加工过程是先构建基础库与主题库的模型,这两个模型通常被称为数据模型。依照数据模型,借助大数据加工组件,将数据从贴源层加工到基础库或主题库的过程即为数据加工。在数据加工过程中,遵循的数据加工的加工方案、加工流程、加工路径,通常被称为数据加工模型。
2.
大数据加工过程中遇到的一些挑战
大数据的加工过程主要是围绕数据模型和数据加工模型展开的。这个过程中有两个难点:一是如何规划数据模型以及数据加工模型;二是对于动态数据,如何调整与优化数据模型以及数据加工模型。
传统的做法是通过业务逻辑梳理,根据对业务的理解程度以及数据梳理的经验,设计数据模型和数据加工模型,并围绕这两个模型开展数据加工的工作。这样的做法,很难判定数据模型的设计的优劣,以及是否会增加数据加工模型的复杂度从而影响整个数据加工的过程。与此同时,面对新增的数据源,很难对数据模型以及数据加工模型进行动态的、及时的优化与调整。由于数据量大,在数据加工模型的优化过程中,难免会造成一些数据加工路径的疏漏,进而影响基础库与主题库的覆盖范围。
3.
图建模与数据模型的相似性
数据模型最终呈现的结果有多种形式,最常见的是数据库E-R图(表示实体及实体间关系的图)。根据业务属性的不同,将不同的数据进行归类整合,形成基础表。基础表与基础表之间通过连接字段进行连接。所有的数据,最终都能通过这种关联关系,与数据所描述的对象进行关联。这样的建模结果,就很类似于图数据库中的关系网。根据与数据对象的关系远近,将数据进行了分类,同一类数据归并到一张基础表中。
而在图的理解下,数据加工模型相当于将相当于将多张图(贴源层业务数据),整合成一张图(基础库、主题库)的加工过程。
因此可以考虑利用图数据库,构筑图模型的方法,来实现传统数据模型以及数据加工模型搭建过程中遇到的难题。
利用图数据库构建数据模型的方法
根据图模型与数据模型的相似性,笔者提出了一种构建数据模型的方法:
1、将贴源层的元数据信息导入到图数据库中。以元数据为节点,在同一张数据表中的元数据建立关系,关系的属性可以按照所在表命名。这样就得到了第一层的底图。这个底图有多张图组成,每张图代表一张贴源层的数据表。
比如从两张不同的业务数据表:
将元数据信息导入到图数据库中,形成了两张图:
2、根据已知的库表关联关系,在图层建立图与图之间的关系。当然这个关系是建立在图中某个节点与另一张图中的某个节点的关系连线的基础之上的。比如这两张表是通过字段zjhm和Cret_number进行关联的。
3、利用已梳理的数据标准,数据标准会映射到数据字段上,对应到图上就是特定的节点。比如用户的姓名,这个数据标准映射到多张表的不同字段上(name和User_name),在业务逻辑上,它们都是指用户的姓名信息,在后续的数据加工中,需要进行数据的融合。
4、根据标准中的字段名称,修改标准所映射的节点名称。将这些的节点进行融合。这样就构筑成了第二个图层。
第一个图层,对应的是贴源层数据,第二个图层对应的是基础库或者主题库。
利用图库的中心算法,将第二个图层中的数据进行归类,根据与中心节点的关系远近,形成不同的数据团组;而数据团组进一步可以整理形成基础数据表,即完成了数据模型的设计。
图层一变成图层二的过程即数据加工模型的过程。利用图模型反推、以及最小路径算法,可以获得数据的加工模型。
利用图库构筑的数据模型。因为是通过图层一(贴源层)经过加工聚合后形成的图层二(基础库、主题库),所以在图层二中会最大可能的保留图层一种数据之间的内容逻辑关系。通过中心算法,构建的数据模型,会最大程度利用贴源层现有的数据结构,减少数据加工的处理步骤,从而降低数据加工模型设计的复杂度。
新增加的数据源,相当于图层一中新增加了几个数据节点,通过图的加工逻辑,可以及时的对图层二进行修正,从而快速的推导出数据模型以及数据加工模型修改内容以及修改方案,避免手工优化模型的过程中产生的一些疏漏。
4.
结语
本文基于图模型与数据模型的相似性,设想了一种用图数据库来构建数据模型的方法。利用这种方法,得出的数据模型可以减少数据加工模型设计的复杂度;而且面对新增数据源时,对数据模型以及数据加工模型的优化、调整也更加简便。