morris_2007 發表於 2018-7-2 23:00:58

數據庫管理系統:中國還在尋找“正確打開方式”

有一天你去銀行取錢,驚喜地發現:由於系統故障,你的賬戶顯示著馬雲的數據……

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

據《科技日報》7月2日報道,商用數據庫管理系統的豐厚利潤,一直被甲骨文為首的幾家美國公司瓜分,中國產品望洋興嘆。

速度和可靠,兼顧是難題

查詢銀行賬戶時,我們不知道數字來自哪台計算機,哪塊硬盤。有數據庫管理系統(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人,曉軍說,要快速追趕世界先進水平,閱讀代碼的團隊規模應該超過寫代碼的團隊。因此國內“面對十年前的巨量代碼一籌莫展,要弄通又得花很多年。”

而羅曦光認為,盡管國內公司沒有可以比肩甲骨文的,但“在參與開源軟件的意義上,中國不是沒有入場的資格。這是一個技術充分交流與共享的時代。”

羅曦光說,目前開源的RDBMS(如MariaDB)就有國內軟件開發人員大力支持,與大數據平台緊密關聯的NoSQL數據庫(如HBase)的開發社區裏也活躍著中國開發人員的身影。以阿里雲為代表的國內雲服務的底層,也包含借鑒開源系統打造的數據庫管理系統。

“今時今日,一個全新的公司來做項目,可能不會選擇國外廠商付費的DBMS。比如互聯網的初創企業,大概率會選擇國內廠商的基於雲服務的包含DBMS的整體方案。”羅曦光說。

中華網
頁: [1]
查看完整版本: 數據庫管理系統:中國還在尋找“正確打開方式”