數據庫已經不是最難國產化的IT基礎設施了
?最近美國芯片限制政策的問題發酵的很厲害,前幾天一個朋友說他原來以為數據庫是最難國產化的,原來還不是啊。確實是的,相對于芯片這種產業鏈特別長的IT組件,數據庫這種軟件相對來說更容易實現國產化。目前在IT領域,中國受益于多年的世界產業分工和國際化協作,發展的很快,不過重點發展還是在應用領域。在基礎領域里,中國一直是承擔世界工廠的角色,并沒有參與到先進技術研發與關鍵設備生成這些研發投入極大,研發周期較長,單一產業全球產業規模不大的領域。
我看到網上對我國IT產業全面否定的言論很多,對IT產業國產化的態度也極其悲觀,這些言論很多來自某個產業的從業人員,因此也很有市場。實際上,目前我們的IT產業國產化面臨的問題是多種多樣的,很多產業并不是我們沒有能力去做,而是在國際化分工協作的模式下,以往沒必要投入巨資,浪費時間去做。當反全球化浪潮高漲之時,一個國家和民族為了生存,那么在很多方面就不會考慮最優成本解的問題了。我想大部分短板還是能在三五年內得到補全的。可能我們會面臨花了更多的錢,用了比原來差的產品的問題,不過熬過這段艱苦的日子,在某些領域形成物美價廉的中國方案也不是不可能的。
回到數據庫,實際上這些年來我一直不認為數據庫國產化是個大問題,沒有成不成的問題,而只是做不做的問題。前些年中國數據庫產業國產化發展的不好,最大的問題不是國產數據庫的發展太慢,國產數據庫水平不足等技術問題,而是我們對知識產權的不尊重。我們的國產關系型數據庫產業從1999年左右就開始起步了,而國外的關系型數據庫產業大發展也只是從90年代中期才開始的,我們的起步并沒有晚多少。同時期韓國發展出了Tibero、Altibase等商用數據庫產品,日本的一些大企業則在PG開源項目上做了巨大的投入,而實際上我國也出現了第一批國產數據庫廠商,達夢,人大金倉等紛紛登場。
由于我國在知識產權領域的保護不足,從而導致數據庫領域橫行。8、90年代的銀行交易系統大多數是基于informix數據庫的,并不是說Informix數據庫多么適合銀行交易系統。而是因為第一批搞銀行電算化的人從美國回來時候帶來了的Informix。而隨著中國IT產業的大發展,那些網上下載就能使用,不需要物理許可證的數據庫產品成了我們應用的主流。上至政府機構,小至小微企業,數據庫一水都是Oracle Enterprise。2000年初的時候,一個國外的DBA到訪深圳,和我談了一件事,說他去給一家企業做數據庫規劃方面的咨詢。用戶居然問他是不是要考慮引入一些其他的數據庫產品,而不能只用Oracle數據庫。他感到有些吃驚,他在美國的客戶,都是只有最核心的數據庫才會首選Oracle,而一些非核心的,都會考慮使用稍微便宜一些的SQL SERVER,或者干脆用MySQL,中國的一個企業里居然用了好幾十套Oracle企業版數據庫,連辦公自動化這種沒多少并發量的系統,都是Oracle Enterprise,他覺得用一個Oracle Standard就完全足夠了。
我沒好意思說出其中的原因,因為這個原因也不光彩。正是我國在知識產權領域保護的不足,導致了很多用戶都產生了用國產數據庫比用Oracle還貴的想法。不管系統大小,通通用一套Oracle就搞定的事情,也就十分順理成章了。
現在的形勢下,我國的自主IT產業發展已經是被逼上梁山了,在此局面下,各種國產化解決方案的落地迫在眉睫。數據庫領域,我目前覺得是渠已成,只待水來了。不管是自主代碼研發的數據庫產品,還是基于開源協議的數據庫產品,亦或是我國自己的數據庫開源項目,發展的都已經有一定的規模了。
談到數據庫國產化,實際上并不僅僅是關系型數據庫,去年我們幫一個客戶梳理他們的數據庫國產化方案的時候,整理了他們目前用到的數據庫產品類型。最后的結論是,除了MongoDB、Redis等少數數據庫產品外,目前他們使用的大部分數據庫的國產化替代都能找到合適的方案,數據庫國產化替代工作完全是可行的。可喜的是,在非關系型數據庫領域,我們的國產數據庫發展的實際是更好的,自主化率也比RDBMS要高出很多。
不過現在對于數據庫國產化的觀點差異很大,我今天所說也僅僅能夠代表一家之言。很多人認為國產數據庫產品必須是每一行代碼都是原創的,現在基于開源代碼搞的數據庫產品都不能用于國產化替代,這個觀點我是最不認同的。哪怕是Oracle數據庫中,都使用了大量的開源代碼。前幾年的CPU安全漏洞風波,為什么那么多不同架構的CPU廠商都中招了呢?還不是因為INTEL,IBM和一些ARM CPU廠家都是用的同一個開源代碼出了問題。每一行代碼都必須自主,僅僅限于一些國家的安全級別極高的領域,如果用到商用數據庫領域,那就是在浪費資源了。只要在知識產權上沒有瑕疵,充分利用開源代碼,是加速我國數據庫產業發展的最佳道路。可能有朋友要說了,你舉的CPU的例子不正好說明開源代碼不安全嗎?開源代碼存在安全問題,這個毋庸置疑,但是自研的代碼就更安全嗎?恐怕也不是吧。
勇敢的擁抱開源,充分利用開源,并積極參與數據庫開源項目,貢獻中國智慧,這應該是比較適合我國數據庫產業發展的道路。十分可喜的是,中國基因的開源數據庫產品已經有數個了,TiDB、Oceanbase、openGauss等中國開源數據庫產品甚至已經具有了一定的國際影響力。
隨著數據庫國產化替代的深入,我們面臨最大的問題應該是如何用好國產數據庫。這個問題并不像國產數據庫產品替代那么樂觀。人才的缺乏,國產數據庫產業生態的缺失,周邊運維、優化工具的缺失等一系列問題,將會影響數據庫國產化后的IT系統健康運行。
最近我在研究SQL SERVER的運維知識圖譜,國慶期間花了一周多時間閱讀了一些微軟的文檔,我發現國外商用數據庫產品的成功確實不是偶然的,如此完善的文檔,對于數據庫產品的推廣與應用是十分有益的。如果微軟的文檔算90分,那么對比大多數國產數據庫,這方面幾乎可以認為是接近0分。
數據庫已經不算是最難國產化的IT基礎設施了,甚至可以說數據庫的國產化只等待企業的IT決策者的發令槍了。既然國產化替代不可避免,那么還是早點動手比較好,猶豫什么,干就行了。?