天天看點

資料庫管理系統:中國還在尋找“正确打開方式”

  資料庫管理系統:中國還在尋找“正确打開方式”

  亟待攻克的核心技術

  本報記者 高 博

  有一天你去銀行取錢,驚喜地發現:由于系統故障,你的賬戶顯示着馬雲的資料……

  這種事不可能發生,因為資料庫管理系統非常可靠。網上買火車票,或者将照片上傳雲端,你都離不開它。

  而商用資料庫管理系統的豐厚利潤,一直被甲骨文為首的幾家美國公司瓜分,中國産品望洋興歎。

  速度和可靠,兼顧是難題

  查詢銀行賬戶時,我們不知道數字來自哪台計算機,哪塊硬碟。有資料庫管理系統(DBMS)替我們幹活。

  DBMS就像圖書管理者:找到書架,存書,取書……說起來容易,但當圖書館特别大,而且書會拆開來放入相隔遙遠的架子時,管理起來就很麻煩了。

  在資料庫開發與實施方面有豐富經驗的IBM分析領域架構師羅曦光舉了一個例子——使用者修改資料時,相關存儲區域會被鎖住,其他使用者隻能排隊等,如果DBMS存儲位置不合理,就會耽誤許多時間。資料操作的理想狀況,如同幾十隻手彈奏一架鋼琴,各彈各的,互不影響。

  “資料庫管理系統,尤其是關系型資料庫管理系統(RDBMS)的方法論,教科書上寫得很明白;其功能和常見的圖書管理系統沒什麼差别。但當資料量非常大,到了TB和PB級别,DBMS性能不下降就是一大挑戰。”羅曦光說。

  比如一個普通的大型網站,每秒鐘要處理十萬個查詢請求,資料庫得同時執行幾十個查詢任務,而且響應時間極短。

  “網絡使用者發送請求,期望一眨眼就得到結果。如果DBMS做得不好,響應時間長到10秒或20秒,使用者會喪失耐心,資料庫還可能經常挂掉。”羅曦光說,要永遠不出故障,達到高可用性,需要很多專門技術。

  目前全世界最流行的兩種DBMS是Oracle和MySQL,都是甲骨文公司旗下的産品。競争者還有IBM公司的DB2、Informix,微軟公司的SQLserver以及開源的MariaDB等等。甲骨文、IBM、微軟和Teradata幾家美國公司,占了大部分市場佔有率。

  國産替代難,輸在穩定性

  DBMS國貨也有市場佔有率,但隻是個零頭。銀行、電信、電力等要求極端穩妥的企業,不會考慮國貨。20年前就有人呼籲國貨替代,但一線技術人員并不情願。

  “先發優勢、完善的售後技術支援和高額的遷移成本,是企業難以遷移到新系統的原因。”羅曦光說,國内一家電商平台為了從Oracle遷徙到别的系統,最多曾用上百人的團隊花了十幾個月,成本不菲。

  羅曦光認為,如今的開源DBMS做得很好而且免費,但銀行和傳統龍頭企業出于謹慎,對于将核心系統遷移到開源系統仍會持謹慎态度。

  穩定壓倒一切。DBMS行業觀察家曉軍在《國産資料庫發展現狀分析》一文中指出,國内DBMS企業大多源自1990年代的高校,期望實作國産替代。但多年來,“産品的穩定性一直上不去,也不敢做有挑戰性的性能測試。是以,穩定性、性能都無法讓市場信服。結果就是:稍微重要一點的系統根本沒人敢用。”

  另外,曉軍說,當年國貨往往模仿Oracle,追求大而全,而技術創新不足、沒有特點。相比之下,1990年代的美國小廠商極富創新力,開辟了一些全新的技術方向,在與甲骨文等巨頭的競争中成功活了下來。

  “這個年代,開源DBMS的源代碼可以随便下載下傳,國内應該不會有新的入場者再去做傳統的DBMS了。”羅曦光說。

  浩瀚代碼的背後,是浩瀚人才

  “Oracle的資料庫軟體……代碼量堪稱浩瀚。”曉軍說,“Oracle最有特色的地方就是功能非常繁多,語句極端豐富,即便大部分都不常用。”

  曉軍說,小公司在這一點上試圖比肩甲骨文,猶如“乞丐與龍王爺比富”。

  曉軍舉例說:“Informix的主要子產品的源代碼就有2000多萬行,Informix當年在美國的核心研發隊伍就有超過200人,加上測試和周邊團隊,不下500人。”

  而國内付費使用IBM公司的Informix源代碼的幾家企業,相關隊伍都不超過40人,曉軍說,要快速追趕世界先進水準,閱讀代碼的團隊規模應該超過寫代碼的團隊。是以國内“面對十年前的巨量代碼一籌莫展,要弄通又得花很多年。”

繼續閱讀