基于NoSQL的大数据管理技术研究
摘要:本文为对基于NoSQL的大数据管理技术进行研究,运用了资料收集法、文献调查法、案例分析法等研究方法,分析了NoSQL数据库,介绍了基于NoSQL的变电设备状态监测数据管理系统设计,列出了变电设备状态监测系统子模块,重点探讨了NoSQL数据库在变电设备状态监测数据查询及存储等方面的应用,以为其他领域的大数据高效查询及可靠存储提供一定技术参考。
关键词:redis是nosql数据库吗NoSQL;大数据;状态监测
一、前言
在传统关系数据库当中,主要是处理范围较小的数据集,面相大数据存储以及查询体现出诸多局限。NoSQL数据库面向大数据增量存储体现出较高的可拓展性,同时可满足高性能的数据读写以及查询要求,在大数据环境下属于一种新型数据存储与查询方法,具有突出优势。本文主要以变电设备状态监测大数据为例,探究基于NoSQL的大数据管理技术在状态监测数据存储及查询方面的应用,以突破以往数据查询和存储方面的局限。
二、NoSQL数据库分析
在大数据技术当中,NoSQL数据库是实现分布式存储的重要技术,该数据库为分布式数据存储发展奠定了坚实基础,其中心是文件系统,便于横向扩展,属于直接面向数据文件的一种数据管理技术,可以有效弥补传统关系数据库在对海量数据进行处理过程中面临的一系列局限,最终一致性、BASE原理以及CAP原理为NoSQL数据库奠定了坚实的理论基础[1]。
NoSQL数据库属于分布式、非关系类的数据存储系统,按照不同的应用场景以及数据库特点,可划分成四类数据库,即图形类、文档类、键值存储类以及列存储类。
1、图存储
图存储数据库主要有Graph DB以及Neo4j,对于图形关系来说,图存储属于最佳存储,随着大数据技术的不断发展,图形数据将不断增多,所以图存储方式所发挥的作用将日渐凸显。在对变电设备进行状态监测过程中,通过对相关大数据进行特点分析,同步考虑以列存储模型为目标的NoSQL数据库具有良好的读写性能,数据压缩也较方便,在列查询方面
具有突出IO优势,所以对于状态监测相关大数据,可通过以列模型为基础的HBase数据库实现存储。
2、文档存储
文档存储数据库主要有Couch DB以及Mongo DB,此类数据库存储格式主要为类json,数据结构相对松散,可满足高度复杂类型的数据存储要求,对于某些字段能够建立索引,一大优势就是保留了关系数据库部分复杂性高的查询功能,不过并发读写效率并未体现突出
优势[2]。
3、列存储
列存储数据库主要有Cassandra以及HBase数据库,原理同Big Table,根据列进行存储,尤其对结构化以及半结构化数据可方便的存储,可对高横向拓展性相关要求加以满足,可实现动态列结构,此数据库整体模式比较灵活,可便于删减或者是增加字段,对于多类数据压缩算法均有良好的适用性,尤其面向某列或某几列进行查询过程中体现出突出的IO优势。不过相比文档类数据库,此类数据库的查询语言功能偏弱。
4、键值存储
此类数据库主要有Redis以及Dynamo,具体是在键的利用下高效查询相关值,有助于减轻数据库负载,并且系统体现出较高的访问效率[3]。数值相关的数据结构不仅易拓展,且具有良好的灵活性,体现出多样性特点。相关值存储期间可体现成任意类型结构,不过查询将具有较大复杂性。同时,键值存储因欠缺认证以及安全管理机制,无可拓展性,物理内存也会影响存储量,所以在分布式读写过程中对客户端具有较高依赖度。
三、基于NoSQL的变电设备状态监测数据管理系统设计
以NoSQL为基础进行变电设备状态监测数据管理,主要涉及到数据存储与查询功能,通过建立相关数据管理系统,能对全网变电设备涉及到的实时告警信息以及状态监测信息等进行采集、存储、分析、展示等。在对变电设备状态监测相关数据进行管理期间,主要选择以SSH架构为基础的方式,并应用MySql以及 HBase数据库,系统搭建为B/S架构,以便于系统维护、部署以及应用。
要以NoSQL为基础实现变电设备状态监测相关数据管理,需要以开源系统为基础,打造大
数据查询以及存储系统,以更实时性的实现相关功能,同步增设索引功能,实现数据的高效查询。在以HBase为基础构建大数据存储以及查询系统期间,一个重要环节就是设计后台数据库,为了对海量数据实现高效、准确的查询,要注意在系统设计过程中充分体现并行处理性能以及分区容忍性,因为HBase具有良好的透明化可伸缩性,所以本文将其当做存储及查询相关数据库。
变电站相关数据监测系统和控制器(也就是CAC)相接入,由此在对变电设备实现状态监测过程中,对所产生的大数据实现全面采集、清洗处理,经过处理的数据会上传至状态监测相关接入网关机当中(也就是CAG),随后由CAG对各变电设备所监测到的状态数据实现处理以及汇总,同步和CAC通信,相关数据完成收集与合成工作后,传输至数据存储系统当中。
在数据存储以及查询期间,相关功能的效率性直接影响着状态监测系统能否高效且安全的实现数据处理,而以NoSQL为基础的大数据管理技术,可为高效存储以及查询状态监测相关大数据提供保障。在状态监测过程中,所获得实时数据会高效收集并安全存储到体现出优良拓展性的 NoSQL数据库当中,保证数据存储具有更高可靠度。本文设计中增设以协处
理器为基础的二级索引,可高效查询监测数据,以此为基础,经大数据分析技术对所监测的变电设备实现状态评估,同步展开故障诊断等。
四、变电设备状态监测系统子模块
1、数据迁移
关系数据库只能对范围相对较小的数据集实现处理,相比之下,NoSQL数据库具有高性能以及高拓展性优势,将在大数据背景下成为新的、重要的大数据存储形式,可有效弥补关系数据库应用中涉及到的数据存储以及查询难题。在对变电设备实现状态监测期间,相关大数据主要存储于关系型数据库内,要将其中的数据向NoSQL数据库当中迁移,就需要构建数据迁移子模块。具体可通过HBase其API当中涉及到的Put来导入数据,此功能实现起来比较容易,不过效率优势并不突出。Sqoop不仅可实现数据向Hive以及HDFS等当中的导入,还可向HBase表内部导入,在对相关监测数据实现导入期间,导入方式未体现出唯一性,可根据实际情况具体选择[4]。
2、数据存储
在对变电设备实现状态监测期间,涉及到的数据量非常大,而且体现出较高的实时性要求,以往通过关系数据库实现数据存储以及查询都有一定难度,所以可将监测数据向NoSQL数据库当中存储。基于状态监测数据特征,同时考虑到以列存储模型为对象的NoSQL数据库具有较好的读写性能,在数据压缩方面具有较高便捷度,而且在列查询期间体现出突出的IO优势,所以状态监测数据实现存储期间,主要选择以列模型为基础的HBase数据库。
数据存储模块包含4个组成部分,即数据存储部分、数据写入部分、写入数据缓冲部分以及数据预处理部分。其中预处理部分主要是预先处理监测所得大数据,具体是对数据进行清洗与分类;而数据缓冲部分一个主要功能就是使数据写入速度更高,一旦所缓存数据高于预先设定值,相关数据即可被写入;数据写入部分主要是在存储部分写入监测所得时序数据;数据存储部分则是对状态监测相关大数据实现最终存储,涉及到实时监测数据以及历史数据。
3、数据查询
要对所监测数据进行查询,主要应用了HBase以及Hadoop技术,数据查询的同时可对各类
监测信息进行展示。在该模块,首先在Struts框架其Action内部写入HBase对应的查询代码,在JSP内部主要通过AJAX技术将刷新页面的请求定时的发送至Action,随后通过Table于JSP页面当中实现展示,发挥实时监测作用。
4、告警
在HBase以及Hadoop相关技术应用下,同步对技术手册进行查询,明确恰当的参数区间,随后由状态监测系统先对相关数据做出初步判断,若发现数据存在异常,需发出告警信息,告警数据主要以表格的形式呈现出来,展示在图形平台当中,涉及到告警值、时间、设备、级别位置以及专业类型等。
5、设备管理
在设备管理过程中,主要涉及到一次设备以及变电站。对于变电站,其管理功能主要是能够增加、删除、查询以及更改变电站信息;对于一次设备进行管理,涉及到的功能主要是能够增加、删除、查询以及更改一次设备相关信息。在设备管理过程中涉及到的数据量相对较小,不同设备信息体现出强烈的关联性,可在传统关系型数据库内部的MySql表当中
实现存储,并发挥变电站信息查看、删除以及修改等功能,相关功能同样适用于一次设备有关信息,并可新增变电站,具有较高灵活性。
五、结语
基于NoSQL的大数据管理技术具有突出优势,可有效弥补传统关系数据库应用中存在的一系列不足,将相关技术应用在变电设备状态监测数据存储以及查询当中,同步构建系统结构框架,划分多个系统子模块,包括设备管理、告警、查询、存储、数据迁移等,在各模块功能发挥下,可高效且可靠的对变电设备相关状态监测数据实现查询及存储。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论