• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 信息科技 > 正文

    应用在变电运检管理平台的数据库技术研究

    时间:2021-04-07 08:02:19 来源:达达文档网 本文已影响 达达文档网手机站

    摘要:将现有的运检管理业务系统与NoSQL技术进行结合,是在互联网技术不断发展的趋势下,传统工业与大数据技术互相融合的一次探索。传统的变电运检管理系统由于需要接收、处理的数据量过大,系统的负载太大,无法对数据进行高准确率、实时、和复杂运算逻辑的处理,因此,传统的系统无法接收大量数据,或者只能接收一些但不能存储或分析它们。尤其地,受限于数据库技术,变电运检管理系统的功能和性能均受到了交大的限制。本文将通过对NoSQL中的MongoDB数据库进行研究,和传统的关系型数据库MySQL进行对比,分析出MongoDB数据库更加合适使用的业务场景,为现有的运检管理系统提供改造和优化的思路,进而逐步的利用“大云物移”技術,实现国家电网智能运检体系的建设。

    关键词:数据库;MongoDB;MySQL;智能电网;变电运检管理平台

    中图分类号:TM76 文献标识码:A 文章编号:1007-9416(2018)09-0023-04

    随着电网规模快速发展和运检要求不断提升,变电设备运检工作量大幅提升。如何通过智能化手段,解决运检工作量、质量与运检人员数量、人员结构间日益突出的矛盾,成为亟需解决的问题。自2011年以来,围绕运检工作开发的生产信息系统和设备运维管理系统,一定程度上缓解了运检工作中的突出矛盾;但已有的管理系统侧重于运检基础工作管理,无论从系统构架、功能、数据接口方面都无法适应第三代智能站的需求。

    其中,受限于传统的数据存储技术,现有运检管理系统的功能和性能均受到了交大的限制。设备运行历史数据和复杂分析数据都无法进行有效保存,致使大量有分析价值的数据无法得到充分利用,进而造成现有运检管理系统无法对设备运行趋势、状态特征、故障预警等进行有效的分析,大大影响了运检效率。

    因此,本文研究了当今大数据时代的数据存储与传统运检领域信息化系统的数据存储技术的对比,通过大数据存储技术的介入,加快运检工作面向第三代智能变电站的变电运检管理平台建设,提高运检效率。

    1 关系型数据库和NOSQL的特点

    随着大规模互联网应用的不断发展以及云计算所需的海量存储和高速计算的发展,传统的关系数据库已无法满足这一需求。NoSQL数据库的不断发展和成熟可以更好地解决大容量存储和大规模计算的应用需求。NoSQL指的是非关系数据库。MongoDB是一种NoSQL数据库。它是一个开源,无架构,面向文档的分布式数据库。它是关系数据库和非关系数据库之间的产品。本文将使用MongoDB作为数据存储性能研究的代表。

    非关系型数据库的特点和优势:

    (1)性能:NOSQL基于键值对,不需要由SQL层解析,可以想象为主键和表中的值之间的对应关系,因此具有非常高的性能。

    (2)可扩展性:另外,由于基于键值对的数据之间没有耦合,因此水平扩展非常容易。

    关系型数据库的特点和优势:

    (1)支持复杂查询:可以使用SQL语句轻松地在表和多个表之间执行非常复杂的数据查询。

    (2)支持事物(transaction):非关系型数据库对事务的支持实现了对安全性的高数据访问要求

    可以看出,对于这两种类型的数据库,另一方的优势是他们自己的弱点。近年来这两个数据库都朝着另一个方向发展,但这些特征的增加也将削弱其固有优势。因此,如何构建系统的短期和长期存储策略,并利用各自的优势是架构师需要考虑的重要问题。

    本文将MySQL作为关系型数据库的代表,与非关系型数据库MongoDB进行特点及性能的对比。

    1.1 MongoDB的存储特点

    MongoDB采用类JSON的documents来存储数据。在mongoDB的查询语句中,相关信息由于可以采用灵活的数据结构存储在一块,所以查询速率非常快。当mongoDB需要更新文档documents的时候,可以轻松增加新的字段名或者删除旧的字段。

    MongoDB会在启动后将数据库中的数据作为文件加载到内存中。如果内存资源非常丰富,这将大大提高数据库的查询速度。

    1.2 MongoDB的缺陷

    作为新产品,MongoDB也有许多缺点。虽然它为开发人员提供了便利,但在操作和维护方面面临许多困难,没有成熟的操作和维护经验,需要不断探索。MongoDB中的数据存储是非常随意的,与开始时定义的MySQL不同。对于操作和维护人员,MongoDB内部数据的数据格式会给数据库的操作和维护带来麻烦。

    MongoDB和MySQL是两种不同类型的数据库。当存储越来越多的记录时,插入和读取效率将如何受到影响,这是本研究的重点。

    2 测试系统组成

    在这一部分,我们模拟变电运维业务中的场景。当管理平台接入所辖区域内的多个变电站时,平台需要对数量众多的主辅设备信息进行处理,系统将面临非常大的数据上送的压力,因此数据库会受到频繁读写操作的巨大压力。我们准备了1亿条待测试数据,数据格式模拟变电运维实际业务,字段共有30个字段(不逐一列出),大致如Table1。我们会选用MongoDB数据库和MySQL数据库分别测试数据插入性能和数据读取性能。如表1、2所示。

    3 性能对比

    在存储在数据库中的数据中,有一个称为主键的特殊键,用于唯一标识表中的记录。即表不能有多个主键,主键不能为空。无论是MongoDB还是MySQL,都有主键的定义。对于MongoDB,主键名称为“_id”。生成数据时,如果用户没有主动为其分配主键,MongoDB将自动为其生成随机分配的值。在MySQL中,当MySQL插入数据时,通过指定PRIMARYKEY来指定主键。如果未指定主键,则另一个工具(索引)等效于主键的功能。如果既未指定主键也未指定索引,MySQL将自动为数据创建数据。

    3.1 研究过程

    此次研究过程有如下步骤:

    (1)为数据库表条目创建字段模板,并根据此模板将数据插入数据库。

    (2)将准备好的1亿条待测试数据执行插入操作。每条数据的大小大概有1K。要测试的数据格式的关键字段之一是各不相同的md5值1-100,000,000,剩余字段的内容,按照变电运检业务实际情况进行补充。

    (3)以下列四种模式将数据插入数据库。插入每1000个数据后,记录所用时间:

    1)在MongoDB中插入数据,其md5值对应到_id为1-100,000,000。

    2)不指定MongoDB中的主键值,将md5值1-100,000,000视为普通字段插入。

    3)在MySQL中插入数据,md5值为1-100,000,000,将其作为主键。

    4)不要在MySQL中指定主键,将md5值视为1-100,000,000作为正常的字段插入。

    (4)根据记录的时间,对比MySQL和MongoDB的插入性能。

    (5)此外,基于上述四种描述,分别测试数据库的读取性能。

    3.2 插入性能对比

    按照第四章的测试步骤插入数据得到以下结果。

    图1上的数据横坐标是以上描的四种插入方式对应的数据库类型;纵坐标是插入平均1000个数据所需的时间。单位是秒。

    结果分析:

    (1)指定主键时,两个数据库将在插入时处理索引值,并在数据库中查找相同的键值,这将降低插入速率。

    (2)使用MongoDB时,指定索引的插入操作比不指定索引要慢得多。因为MongoDB中每个数据的_id值是唯一的。在未指定_id的情况下插入数据时,系统会使用计算机时间、特征值、进程号和randomnumber来确保生成唯一_id。指定主键插入数据时,MongoDB需要检查此_id是否不适用于每个数据。当数据库中的数据量太大时,此步骤的查询开销将降低整个数据库的插入速度。

    (3)MongoDB有一个非常好的功能:将充分利用系统内存作为缓存。测试机器有64G的内存。插入数据后,MongoDB会在数据写入内存后尽快将数据保存到硬盘中。这就是为什么MongoDB在未指定_id时遥遥领先。但是,当通过指定_id模式插入数据时,当数据量很大时,MongoDB需要将磁盘中的信息读入内存来检查权重,这样插入效率会很慢。

    (4)无论是指定主键还是未指定插入数据的主键,MySQL效率都没有太大差异。

    3.3 查询性能对比

    接下来我们测试MongoDB和MySQL在数据查询时的性能对比。我们预期数据量的查询基本可以满足运检管理系统的业务量。同样,我们把每查询1000条数据的时间记录下来。

    测试结果:如表3所示。

    本案例简单数据模型下时间范围内的等值查询应用场景下,MongoDB在高并发条件下的大数据量查询性能并没有比MySQL更好。另外还有一点需要注意的是,在本案例中,数据总量由百万级别到千万级别再到亿级别的变化过程中,对于查询性能的影响都不是很大,但对于查询数据量的数倍增长却十分敏感。

    4 结语

    经过以上章节的测试对比,我们得到以下结论:

    (1)相比较MySQL,MongoDB侧重频繁数据写入的性能,适合业务系统中有大量数据接入的场景,符合变电运检管理系统中变电站主辅设备大量数据上送的场景。如果机器的内存资源豐富,MongoDB充分利用内存资源,插入效率将会很高。

    (2)使用“_id”插入数据时,MongoDB的插入效率实际上并不高。如果要充分利用MongoDB性能,建议不要使用“_id”插入方法。在设计系统和功能时,您需要专注于数据库的选择。在设计系统和功能时需要侧重考虑数据库的选型。

    (3)在千万级别的查询上,MongoDB在高并发条件下的大数据量查询性能并没有比MySQL更好。

    经过对MongoDB和MySQL的插入性能和查询性能的对比,能够发现两者在不同的场景下性能有所侧重。我们可以根据不同的业务需要,选择相应的数据库。并且应基于不同数据库的特性,设计系统的功能,以达到对数据库的充分利用,将数据库的性能达到最优化。

    此次测试只是使用单体数据库进行测试,nosql数据库绝不仅仅用于插入和查询,后续可以将NoSQL的水平扩展能力、动态增列特性、副本集机制结合变电运检业务进行研究,发掘出NoSQL更多适应于运检业务场景的技术优势。

    参考文献

    [1]Ming Wang, Qian Zhang, The constrction of E-business: a case study. Journal of Peiking University, Vol 243, pp.102-103, April 2003 (In Chinese).

    [2]G. Eason, B. Noble, and I. N. Sneddon, “On certain integrals of Lipschitz-Hankel type involving products of Bessel functions,” Phil. Trans. Roy. Soc. London, vol. A247, pp. 529-551, April 1955. (references)

    [3]J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68-73.

    [4]I. S. Jacobs and C. P. Bean, “Fine particles, thin films and exchange anisotropy,” in Magnetism, vol. III, G. T. Rado and H. Suhl, Eds. New York: Academic, 1963, pp. 271-350.

    [5]K. Elissa, “Title of paper if known,” unpublished.

    [6]R. Nicole, “Title of paper with only first word capitalized,” J. Name Stand. Abbrev., in press.

    [7]Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa,“Electron spectroscopy studies on magneto-optical media and plastic substrate interface,” IEEE Transl. J. Magn. Japan, vol. 2, pp. 740-741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301,1982].

    [8]M. Young, The Technical Writer"s Handbook. Mill Valley, CA: University Science, 1989.

    相关热词搜索: 用在 管理平台 技术研究 数据库

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网