电网业务发展至目前,无论是非结构化数据还是实时数据,其数据均已成为核心资产,存储技术的应用成为电网数据系统的关键部分。国网公司采用的是大数据平台分布式文件系统,该系统包含有文件管理系统、电网GIS地理空间信息系统、档案系统、安监系统、协同办公系统、ERP、PMS2.0以及基建管理信息系统等34个业务。本文考虑到电网数据存储中的节点数据量、备份因子以及数据块等方面,对大数据平台分布式文件系统的性能进行研究测试。
1.非结构化数据存储技术研究
1.1节点数量的影响测试
首先,针对分布式文件系统的读写性能,测试节点数量的影响作用。在该项测试中,要先保证所有测试节点均采用相同的物理配置,并位于统一分布式集群下,数据块均默认为128MB,其他参数相同;然后不同数量节点在相同的测试环境下进行操作:分别测试1个、2个、3个DataNode的HDFS集群环境下跨节点远程写入和读取80GB文件,记录不同数量节点的写入文件耗时。测试结果发现随着集群规模的增加,其文件读写的速率呈递减趋势,而且在DataNode上读取数据的性能也有所降低。这是由于在固定数据块大小的情况下,节点数量的增加会导致数据节点上获取的数据块减少,进而增加了网络传输数据,造成其读写性能的降低。
1.2备份因子数的影响测试
在测试备份因子数对分布分布式文件系统的读写性能影响的过程中,设置的节点数量为3,其他物理配置均相同,以确保测试结果的准确性。在这种统一化的测试环境下设置不同备份因子数进行操作:分别测试备份因子数为1、2、3的HDFS集群环境下,跨节点远程读写和本地读写80GB文件的耗时。测试结果显示备份因子数对客户端读写性能的影响很小,随着备份因子数增加,客户端的读取文件性能逐渐有所提升,而写的时间则有所延长,这是由于将同一块数据写到不同的机器上会加大其开销,进而造成本地写文件的性能轻微降低,但客户端读写性能主要还是受交换机传输速率的影响。
1.3数据块大小的影响测试
在备份数据块大小对分布分布式文件系统的读写性能影响的测试过程中,设置备份因子数为3,节点数量为3,其他物理参数均保持一致,在这种统一化的测试环境下设置不同数据块进行操作:分别测试数据块大小为4MB、8MB、16MB、32MB、64MB、128MB、256MB、512MB、l024MB的HDFS集群环境下,跨节点远程读写和本地读写相同文件的耗时。测试结果显示写入时间随着数据块增大而减少,待数据块增大至一定范围,写入时间基本趋于稳定,因此,数据块的大小在一定范围内是能够影响HDFS的读写性能的,超出该范围则数据块大小对读写性能的影响十分微小。
1.4负载均衡
对于分布式文件负载均衡性能的测试,要将节点设置为1个分布式集群下,确保集群上已经具备一定数据储存负载,然后再增加节点和执行负载均衡。在统一化的测试环境中进行操作:先搭建一个具有2个节点的HDFS系统集群,将每个节点块数量记录下来;在集群中添加1个节点,执行负载均衡命令20min之后,查看节点块的数量;最后,多次执行负载均衡指令,20min后查看节点块数量。测试结果显示执行负载均衡指令要预先设置目标,确保每次执行能够实现预设目标,并通过反复执行来维持集群内数据均衡。由此可见,搭建分布式节点能够实现分布式文件系统的负载均衡。
1.5节点动态拓展
分布式文件系统的扩展性较好,其能够产生动态增加节点的作用,而且还能够保证存储空间扩容和存储数据的分布均衡性。
2.实时数据存储技术研究
2.1节点数量的影响测试
实时数据低通过大数据平台分布式列式数据库(基于Hadoop HBase优化封装)进行存储的,其中HBase能够为实时数据提供实时读写操作。针对HBase读写性能,节点数量的影响作用可以进行以下测试:节点的物理配置要保持一致,在相同分布式集群下测试节点,HBase配置为默认参数值,在这种测试环境下,其中,每条数据300 byte,rowkey为散列值,长度设置为12,列族下有TN、MP、TO三个字段,完成写入之后,统计其写入时间。测试结果显示HBase写入性能随着集群规模增大而呈现出线性递增情况,但是其单次rowkey读取的速率几乎处于同一水平。
2.2列族数量的影响测试
在HBase读写性能受列族数量影响的测试中,要确保测试节点在统一分布式集群下,节点的物理配置相同,HBase配置与上一项测试相同,为默认值,其测试操作也与上一项测试步骤相同。通过测试发现,HBase写入性能随着列族数量增加而降低,而对于HBase读取性能,相同列族上差异不大,跨列族则会岁列族数量增多而越来越差。
2.3列名及列族名长度的影响测试
在列名及列族名长度对HBase读写性能影响的测试中,测试节点、HBase配置参数均与前面测试项目相同,在此测试环境下进行以下操作:建立一个具有3个工作节点的HBase集群环境,建立新的HBase列族表,其列族名长度为1个字符,在列族表中写入1000万条数据,其中每条数据大小、rowkey值、长度等均与上一项测试设置相同,列族下具有1个字段,其长度为1个字符,然后进行写入操作,并统计写入时间。分别测试列族名长度为1、2、3的情况下HBase读写性能。测试结果显示列名及列族名越长,HBase的读写性能越差。
2.4rowkey结构的影响测试
在测试rowkey结构对HBase读写性能影响的测试中,测试环境、列族名长度、数据大小、rowkey值、rowkey长度以及列族下字段长度等参数设置均与上一项测试相同,测试在指定rowkey方式下的单次读取速率和结构为不散列时的读写性能。测试结果显示HBase读写吞吐量随着rowkey结构离散度增加而增加,其读写速度也会相应加快。
2.5rowkey长度的影响测试
在测试rowkey长度对HBase读写性能影响的测试中,测试节点设置、HBase配置等参数均与上述相同,重复上一项测试的操作步骤,分别测试rowkey长度为20、30的情况下HBase读写性能。测试结果显示HBase读写性能随着rowkey长度增加而变差,rowkey长度会影响其数据存储性能。
2.6批量操作的影响测试
在批量操作的相关影响测试中,测试节点与HBase配制均默认同上,测试步骤和设置也与上一项测试相同,分别测量批量操作100条、1000条、10000条的情况下HBase读写性能变化。测试结果显示批量操作数的增加会导致HBase读写性能降低,要想保证HBase读写性能处于最优效率,要将批量操作数控制在合适的范围内。
2.7负载均衡
在HBase负载均衡功能测试中,在原本统一的测试环境下添加节点,建立一个具有2个工作节点的分布式文件集群,观察并记录region的分布及数量,然后在集群中添加1个工作节点,5min后观察region的分布及数量,比较region的变化情况。发现要定期检查HBase系统,确保各个工作节点的region分布情况和数量处于平衡状态,才能确保其负载均衡功能。
2.8数据压缩
在HBase数据压缩功能的测试过程中,建立有1个工作节点的集群,选择大小相同的数据量进行写入,首先在未开启数据压缩的情况下写入数据,查看并记录集群的磁盘利用率;然后在配置LZO数据压缩的情况下,建立HBase数据表写入相同的数据,观察磁盘利用率的变化。经测试发现数据压缩功能能够将数据的大小压缩到一定程度,有利于减少数据存储所使用的磁盘空间。
2.9节点动态扩展
在节点动态扩展的测试中,其测试环境与上一项相同,然后建立工作节点为1的HBase集群,观察region分布及数量,然后添加1个工作节点后,5min之后再次观察region情况,比较其分布情况及集群可用空间。测试结果证明HBase的扩展性良好,不仅可以动态增加工作节点,还能够维持region分布情况的稳定性,并对数据存储空间进行适当扩容。
结束语
综上所述,大数据平台分布式文件系统在电网数据存储中具有很大的应用价值,其中基于HDFS优化封装能够为非结构化数据提供读写性能,基于Hadoop HBase优化封装则是为实时数据提供读写操作,HDFS和HBase均具有良好的扩展性,但在具体使用中需要设置合理的节点数量、备份因子数、列族数量等参数,才能更好的发挥其文件读写性能,为电网数据提供高效率的存储功能。
参考文献
[1] 李成岭,郑雨翔, 洪祎祺,等.电网数据存储技术选型的研究[J]. 电信科学, 2018, 34(5):183-191.
[2] 周高强, 王二辉,李英杰,等.大数据技术下智能电网配用电数据存储技术分析[J].科技资讯, 2020, 18(11):25-26.
[3] 施康,朱超平.基于大数据技术下智能电网配用电数据存储技术研究[J]. 自动化与仪器仪表, 2018(2):65-67.