首页 > 范文大全 > 正文

电力企业的海量数据存储解决方案

开篇:润墨网以专业的文秘视角,为您筛选了一篇电力企业的海量数据存储解决方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】本文在分析电力行业的各类数据特征的基础上,从硬件到软件,再从软件到平台,提出一套适合电力企业海量数据存储方案。

【关键词】海量数据;电力企业;存储

1 引言

在电力行业,坚强智能电网的迅速发展使信息通信技术正以前所未有的广度、深度与电网生产、企业管理快速融合,信息通信系统已经成为智能电网的“中枢神经”,支撑新一代电网生产和管理发展。目前,电网公司已初步建成了国内领先、国际一流的信息集成平台。随着各地集中式数据中心的陆续投运,一级部署业务应用范围的拓展,结构化和非结构化数据中心的上线运行,电网业务数据从总量和种类上都已初具规模。随着后续智能电表的逐步普及,电网业务数据将从时效性层面进一步丰富和拓展。电网业务数据将跨入海量数据时代,如何处理这些海量数据已成为电力企业信息管理首要解决的问题。而在海量数据的处理中,如何有效地保存和恢复数据就成了这些问题当中的首要问题。

2 海量数据特征

海量数据按照数据结构来进行划分,可以划分为结构化数据和非结构化数据两大类。

(1)结构化数据:简单来说就是数据库, 即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。结合到典型场景中更容易理解,比如企业ERP、财务系统;医疗HIS数据库;教育一卡通;政府行政审批;其他核心数据库等

(2)非结构化数据:相对于结构化数据而言,不方便用数据库二维逻辑表来表现的数据即称为非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。 非结构化数据库是指其字段长度可变,并且每个字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本、图象、声音、影视、超媒体等信息)

按照数据的时效性而言,海量数据又可划分为实时数据和离线数据两类。

实时数据:实时数据一般用于金融、移动和互联网B2C等产品,往往要求在数秒内返回上亿行数据的分析,从而达到不影响用户体验的目的。要满足这样的需求,可以采用精心设计的传统关系型数据库组成并行处理集群,或者采用一些内存计算平台,或者采用HDD的架构,这些无疑都需要比较高的软硬件成本。目前比较新的海量数据实时分析工具有EMC的Greenplum、SAP的HANA等。

离线数据:对于大多数反馈时间要求不是那么严苛的应用,比如离线统计分析、机器学习、搜索引擎的反向索引计算、推荐引擎的计算等,应采用离线分析的方式,通过数据采集工具将日志数据导入专用的分析平台。但面对海量数据,传统的ETL工具往往彻底失效,主要原因是数据格式转换的开销太大,在性能上无法满足海量数据的采集需求。互联网企业的海量数据采集工具,有Facebook开源的Scribe、LinkedIn开源的Kafka、淘宝开源的Timetunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求,并将这些数据上载到Hadoop中央系统上。

3 企业海量数据存储现状

3.1 海量数据导致存储成本、维护管理成本不断增加

大型企业都面临着业务和IT投入的压力,与以往相比,系统的性能/价格比更加受关注。GIGA研究表明,ROI(投资回报率)越来越受到重视。海量数据使得企业因为保存大量在线数据以及数据膨胀而需要在存储硬件上大量投资,虽然存储设备的成本在下降,但存储的总体成本却在不断增加,并且正在成为最大的一笔IT开支之一。另一方面,海量数据使DBA陷入持续的数据库管理维护工作当中。

3.2 海量数据缺乏快速备份与灾难恢复机制

传统的数据库备份技术,如通常采用的磁带备份方式,不能运用于海量数据,因为磁带备份将使备份时间增加,需要几小时-几天,不仅影响了生产,而且增加了备份的难度,使得备份/恢复变得缓慢而且不可靠,几乎无法在固定的时间窗口完成备份工作。另外,第三方备份软件隐含的成本代价如成本开销、复杂度、昂贵的实施等也是企业需要考虑的。因此海量数据安全显得异常重要,只有通过引入有效的备份、方便高效的备份恢复技术,才能满足海量数据安全的需要。

4 存储解决方案概述

在海量数据存储中我们主要考虑的是大数据的存储,虽然现行的商业平台也能满足非结构化数据的存储,但问题主要出在系统可扩展性和建设费用上。对于庞大的非结构化数据存储产生的I/O瓶颈问题和昂贵的服务器价格不得不使我们另谋出路。

Hadoop的分布式文件系统HDFS出现恰好解决了商业平台中的I/O瓶颈和服务器价格昂贵问题。Hadoop的优势体现在以下几个方面:

