(河源供电局)
摘要:随着电网业务的发展,如何高效地存储及处理海量时间序列数据已经成为研究热点。本文对当前主流数据库产品进行分析,并在实时数据库技术、分布式储存技术以及分布式处理与并行计算技术的基础上,进一步提出面向电网大数据的分布式实时数据库管理系统设计方案。
关键词:智能电网;大数据;分布式实时数据库
在电网业务的营销、调度、生产等诸多场景中,普遍应用了时间序列数据这种非结构化数据。随着智能电网建设的纵深发展,电网业务对海量时间序列数据处理的要求也不断提高,当前主流数据库产品已经无法满足电网业务的需求。面对这情况,必须加强对电网大数据的数据库管理系统的研究,提高电网数据处理水平,从而满足电网业务的实际需求。本文首先对当前主流数据库产品进行分析,作为进一步研究的基础。
一、当前主流数据库产品分析
当前在电网业务中应用较为广泛的主流数据库产品,主要有实时数据库与关系型数据库两种,具体来说:实时数据库可实时采集电网业务过程中的数据并进行处理,但是随着接入数据库的业务应用数量不断增加,数据规模越来越大也对数据库的数据传输、处理速度提出越来越高的要求,而目前的实时数据库技术难以完全满足实际需要。关系型数据库在传统电网业务应用中,通常会把时间序列数据由非结构化数据抽象为结构化数据模型。限于关系型数据库自身行列模式,当时间序列数据的采样周期差异时,会极大地浪费存储空间。此外,关系型数据库难以应对不断增加的海量数据,由此导致数据查询效率低下。
通过以上分析可以看出,实时数据库与关系型数据库在数据规模、处理速度等方面难以满足当前电网业务的需求。为了解决这一问题,本文基于将分布式技术和实时数据库技术相结合的思路,设计了面向电网大数据的分布式实时数据库管理系统。
二、分布式实时数据库管理系统关键技术
本文所设计的分布式实时数据库管理系统,其关键技术主要包括实时数据库技术、分布式储存技术以及分布式处理与并行计算技术。
2.1实时数据库技术
实时数据库技术结合了实时处理技术与数据库技术,实时处理技术实现了时间约束、预测等功能,并且在可靠性和交互性上能够满足实时系统的需求,而数据库技术则为海量数据的储存提供了解决方案,实现数据处理、数据共享、数据安全、数据检索等。
2.2分布式存储技术
分布式存储技术通过可扩展的系统结构来连接多台存储服务器,由各存储服务器分担海量数据的存储负荷,同时进行数据块的交叉冗余存储,实现数据的动态容错。因此,分布式存储技术能够有效地提高系统可靠性以及扩展性。此外,还可以通过结合垃圾回收和过期副本检测技术,以此提高空间利用率。
2.3分布式处理与并行计算技术
分布式处理与并行计算技术可以将大型的复杂计算任务进行分解,划分为大量低耦合的子任务,再由中心管理节点将各子任务分配给不同计算节点,利用各计算节点的闲置处理能力进行分布式并行处理,最后对各计算节点的结果进行综合,合并成为最终的结果。由于整个计算过程透明,因此,分布式处理与并行计算技术具有扩展以及灵活性,用户也可以进行资源共享。
三、分布式实时数据库管理系统总体架构设计
基于前文所述的实时数据库技术、分布式储存技术以及分布式处理与并行计算技术等关键技术,本文进一步提出分布式实时数据库管理系统的总体架构设计方案,包括部署架构以及软件架构。
3.1部署架构
本文提出的分布式实时数据库管理系统部署架构如图1所示,其中管理服务器与储存计算节点为系统核心部分。
在该系统架构中,管理服务器作为管理者,其主要功能对元数据信息进行储存,这些重要的元数据信息包括各储存计算节点的分工、状态、数据块位置等。为了消除管理服务器故障造成的风险,在本系统设计中共部署两台管理服务器。同时建立元数据同步机制,以此保障不同管理服务器的元数据一致性。
存储计算节点的主要功能则是对海量电网数据进行分布储存以及各类计算。存储计算节点在数量上仅有硬件设施方面的限制,各存储计算节点之间为平等关系,按照管理服务器的分区原则,对各自分区内的数据进行存储。该系统构建了事务的冗余备份机制,当其中部分存储计算节点发生故障时,能够将故障节点的操作副本复制到其余正常运作的存储计算节点上继续进行,极大地提高可靠性。
图1分布式实时数据库管理系统部署架构
3.2软件架构
本文提出的分布式实时数据库管理系统软件架分为存储层、引擎层、链路层以及客户端四个层次,见图2。
由图2中可以看到,软件架构底层的存储层采用Hadoop分布式文件系统,并以此作为面向电网大数据的时间序列引擎的构建基础。通过该时间序列引擎,能够将电网业务产生的时间序列数据构建为数据模型,然后根据模型接收存储时间序列数据,并对外提供统一的查询接口。
本系统设计中采用以列为基本存储和权限控制单元的Key-Value数据存储方式。由于在实际存储中空的列并不占用实际空间,因此适合稀疏表的设计方式,从而解决了不同采样周期造成的空间浪费问题。在数据架构部署方面,本设计摒弃了传统C/S模式,而是通过复制因子将海量数据分布存储于集群中的存储计算节点中。这种分布式多服务器集群模式能够更好地保障数据存储安全,提高查询检索效率。
同时在该系统的设计中,引擎层采用基于列存储数据库底层的时间序列引擎TSD。开源分布式NoSql数据库为HBase,可以将时间序列数据抽象为对HBase数据库的读写等操作。
客户端为该软件架构的最上层,以RESTfulAPI或JavaAPI实现客户端的具体操作。具体来说,首先利用类型解析模块将API分解为单独数据库操作或是N个数据库操作的序列集合,再以引擎内的RPC对这些数据库操作进行调用,最后通过HBase完成操作。
结语
在对当前主流数据库产品进行分析的基础上,本文提出了分布式实时数据库管理系统的设计方案。该设计方案依赖于实时数据库技术、分布式储存技术以及分布式处理与并行计算技术等关键技术,具体构建了分布式实时数据库管理系统的总体架构、部署架构以及软件架构。本文设计的系统主要是通过可拓展的系统结构将多个存储计算节点相互连接,以此实现对海量电网数据的分布储存以及各类计算,能够有效保障数据存储的安全性和稳定性,极大地提高数据处理计算的效率。
参考文献
[1]吴文传,张伯明,王鹏.一体化系统的分布式实时数据库管理系统[J].中国电力,2000,(10):87-91.
[2]蔡晓龙,张锋,韩芝星.分布式实时数据库在输变电系统中的应用[J].电子技术,2015,44(03):47-49.
[3]翟明玉,王瑾,吴庆曦,靳晶,魏娜.电网调度广域分布式实时数据库系统体系架构和关键技术[J].电力系统自动化,2013,37(02):67-71.