摘要:长期以来,构建关系型数据仓库来对多源业务系统数据进行整合挖掘是解决智能电网调度的主要方式。但随着NoSql数据库技术的逐渐成熟,使用图模型进行电力调度的辅助决策,将更加适合业务的需求。本文提出一种采用基于图数据库Neo4j的数据仓库构建方法,向用户提供更加友好的可视化信息,更加方便的满足多维业务查询需求。而且实验表明,相较于传统的关系型数据库,查询效率得到了极大的提升。
关键词:大数据,数据仓库,图模型,Neo4j。
0引言
电网调度生产数据分散于多源的不同业务系统中,数据的共享、交换和综合应用相对困难[1],电网调度是电力系统中面临的主要问题之一。一般来说,面向电网调度的辅助决策系统需要从长期积累的海量电力系统运行数据中进行分析统计,为管理者提供辅助决策建议。
长期以来,利用基于数据仓库的联机分析 (on-line analysis process,缩写为OLAP)和数据挖掘技术来构造电力调度辅助决策系统,是业内的主流解决方案[2]。数据仓库根据具体业务主题,侧重于相关数据的存储和管理;OLAP则在这些数据基础上,进行数据分析,并呈现结果来帮助管理者进行决策分析。OLAP的核心特征是多维数据分析,通过对数据仓库中的多维数据进行切片、切块、钻取、旋转等操作,为使用者从不同角度呈现数据分析结果[3]。
但是,随着系统运行时间的推移,以及更多智能化的电力设备和系统的投入使用,电网调度辅助决策所需要分析的数据量持续增长,数据仓库中面临的数据压力也随之增大。随之而来的,面临呈指数型增长甚至爆炸式增加的数据压力,数据仓库的构建、以及分析挖掘任务的性能大幅度下降,需要更好的方式来提升效能[4]。另一方面,随着业务需求的快速发展变更,更多类型和来源的数据将会参与到电网调度的辅助决策中,数据内部依赖和复杂度的增加,为之构建的数据仓库需要更加灵活和自适应的构建任务主题的能力。
长期以来,利用Oracle,MySql等传统数据库工具构建关系型数据仓库,是业内采用的主流方法。但随着数据库技术的高速发展,NoSql类型的非关系型数据库已经进入人们的视线,并逐渐成熟。相较于传统的关系型数据库,NoSql在数据的存储管理上不受数据类型限制,更加灵活和高效,消除了关系型数据库的ACID(atomicity, consistency, iolation, durability)特性,能够更高效的构建数据仓库。而类似Neo4j、FlockDB等基于图模型的NoSql数据库,更加关注数据背后代表的实体,并且从更高的概念层上抽象概括实体与实体间的关系,在进行多源数据关联分析查询时,无疑具备更多的优势。
本文将以Neo4j为基础,在电网调度辅助决策领域构建基于图模型的数据仓库,以用来提升辅助决策系统中数据分析和挖掘的效率。本文的内容将按照以下几个部分展开:§1将对图模型进行简单介绍;§2 介绍基于图模型的数据仓库构建方法;§3 展示本文的实验结果并进行讨论;§4 为全文的总结和展望。
1 图模型简介
1.1 图数据模型
定义 1 图模型是用有向图来建模并存储数据的一种通用数据结构[5]。图模型可以形式化的表示为G = <N,R,L,P>四元组形式,其中N={n1,n2,……,nt}代表图模型中的点,为非空有限节点集合,映射为物理空间内的实体;R={ r1,r2,……,rs}表示图中的边,对于rm=< ni,nj>为顶点集合N中的有序节点对,表示两个实体间的某种联系;L(Label)为节点的标签集,可以抽象为概念来概括表示实体的类别;P(Prorerties)为属性图中节点和边的集合,可以表示和区分物理世界内不同的实体和关系。
图数据模型对物理世界实体间的关系描述非常灵活,两个节点之间可以有多类不同的关系,方向既可以单向,也可以双向;而且结合实体类别标签L,更可以概括抽象为概念间的关系,从而能够推理和发现更多的隐藏关系。而属性作为实体和关系的描述,可以动态的扩展,能够帮助图模型更加真实的描述物理世界。
1.2 图数据存储和表示
在构建图模型过程中,图数据的存储和表示也有不同的类别。一般来说,可以分为三类:关系型存储、三元组、图数据库。
其中关系型存储利用成熟的Oracle、MySQL等关系型数据库,通过外键关联或数据关联表等数据冗余的方式来构建图中的关系,尽管能够支撑图模型的表示和数据分析,但实质上操作的仍是关系型数据,进行图遍历、多表关联查询等操作时代价十分巨大。三元组是另一种较为流行的图数据表示形式,一般来说以主体、谓语、客体来表示一条图中的关系,通常也被称之为RDF(Resource Description Framework)存储。三元组的形式是专为图数据模型产生的,在图模型的表示上比关系型数据库更加高效,但仍存储突出的可扩展性的问题和性能上的问题[6]。图数据库是近年来高速发展起来的一种数据存储方式。它是一种典型的NoSQL数据库,具有高可扩展、数据复制和容错等特性。与三元组RDF表示相比,图数据库具备如下优势[7,8]:1)图数据库支持加权图的表示,而三元组限定于非加权图,难以表达关系的特性;2)相较于三元组需明确定义模式,图数据库不需要预先定义,而是可以通过分类结果来抽象概括;3)图形数据库更适合管理大数据。
基于上述比较,图数据库在处理大规模真实世界数据方面具备更大的优势。因此在本文中,选择典型的图数据库Neo4j来作为系统图模型的底层表示,构造面向辅助决策的数据仓库。
2 基于图模型的电力调控数据仓库构造
本文在基于图模型的电力调度数据仓库构造中,主要分为以下几部分的工作:
2.1 概念模型的构造和映射
首先利用专家知识,采用半自动化的方式构造电力调度辅助决策系统的概念模型,主要由以下两个步骤构成:
1)概念模型的构造
概念模型构造过程主要依靠业务专家的专家知识,从有限的数据集合(即业务系统中的关系型数据表格)中抽取出与主题相关的领域概念,以及概念间可能存在的桥接关系(即概念间的关系)。最终构成电力调度领域的概念模型,篇幅所限,我们列举少量示例如图1所示:
其中图中的节点即为领域概念,映射为图模型中的L集合,图中的边表示概念间的关系,映射为图模型中的R集合,同时在L和R中包含各自的属性P。
数据的映射和链接
接下来我们利用图模型中的专家知识,获取概念和数据表的映射关联关系,采用自动化的方式将业务数据链接填充Neo4j中,并利用Neo4j的展示接口呈现出来,最终获得描述真实物理空间实体和关系的图模型。图中的顶点构成了图模型中的结点集N,点和边都来源于真实的数据。示例如图2所示:
2.2 基于图模型的数据分析和挖掘
接下来的工作在图模型的基础上,按照辅助决策系统的数据分析和挖掘任务的需求,对图数据库中的数据进行查询。在这部分工作中,我们实现了一个实验性的原型系统。该原型系统采用经典的MVC框架基于B/S方式进行服务,Neo4j存储数据,并用D3.js进行可视化展示。数据分析与挖掘任务的处理流程如下图所示:
具体包含以下几个步骤:
根据任务主题需求生成表单查询语句
将表单查询转换为Cypher
对图模型进行查询
获取查询结果
通过D3.js进行展示,并与用户互动迭代
其中Cypher是一种高效的图数据库查询语言,具有高可读性、高科维护性、学习曲线平滑等特性。
3 实验与讨论
为有效评估本文中方法的有效性,我们构建一个基线系统,对同样的查询分析任务进行时间开销的评估比较。
3.1 基线系统
基线系统以关系型数据库MySQL为数据层存储解决方案,与图模型存储和处理相同的数据集,并构造相同的接口与功能,最终向展示层提供查询结果。图4展示了实验系统中包含的概念模型(E-R关系图):
3.2 实验结果
实验环境为Windows7 64位操作系统,Inter i7处理器,内存16G的台式电脑,MySQL与Neo4j数据库装在本地,编译环境为ideaIU-14.1.1。在本次实验中,我们分别对涉及到2类、3类、4类、5类实体节点的任务进行查询,并为每个任务分别查询10次取时间开销的平均值,最终结果如下图所示:
由实验结果可以发现,在2节点类型的任务中,关系型数据库表现更优;随着任务复杂性的增加,基于关系型数据库的查询开销快速增加,而Neo4j的查询开销增加较为缓慢;而对于更复杂的任务,关系型数据库的效能已经难以接受,而图数据库则任然表现良好。
3.3 结果讨论
对于关系型数据库来说,影响多节点查询任务效率的原因主要归结于多表的连接操作,jion操作是非常耗时和昂贵的。虽然在关系型数据库中,索引可以极大的提高检索效率,但是在查询时,由于数据间的关系并不够明确,我们仍然需要对相关的索引进行遍历,以发现数据间的关系。这项操作的复杂度接近笛卡尔积的方式快速增长,因此在复杂的查询中效率难以令人接受。当前的主要解决思路是使用分治的思想将复杂查询划分为几个简短的子查询,然后对中间结果进行合并或处理以得到最终结果。毫无疑问,这极大的限制了数据分析和挖掘任务的应用场景,并增加了设计任务的复杂度。
相对而言,图数据库在这方面具备极大优势。对于多节点的查询中,图数据库直接按照节点间的关系查询,与图的规模无关,其开销复杂度是一个常数。另一方面,图数据库中使用的查询语言更加易于构建和直观,无疑可以满足更灵活方便的多维数据分析挖掘需求。
4 总结和展望
在本文中,我们利用当前日渐成熟的图数据库技术,提出了一种基于图模型的数据仓库构建方法,并在电力调度辅助决策领域进行了实验验证。实验表明,利用图模型进行数据分析和挖掘,能够极大的提高系统的效能,并能够更灵活的满足多维业务需求。
在接下来的工作中,我们将针对当前方法的不足之处进行优化和补充,尤其在概念模型构造过程中,如何尽可能的提高自动化程度,降低对专家人力的依赖,将是我们下一步工作的重点内容。
参考文献
[1]石俊杰,李毅松,彭清卿,等.国家电网公司调度系统数据整合总体方案的思考[J].电力信息化,2006,4(6):28-31.
[2]雷霆,朱传柏,黄太贵,等.基于数据平台的调度数据质量辨识方法[J].电力系统自动化,2012,36(12):71-75.
[3]高洪深(Gao Hongshen). 决策支持系统(Decision Support System).北京:清华大学出版社(Beijing:Tsinghua University Press) , 2000.
[4]邱胜海,高成冲,王云霞,等.大数据时代非关系型数据库教学与实验改革探索[J].电脑知识与技术,2013,9(31):7046-7048.
[5]Diestel R.图论[M].第4版,北京:高等教育出版社,2013.
[6]康杰华,罗章璇.基于图形数据库Neo4j的RDF数据存储研究[J].信息技术,2015,(06):115-117.
[7]姜洋,彭智勇,彭煜玮.基于图数据库的在线族谱编录系统[J].计算机应用,2015,(01):125-130.
[8]Sakr S, Pardede E. Graph data management: techniques and applications[M]. Information Science Reference, 2012.
作者简介
李永光(1975-),男,新疆,中级工程师,研究方向为电力系统自动化。
论文作者:李永光,马晓磊,于湘涛,汪凯威,李修军
论文发表刊物:《电力设备》2017年第17期
论文发表时间:2017/10/23
标签:数据论文; 模型论文; 关系论文; 数据库论文; 数据仓库论文; 系统论文; 概念论文; 《电力设备》2017年第17期论文;