2010年數據庫市場展望 開源數據庫前景光明

來源: ChinaUnix  發布時間: 2010-03-02 11:35  閱讀: 1042 次  推薦: 0   [收藏]  

  2009年數據庫市場最大的事件就是Oracle大手筆收購Sun,以及由此引發的MySQL是生是死的討論。2010年數據庫將何去何從,本文將為大家簡單分析一下。

  磁盤是當前主流數據庫的主要瓶頸所在,而內存數據庫是高響應要求數據庫系統的最佳,甚至唯一選擇。但是如何在性能和價格上取得一種平衡呢?

  2009年數據庫行業精彩紛呈,各大主流收費和免費數據庫軟件繼續發力,技術革新和收購合并的大手筆應接不暇,新型數據庫軟件廠商異軍突起。

  內存數據庫應用日漸廣泛

  數據庫技術在幾十年的發展中,功能逐漸完善,現在主流的數據庫軟件動輒支持上TB的數據容量,而且經過各種技術革新后,能支持大業務并發操作。但一般的數據庫軟件,數據都無一例外的存儲于磁盤,數據庫軟件在需要使用到某份數據時,通過操作系統調用,從磁盤讀取出來,讀入到內存中,進行運算、比較或其他文本型操作,從而實現業務需求。

  磁盤是當前主流數據庫的主要瓶頸所在。一般硬盤的讀取速度為毫秒級時采用光纖盤陣,并部署成RAID機制,如讀寫速度更快的RAID0,但仍然逃脫不出毫秒級的范疇。畢竟,比起CPU和內存而言,磁盤的讀取太慢,每次讀取耗時需若干毫秒,內存的讀取速度為n秒級,即每次內存讀取僅需10-9秒。這意味這內存每秒的讀寫次數,是磁盤上百萬倍。

  根據多年DBA經驗,數據庫性能優化,實際上就是減少或盡可能的避免磁盤讀寫。衡量一個數據庫調優效果的好壞,也在于此。因為只有磁盤讀寫減少了,CPU使用才會減少,內存的耗費也不至于太過巨大。

  磁盤技術即使不斷革新,到現在出現的SSD(Solid State Disk)技術,但對要求極其苛刻的大型數據庫而言,仍然是杯水車薪。測試結果表明,SSD技術在隨機讀寫方面的性能,比普通硬盤提升了約5倍。而且SSD技術目前不是特別完善,還存在硬盤容量小,價格過于昂貴等致命傷。

  而SSD泛指使用NAND Flash組成的固態硬盤,其特別之處在于沒有機械結構,利用傳統的NAND Flash特性,以區塊寫入和抹除的方式作讀寫的功能,因此在讀寫的效率上,非常依賴讀寫技術上的設計,與目前的傳統硬盤相較,具有低耗電、耐震、穩定性高、耐低溫等優點。

  筆者前段希望在SUN新型號服務器上使用SSD磁盤,但被告知僅支持36GB的容量。這簡直就是開玩笑嘛,誰家的數據庫只有幾十GB?

  內存數據庫是高響應要求數據庫系統的最佳、甚至唯一選擇。現在,不僅僅電信級數據庫,甚至包括大型互聯網數據庫,也要求業務操作的響應時間為毫秒級。這對數據庫的響應速度提出了很苛刻的要求。唯一的途徑就是,將數據緩存在內存里。讓應用程序直接從內存里讀寫數據,規避硬盤讀寫,從而極大的提高數據庫對外性能。

  現在內存數據庫技術已經相對完善,有些主流大廠商已自主研發、或收購第三方軟件商,實現了該技術。主流內存數據庫技術解決了一個關鍵問題,其一,內存數據同步到磁盤的問題。

  內存的數據畢竟是暫存,數據終歸要保存在硬盤上,一旦數據庫服務器因為斷電等問題意外關機或重啟,內存的數據肯定丟失殆盡。因此必須保證數據周期性存儲到磁盤上,但又不允許因批量磁盤存入,而導致影響性能。

  數據中心軟件廠商異軍突起

  隨著各行各業使用IT系統時間的加長,積累的歷史數據越來越多,另外,類似網絡游戲和C2C、B2C應用網站的大規模興起,眾多公司對海量數據的存儲,提取和處理,挖掘及分析提煉的要求變得愈加迫切。

  傳統的主流數據庫軟件在大型數據中心上顯得很是力不從心。很多企業的數據中心,一天的數據導人就達到幾百GB,甚至若干TB,而且因為業務的需要,數據庫軟件需完成的操作不僅僅包括這些數據的插入,還包括將這些數據與歷史已有數據的對比,更新和刪除。傳統的數據庫軟件,無論采用多先進的技術,有一個事情是一定的,即基于單一的數據庫,雖然這個數據庫后面可以是SAN等很多磁盤陣列構成的存儲網絡予以支持。

  這意味著,無論如何,你的處理速度受到極大的限制,即使有些數據庫廠商可以實現雙節點甚至多節點對數據庫存儲的并發訪問,但多節點的前置服務器,只能解決CPU和內存的問題,而磁盤作為主要瓶頸依然存在。另外,采用SAN存儲網絡等一個致命缺點是,價格過于昂貴,這并非一般公司所能接受,維護成本也相對非常的高。

  有辦法解決大型數據中心的需求,且付出的費用卻相對十分低廉呢?答案是肯定的。現在已有類似的數據庫廠商實現了此功能。這實際上是對傳統數據庫軟件設計和功能的顛覆性提高。這種實現的方法,類似于化整為零的思想。即,單個數據庫無法支持,那我們就采用多個數據庫來實現。這時,每個數據庫相互獨立,但又對外展現為單一的個體,供外部應用的訪問和操作。

  這些數據庫使用各自的CPU、內存和磁盤,既然單一數據庫的磁盤存儲無法滿足需求,那我們設計這樣的系統,允許無限制的增加數據庫,這樣就規避了單一存儲性能的問題,也規避了價格昂貴的SAN等存儲網絡。

  這種架構下的服務器,采用價格低廉的PC服務器即可,費用比采用小型機等的數據庫,直降很多,另外,甚至不需采用服務器外掛的磁盤陣列了,直接使用服務器本地硬盤即可,現在ITB的SATA硬盤已經能夠做到價格低廉且比較穩定。

  這種架構下的數據庫軟件,完全可以采用免費穩定的產品。根據一些網絡游戲公司的對比測試,采用專業數據中心軟件和架構下的數據提取等操作,并對比傳統數據庫軟件,耗費的時間從20到30小時,縮短到1到2小時,速度提高很多倍。而且提升的速度,隨著獨立數據庫的增加,可提升空間更多。

  開源數據庫前景仍然光明

  今年Oracle收購SUN的大事件,曾經讓業界十分擔心MySQL的存亡問題,畢竟MySQL早已被SUN公司收購。MySQL是免費開源數據庫軟件,這和Oracle這種純商業軟件是直接沖突的。Oracle之前已收購了INNODB數據引擎,而后者恰恰是吸引大量用戶依然使用MySQL的十分重要的一個理由。MySQL數據庫最令人欣賞的特性之一在于,他是一種開放式的架構,甚至允許第三方開發自己的數據存儲引擎,這吸引了大量第三方公司的注意并樂于投身于此。但最優秀的引擎當屬INNODB,INNODB支持事務處理,鎖的機制做得也不錯,足以支持中小企業的一般性業務需求。并可見,Oracle對MySQL窺視已久,并非因其是免費開源數據庫而忽略。

  因此Oracle是否讓MySQL自此消失,或者對MySQL不管不問,任其自然消亡嗎?目前來看,這種可能性不大。MySQL因其免費、開源、結構開放,且對事務的支持較好等特性,占據了大量的市場,并擁有自己堅定的使用群體。MySQL目前受到不僅僅預算緊張的中小企業的青睞,而且也受到新型行業的廣泛應用。

  互聯網時代已經真正開始,一個搜索引擎,購物網站或者平臺,一個網絡游戲,往往并發使用者數以十萬。這樣龐大的并發訪問,即使如Oracle數據庫系統,也無法支撐。反而通過化整為零的思想,利用若干MySQL數據庫,組合起來得以實現。

  事實上,Oracle在最近開始透露其將來針對MySQL的真正意圖,即利用MySQL和微軟的Microsoft SQL Server在中小企業進行抗衡。Microsoft SQL Server因為其較低的價格,不斷改進的數據庫技術和較簡單的管理維護等特性,也占據了不小的市場。Oracle數據庫的劣勢之一是,日常運維和維護成本較高,企業為此負擔的人員成本和后期投入較多,而這剛好是Microsoft SQL Server和MySQL的優勢所在。

0
0
 
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()