网管数据库10年变迁:从文件存储到RealDB

网管软件离不开数据库,数据库既是网管软件的重要组成部分,又是决定网管软件性能的重要因素,一款好的网管软件一定有一个与之相匹配的合适的数据库。一些网管软件厂商为了优化和提高网管软件的性能,自己来开发专用的数据库,比如MXsoft(美信)公司的CreCloud云网管就是自己开发的分布式专用实时数据库。所以,要谈网管软件的历史和创新,就离不开所使用的数据库的历史和创新。让我们来看看,国内网管数据库在过去的10年中经历了哪些变迁和创新。

第一代数据存储方法:文件存储

10年前,也就是2000年,美国有一个做服务器监测的公司叫Freshwater,这个公司使用文件格式来存储数据,这种方法简单灵活,所以被引进国内成为了国内网管软件使用的第一代数据存储方法。不过大家很快就发现,这种文件格式存储数据的方法有诸多不足:比如当数据量稍大时,数据存取的效率就会大幅下降;当历史数据增多时,生成报表的速度非常慢;性能不够稳定,数据很容易丢失或者损坏。既然这种文件存储的方法有这么多缺点,又为什么会被采用呢?

MXsoft(美信)公司的技术总监陈新刚给了我们解释,由于当时网管技术在中国刚起步,大家的注意力和重心集中在数据采集方面,数据存储还没有引起足够多的重视。当时大家认为数据采集回来,只要有地方放就可以了。当产品在用户处部署,数据量逐渐增加时,文件存储的问题才一一暴露出来。这种文件格式存储数据的方法很快被淘汰,大家努力寻找更加稳定可靠的新的数据存储方法。

第二代数据存储方法:通用数据库

网管软件采用通用数据库来进行数据存储,首先被采用的MySQL数据库。MySQL作为开源数据库的代表,开发和部署成本都非常低,所以首先被大家采用,即使到现在,依然有许多的网管软件后台使用MySQL数据库。用MySQL存储数据比起文件格式来,性能和可靠性都大大提升了。然而过了一段时间以后,大家发现对于大数据量的存储,MySQL效率依然比较低,而且稳定性比起商业数据库来要弱一些。

于是大家又开始尝试使用商业数据库来进行网管数据存储,用的最多的就是SQL Server和Oracle。这两种商业数据库各有优劣,在Windows平台下,SQL Server部署方便,成本也较低;Oracle则是许多大型企业和重要应用的第一选择,这些企业自然也希望网管软件的数据能够存储到Oracle中。

不过最终大家发现,这两种数据库在面对大型IT基础架构的海量网管数据存储时,依然速度不够快、效率不够高。比如,在某大型运营商的网管项目中,需要监控的服务器、网络设备和应用一共有200多个。该项目使用了Oracle数据库来进行数据存储,最初的性能表现还是不错的,然而当网管软件运行2个月以后,软件的界面响应时间和报表生成效率就开始逐渐下降,后来网管软件的平均页面响应时间超过了8秒,这大大的超出了人们的等待极限。

就这一问题,MXsoft(美信)公司CTO陈新刚就多年的开发和用户沟通经验告诉我们,当人们坐在电脑前面,点击一个软件或者应用的页面时,对页面弹出时间的感受程度如下:

• 0-3秒,满意

• 3-5秒,一般,但可以接受

• 5-8秒,差,不愿意接受

• 8秒以上,非常差,无法接受

网管厂商们想通过商业数据库来解决网管软件在监控大型项目时,海量数据的存储效率问题没有成功,这时一些做高端客户的、富于创新的企业开始尝试自己开发数据库,MXsoft就是其中的杰出代表。

第三代数据存储方法:专用数据库

MXsoft开发成功的数据库名字叫RealDB,即实时数据库,究竟这种数据库同通用数据库如SQL Server和Oracle等有何区别呢?陈新刚告诉我们:通用数据库主要是为了满足对各种复杂应用的数据进行安全存储,所以SQL解析层有许多注重安全性的冗余设计,虽然牺牲了效率,但是保证了数据的安全稳定性。而对于网管软件来说,最重要的是实时性,要实现对大规模海量数据的实时监测和告警,就需要数据库具备快速的数据处理能力,监测和告警如果延时太长,就失去了实时监控的意义。MXsoft的RealDB去掉了影响数据存储的SQL解析层,采用了记录级锁、以及简化数据结构去掉冗余算法的技术,极大的提高了并发处理数据的能力,满足了网管软件在大规模海量监控时的高强度数据记录处理,从而一举解决了传统通用数据库(SQL Server,Oracle,MySQL等) 在大规模海量监测时的瓶颈。

目前MXsoft的RealDB版本已经是3.0,数据处理效率在所有国内同行中排名第一。在某大型石油公司的加油站项目测试中,单套软件实时监测10000个点,每日采集数据高达100M,而软件界面响应时间始终控制在3秒之内,这是非常了不起的成绩,这个性能表现是所有参加测试的国内外10多款产品中表现最优秀的,创造了网管软件的性能记录,当然也顺理成章的为MXsoft赢得了订单和客户的赞誉。也正是基于RealDB实时数据库的优异表现,MXsoft才能够推出全球首创的CreCloud云网管。RealDB和CreCloud云网管的完美配合,诞生了世界上迄今为止最大的一个商业网管项目—10万台服务器和网络设备的集中统一监控,这也是中国网管厂商带给世界的一个奇迹。

从最初的文件存储到现在的RealDB,国内网管数据库伴随着网管软件的发展已经走过了10个年头,这其中许多的网管厂商在开发和探索过程中都做出了他们的贡献。我们期盼着MXsoft、或者是其他厂商能够开发出更多充满创新的、性能不断刷新的、适合网管软件的新的数据库,或者它们叫RealDB,或许它们叫CMDB,这些都不重要,关键是我们在创新。只要有创新,我们就会不断进步;只要有创新,我们就有可能引领行业;只要有创新,我们就能够赢得未来的挑战。国内的网管厂商们,让我们一起努力创新吧!