網(wǎng)管數(shù)據(jù)庫10年變遷:從文件存儲到RealDB
【51CTO.com 綜合報道】網(wǎng)管軟件離不開數(shù)據(jù)庫,數(shù)據(jù)庫既是網(wǎng)管軟件的重要組成部分,又是決定網(wǎng)管軟件性能的重要因素,一款好的網(wǎng)管軟件一定有一個與之相匹配的合適的數(shù)據(jù)庫。一些網(wǎng)管軟件廠商為了優(yōu)化和提高網(wǎng)管軟件的性能,自己來開發(fā)專用的數(shù)據(jù)庫,比如MXsoft(美信)公司的CreCloud云網(wǎng)管就是自己開發(fā)的分布式專用實時數(shù)據(jù)庫。所以,要談網(wǎng)管軟件的歷史和創(chuàng)新,就離不開所使用的數(shù)據(jù)庫的歷史和創(chuàng)新。讓我們來看看,國內(nèi)網(wǎng)管數(shù)據(jù)庫在過去的10年中經(jīng)歷了哪些變遷和創(chuàng)新。
***代數(shù)據(jù)存儲方法:文件存儲
10年前,也就是2000年,美國有一個做服務(wù)器監(jiān)測的公司叫Freshwater,這個公司使用文件格式來存儲數(shù)據(jù),這種方法簡單靈活,所以被引進(jìn)國內(nèi)成為了國內(nèi)網(wǎng)管軟件使用的***代數(shù)據(jù)存儲方法。不過大家很快就發(fā)現(xiàn),這種文件格式存儲數(shù)據(jù)的方法有諸多不足:比如當(dāng)數(shù)據(jù)量稍大時,數(shù)據(jù)存取的效率就會大幅下降;當(dāng)歷史數(shù)據(jù)增多時,生成報表的速度非常慢;性能不夠穩(wěn)定,數(shù)據(jù)很容易丟失或者損壞。既然這種文件存儲的方法有這么多缺點,又為什么會被采用呢?
MXsoft(美信)公司的技術(shù)總監(jiān)陳新剛給了我們解釋,由于當(dāng)時網(wǎng)管技術(shù)在中國剛起步,大家的注意力和重心集中在數(shù)據(jù)采集方面,數(shù)據(jù)存儲還沒有引起足夠多的重視。當(dāng)時大家認(rèn)為數(shù)據(jù)采集回來,只要有地方放就可以了。當(dāng)產(chǎn)品在用戶處部署,數(shù)據(jù)量逐漸增加時,文件存儲的問題才一一暴露出來。這種文件格式存儲數(shù)據(jù)的方法很快被淘汰,大家努力尋找更加穩(wěn)定可靠的新的數(shù)據(jù)存儲方法。
第二代數(shù)據(jù)存儲方法:通用數(shù)據(jù)庫
網(wǎng)管軟件采用通用數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)存儲,首先被采用的MySQL數(shù)據(jù)庫。MySQL作為開源數(shù)據(jù)庫的代表,開發(fā)和部署成本都非常低,所以首先被大家采用,即使到現(xiàn)在,依然有許多的網(wǎng)管軟件后臺使用MySQL數(shù)據(jù)庫。用MySQL存儲數(shù)據(jù)比起文件格式來,性能和可靠性都大大提升了。然而過了一段時間以后,大家發(fā)現(xiàn)對于大數(shù)據(jù)量的存儲,MySQL效率依然比較低,而且穩(wěn)定性比起商業(yè)數(shù)據(jù)庫來要弱一些。
于是大家又開始嘗試使用商業(yè)數(shù)據(jù)庫來進(jìn)行網(wǎng)管數(shù)據(jù)存儲,用的最多的就是SQL Server和Oracle。這兩種商業(yè)數(shù)據(jù)庫各有優(yōu)劣,在Windows平臺下,SQL Server部署方便,成本也較低;Oracle則是許多大型企業(yè)和重要應(yīng)用的***選擇,這些企業(yè)自然也希望網(wǎng)管軟件的數(shù)據(jù)能夠存儲到Oracle中。
不過最終大家發(fā)現(xiàn),這兩種數(shù)據(jù)庫在面對大型IT基礎(chǔ)架構(gòu)的海量網(wǎng)管數(shù)據(jù)存儲時,依然速度不夠快、效率不夠高。比如,在某大型運(yùn)營商的網(wǎng)管項目中,需要監(jiān)控的服務(wù)器、網(wǎng)絡(luò)設(shè)備和應(yīng)用一共有200多個。該項目使用了Oracle數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)存儲,最初的性能表現(xiàn)還是不錯的,然而當(dāng)網(wǎng)管軟件運(yùn)行2個月以后,軟件的界面響應(yīng)時間和報表生成效率就開始逐漸下降,后來網(wǎng)管軟件的平均頁面響應(yīng)時間超過了8秒,這大大的超出了人們的等待極限。
就這一問題,MXsoft(美信)公司CTO陳新剛就多年的開發(fā)和用戶溝通經(jīng)驗告訴我們,當(dāng)人們坐在電腦前面,點擊一個軟件或者應(yīng)用的頁面時,對頁面彈出時間的感受程度如下:
◆0-3秒,滿意
◆3-5秒,一般,但可以接受
◆5-8秒,差,不愿意接受
◆8秒以上,非常差,無法接受
網(wǎng)管廠商們想通過商業(yè)數(shù)據(jù)庫來解決網(wǎng)管軟件在監(jiān)控大型項目時,海量數(shù)據(jù)的存儲效率問題沒有成功,這時一些做高端客戶的、富于創(chuàng)新的企業(yè)開始嘗試自己開發(fā)數(shù)據(jù)庫,MXsoft就是其中的杰出代表。
第三代數(shù)據(jù)存儲方法:專用數(shù)據(jù)庫
MXsoft開發(fā)成功的數(shù)據(jù)庫名字叫RealDB,即實時數(shù)據(jù)庫,究竟這種數(shù)據(jù)庫同通用數(shù)據(jù)庫如SQL Server和Oracle等有何區(qū)別呢?陳新剛告訴我們:通用數(shù)據(jù)庫主要是為了滿足對各種復(fù)雜應(yīng)用的數(shù)據(jù)進(jìn)行安全存儲,所以SQL解析層有許多注重安全性的冗余設(shè)計,雖然犧牲了效率,但是保證了數(shù)據(jù)的安全穩(wěn)定性。而對于網(wǎng)管軟件來說,最重要的是實時性,要實現(xiàn)對大規(guī)模海量數(shù)據(jù)的實時監(jiān)測和告警,就需要數(shù)據(jù)庫具備快速的數(shù)據(jù)處理能力,監(jiān)測和告警如果延時太長,就失去了實時監(jiān)控的意義。MXsoft的RealDB去掉了影響數(shù)據(jù)存儲的SQL解析層,采用了記錄級鎖、以及簡化數(shù)據(jù)結(jié)構(gòu)去掉冗余算法的技術(shù),極大的提高了并發(fā)處理數(shù)據(jù)的能力,滿足了網(wǎng)管軟件在大規(guī)模海量監(jiān)控時的高強(qiáng)度數(shù)據(jù)記錄處理,從而一舉解決了傳統(tǒng)通用數(shù)據(jù)庫(SQL Server,Oracle,MySQL等) 在大規(guī)模海量監(jiān)測時的瓶頸。
目前MXsoft的RealDB版本已經(jīng)是3.0,數(shù)據(jù)處理效率在所有國內(nèi)同行中排名***。在某大型石油公司的加油站項目測試中,單套軟件實時監(jiān)測10000個點,每日采集數(shù)據(jù)高達(dá)100M,而軟件界面響應(yīng)時間始終控制在3秒之內(nèi),這是非常了不起的成績,這個性能表現(xiàn)是所有參加測試的國內(nèi)外10多款產(chǎn)品中表現(xiàn)***秀的,創(chuàng)造了網(wǎng)管軟件的性能記錄,當(dāng)然也順理成章的為MXsoft贏得了訂單和客戶的贊譽(yù)。也正是基于RealDB實時數(shù)據(jù)庫的優(yōu)異表現(xiàn),MXsoft才能夠推出全球首創(chuàng)的CreCloud云網(wǎng)管。RealDB和CreCloud云網(wǎng)管的***配合,誕生了世界上迄今為止***的一個商業(yè)網(wǎng)管項目—10萬臺服務(wù)器和網(wǎng)絡(luò)設(shè)備的集中統(tǒng)一監(jiān)控,這也是中國網(wǎng)管廠商帶給世界的一個奇跡。
從最初的文件存儲到現(xiàn)在的RealDB,國內(nèi)網(wǎng)管數(shù)據(jù)庫伴隨著網(wǎng)管軟件的發(fā)展已經(jīng)走過了10個年頭,這其中許多的網(wǎng)管廠商在開發(fā)和探索過程中都做出了他們的貢獻(xiàn)。我們期盼著MXsoft、或者是其他廠商能夠開發(fā)出更多充滿創(chuàng)新的、性能不斷刷新的、適合網(wǎng)管軟件的新的數(shù)據(jù)庫,或者它們叫RealDB,或許它們叫CMDB,這些都不重要,關(guān)鍵是我們在創(chuàng)新。只要有創(chuàng)新,我們就會不斷進(jìn)步;只要有創(chuàng)新,我們就有可能***行業(yè);只要有創(chuàng)新,我們就能夠贏得未來的挑戰(zhàn)。國內(nèi)的網(wǎng)管廠商們,讓我們一起努力創(chuàng)新吧!