(1)Hadoop依赖于低端服务器甚至是普通计算机,相对于商业平台的高昂成本,它的成本要低得多,几乎可以说任何人都可以使用它,哪怕是信息化成本预算较少的小微企业;

(2)HDFS与Map/Reduce紧密集成是Hadoop分布式计算的存储基石。它有自己明确的设计目标那就是支持大的数据文件大至T级,并且这些文件以顺序读取为主,以文件存/读的高吞吐量为目标。在使用HDFS分布式文件系统存储非结构化文件后,将提高我们系统的存储文件速度;

(3)HDFS的数据恢复能力也保证了系统的安全可靠性,可靠性体现在它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

(4)同时支持存储节点的热插拔和可以在普通PC机上存储非结构化文件,这不但提高了系统的扩展灵活性,还大大降低了企业在硬件方面的投入

5 应用架构

在本存储解决方案中,我们选择了Hadoop作为数据文件存储机制,Hadoop中的HDFS存储数据可以选择普通的PC机器作为数据节点,这大大的降低了存储数据所需要昂贵存储设备价格,并且在数据存储过程中,HDFS拥有很好的数据容灾机制。

6 HDFS

Hadoop的存储主要使用HDFS来进行管理,HDFS是一个分布式文件存储系统。HDFS起源于Apache Nutch Web 搜索引擎项目。

对于HDFS分布式文件系统中的块进行抽象会带来很多好处:

(1)文件的大小可以大于网络中任意一个磁盘的容量,文件的所有块不需要存储在同一个磁盘上,因此他们可以利用集群上的任意一个磁盘进行存储。

(2)使用块抽象而非整个文件作为存储单元,大大的简化了存储系统的设计。简化是所有系统的目标,但对于故障种类繁多的分布式系统来说尤为重要。

(3)块非常适合用于数据备份,进而提高数据容错能力和可用性。

6.1 HDFS架构

6.2 HDFS文件存储方式使用大块的原因

HDFS的块比磁盘大,其目的是为了最小化寻址的开销。如果块设置的足够大,从磁盘传输数据的时间可以明显的大于定位这个块开始位置所需的时间。这样,传输一个由多个块组成的文件的时间取决于磁盘的传输速率,由此可见适当的设置磁盘块空间大小可以加快数据读写效率。

6.3 HDFS的集群管理模式

HDFS集群有两类节点,并以管理者――工作者模式运行,即一个namenode(管理者)和多个datanode(工作者)。管理者管理文件系统的命名空间,它维护着文件系统树及整棵树内所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像和编辑文件日志。工作者也记录着每个文件中各个块所有在的数据节点信息,但它不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建。

6.4 HDFS文件写入方式

客户端通过调用HDFS类DistributedFileSystem对象调用create()函数来创建文件,在此时文件系统的命名空间中创建了一个新文件,但该文件还没有相应的数据块。管理者(namenode)执行各种不同的检查确保当前创建的文件不存在,并且客户端有创建该文件的权限,如果检查通过则创建新文件记录;否则,文件创建失败并抛出异常。在客户端写入数据时,数据被分成一个个的数据包,并写入内部队列,HDFS的DataStreamer处理数据队列,它的责任是根据工作者(datanode)的队列列表要求管理者(namenode)分配适合的新块来存储数据备份。如下图

7 实现功能

海量数据存储部分主要包含了三部分的功能:数据采集、数据存储与备份、数据分析,如图所示:

7.1 数据采集

海量数据存储采用开放上传接口的方式进行被动数据采集,各业务平台通过向上传接口传递业务平台标识、文件信息标识和文件信息的二进制流的方式将文件打包传送到非结构化数据管理平台,非结构化数据管理平台通过业务平台标识对传输过来的文件进行分类解码存储。

7.2 数据存储与备份

海量数据管理在接收到各业务平台发送过来的文件后,根据业务平台标识在HBASE中生成文件信息数据,同时将文件存储至HBase中。

7.3 数据分析

基于已存储的数据,可以分析各业务平台的数据量,数据高峰的周期,从而适时调整数据存储策略,为不同的业务应用制定不同的存储计划,充分体现系统存储的灵活性,提升海量数据的存储效率。

8 方案总结

Hadoop是一个能够对大量数据进行分布式处理的软件平台,是以一种可靠、高效、可扩展的软件框架。Hadoop 的高效性体现在它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可扩展的,能够处理PB 级数据。

电力企业海量数据存储平台的存储基于Hadoop搭建而成,在充分发挥Hadoop在分布式存储方面的优势外,与电力企业各相关业务系统紧密集成,实时将所有海量数据归档到一起,充分满足电力企业信息一体化的需求。