為保證數(shù)據(jù)的安全性、可靠性,由北京大學(xué)和中國人民大學(xué)負(fù)責(zé)開發(fā)數(shù)據(jù)庫管理系統(tǒng)的核心層,中國軟件與服務(wù)總公司和華中理工大學(xué)負(fù)責(zé)研究應(yīng)用開發(fā)工具,各單位分工合作,聯(lián)合研制出了具有自主版權(quán)的實(shí)用關(guān)系數(shù)據(jù)庫管理系統(tǒng)COBASE。
源起PBASE
整體技術(shù)水平達(dá)到國際先進(jìn)水平
在王珊教授的帶領(lǐng)下,中國人民大學(xué)以COBASE為核心,以各種數(shù)據(jù)庫體系結(jié)構(gòu)為依托,先后開發(fā)出教學(xué)數(shù)據(jù)庫Easybase,嵌入式移動數(shù)據(jù)庫系統(tǒng)“小金靈”,以及高適應(yīng)性并行數(shù)據(jù)庫系統(tǒng)PBASE。
1996年并行數(shù)據(jù)庫管理系統(tǒng)PBASE鑒定會
PBASE作為國內(nèi)第一個并行數(shù)據(jù)庫管理系統(tǒng)原型系統(tǒng),實(shí)現(xiàn)了一個完整的高性能并行處理方案,具有鮮明的獨(dú)創(chuàng)性,整體技術(shù)水平達(dá)到國際先進(jìn)水平。在基于線索的并行操作算法、并行封裝等關(guān)鍵技術(shù)上達(dá)到國際領(lǐng)先水平。
然而,對于市場而言,突破核心技術(shù)并不意味著可以商用,PBASE依舊不是一個產(chǎn)品,在數(shù)據(jù)庫編程接口,包括SQL、PLSQL、JDBC、ODBC等多個領(lǐng)域,差距尤其巨大。
誕生KingbaseES
國產(chǎn)大型通用關(guān)系型數(shù)據(jù)庫產(chǎn)品
為更好地將科研成果進(jìn)行市場化轉(zhuǎn)換,1999年,在王珊教授的帶領(lǐng)下,人民大學(xué)一批從事數(shù)據(jù)庫研發(fā)的學(xué)者創(chuàng)立了人大金倉公司。
人大金倉融合Easybase和“小金靈”的科研成果,繼承PBASE自主創(chuàng)新的基因,以其獨(dú)立自主的研發(fā)團(tuán)隊(duì)、技術(shù)路線和產(chǎn)品規(guī)劃,在產(chǎn)研一體化的基礎(chǔ)上,成功研制出了大型通用關(guān)系型數(shù)據(jù)庫KingbaseES第一代產(chǎn)品,也為之后產(chǎn)品自主創(chuàng)新之路奠定下夯實(shí)的基礎(chǔ)。
KingbaseES在誕生之初就對標(biāo)國際頂級的數(shù)據(jù)庫產(chǎn)品,希望有朝一日能夠超越對手,成為世界級的偉大產(chǎn)品!
偉大的產(chǎn)品并不是生而偉大
而是在實(shí)戰(zhàn)中“進(jìn)化”而來的
在基礎(chǔ)軟件領(lǐng)域,沒有任何一位產(chǎn)品的設(shè)計(jì)者能夠預(yù)判可能會遇到的所有場景和需求,提前考慮到所有的問題。
真實(shí)的情況是——總是會遇到問題,再針對問題設(shè)計(jì)出合理的解決方案。既要考慮短期的成本和難度,又要考慮長期的發(fā)展。即使如Oracle這樣偉大的產(chǎn)品也是經(jīng)過了多年的實(shí)戰(zhàn)打磨才達(dá)到今天的模樣。
因此,做數(shù)據(jù)庫產(chǎn)品是一個緩慢的、持續(xù)的過程,需要在千行百業(yè)的實(shí)踐中通過不斷的迭代去累積產(chǎn)品的能力,同時在迭代的過程中,還要保持產(chǎn)品的穩(wěn)定和易維護(hù),這樣才能使產(chǎn)品在一個“正循環(huán)”的體系中不斷正向演進(jìn)。
知易行難,道理很簡單,但是實(shí)踐中卻充滿了挑戰(zhàn)。為了達(dá)成這個目標(biāo),人大金倉在二十多年的發(fā)展中通過以下三個方面的構(gòu)建了產(chǎn)品的“正循環(huán)”體系,使得人大金倉的產(chǎn)品能夠跟隨市場需求的變化不斷演進(jìn)和增強(qiáng)。
產(chǎn)品架構(gòu)能力:實(shí)現(xiàn)可持續(xù)迭代、避免低水平重復(fù)的關(guān)鍵
對于數(shù)據(jù)庫軟件而言,隨著需求的增多、功能的累積,代碼的復(fù)雜度也在不斷增加。隨之而來的,是代碼維護(hù)難度的不斷增加,直到某一天超出人力所能掌控的地步。代碼如果極難維護(hù),那么此時產(chǎn)品將難以再繼續(xù)迭代和發(fā)展,只能推倒重來。
如果產(chǎn)品要做到可持續(xù)迭代,就必須將復(fù)雜度控制在人力可掌控的范圍內(nèi)。而要做到這一點(diǎn),就需要設(shè)計(jì)出符合“高內(nèi)聚、低耦合”原則的體系架構(gòu),合理地劃分模塊,同時明確各個模塊的邊界,避免相互交叉,避免產(chǎn)生“牽一發(fā)而動全身”的情況,把問題控制在各個模塊內(nèi)部。
而要設(shè)計(jì)出來這樣的架構(gòu),需要產(chǎn)品架構(gòu)師對上層應(yīng)用場景、對數(shù)據(jù)庫基礎(chǔ)理論知識有深刻的認(rèn)識和豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),并在迭代過程中不斷對架構(gòu)進(jìn)行重構(gòu)和優(yōu)化。
只有設(shè)計(jì)出滿足“高內(nèi)聚、低耦合”原則的優(yōu)秀架構(gòu),產(chǎn)品的復(fù)雜度才能控制在人力可掌控的范圍內(nèi),產(chǎn)品才能做到易維護(hù)。只有做到易維護(hù),產(chǎn)品能力才能不斷提升。
這就類似于蓋一座100層的高樓,如果結(jié)構(gòu)設(shè)計(jì)的不好,蓋到三層樓時就開始搖晃,那么只能推倒重來。如果始終設(shè)計(jì)不出好的結(jié)構(gòu),那么就只能在三層樓不斷地低水平重復(fù)。這樣的情況下,這座100層的高樓將永遠(yuǎn)無法建成。
從1999年開始,人大金倉的核心架構(gòu)師們就不斷在產(chǎn)品架構(gòu)上進(jìn)行研究和投入,去學(xué)習(xí)和吸收國外優(yōu)秀產(chǎn)品的設(shè)計(jì)思路、架構(gòu)設(shè)計(jì)的技巧,并不斷對比各種國外數(shù)據(jù)庫產(chǎn)品架構(gòu)設(shè)計(jì)的差異和優(yōu)缺點(diǎn),同時在項(xiàng)目實(shí)戰(zhàn)中針對不同場景的需求去完善架構(gòu)設(shè)計(jì)。在二十多年的時間里,人大金倉的產(chǎn)品架構(gòu)設(shè)計(jì)能力得到了極大提升,具備了打造一款世界級產(chǎn)品的架構(gòu)設(shè)計(jì)能力。這也確保了KingbaseES能夠在市場需求中不斷地提升能力,實(shí)現(xiàn)可持續(xù)發(fā)展!
研發(fā)組織管理能力:專業(yè)化分工、快速追趕國際頂流
人大金倉成立之時,國外數(shù)據(jù)庫企業(yè)已經(jīng)發(fā)展了超過20年的時間,從某種程度上說,“出發(fā)即已落后”,因此“追趕”成為金倉的首要任務(wù)。而要追趕對手,需要有大規(guī)模的研發(fā)能力。只有比對手跑得更快、產(chǎn)出更多,才有可能追趕上對手,才能獲得超越的機(jī)會!
一路走來,人大金倉的研發(fā)體系從最初的師傅帶徒弟的手工作坊模式,逐步發(fā)展形成為按照專業(yè)化分工打造的流程化、自動化、工具化的,面向大規(guī)模研發(fā)團(tuán)隊(duì)并行工作的研發(fā)管理體系。
就像特斯拉公司能夠大規(guī)模、低成本生產(chǎn)汽車一樣,數(shù)據(jù)庫研發(fā)也需要構(gòu)建類似的體系并輔助各種工具去提高研發(fā)效率,在研發(fā)產(chǎn)出上超過對手。
從無到有,從零到一。人大金倉在吸收外部先進(jìn)經(jīng)驗(yàn)的基礎(chǔ)上打造了具有金倉特色的研發(fā)管理體系及周邊配套的工具,使團(tuán)隊(duì)的研發(fā)效率和產(chǎn)出得到了極大提升,確保了在近幾年面對大規(guī)模需求沖擊時,研發(fā)團(tuán)隊(duì)依然能夠保質(zhì)保量地完成任務(wù),以最短的時間和最低的成本去解決用戶的問題。
這項(xiàng)能力的打造,讓人大金倉速度更快、成本更低地實(shí)現(xiàn)了產(chǎn)品新能力的構(gòu)建。在日積月累的過程中,不斷縮小了與國外領(lǐng)先者的差距。
質(zhì)量保證能力:測試自動化工廠是最強(qiáng)的藍(lán)軍
對于數(shù)據(jù)庫這樣的基礎(chǔ)軟件而言,穩(wěn)定性是第一位的,但由于國產(chǎn)數(shù)據(jù)庫產(chǎn)品處于“追趕”過程中需要快速的修改代碼進(jìn)行迭代,這就和“穩(wěn)定性”的目標(biāo)產(chǎn)生了沖突——因?yàn)橹灰薷拇a就會產(chǎn)生bug,這是無法避免的。
如何在快速迭代的同時,還能殺死bug帶來穩(wěn)定,成為必須要解決的問題。
在產(chǎn)品修改代碼后,對產(chǎn)品所有功能進(jìn)行全量回歸測試,成為最終質(zhì)量把關(guān)的手段。但全量回歸測試帶來的是巨大的工作量,如果靠手工操作,一次全量回歸可能需要幾個月的時間,時間成本十分高昂,也無法滿足客戶的時間需求。
在這樣的情況下,構(gòu)建全量回歸測試的自動化工廠成為解決問題的關(guān)鍵。所謂自動化工廠,就是測試工程師通過開發(fā)代碼來模擬各種訪問數(shù)據(jù)庫產(chǎn)品功能的操作,同時模擬各種可能產(chǎn)生故障的極限場景,并由服務(wù)器自動運(yùn)行這些測試用例,實(shí)現(xiàn)對數(shù)據(jù)庫產(chǎn)品所有功能在所有場景下的全部回歸。
在二十多年的時間里,人大金倉組建了一支強(qiáng)有力的自動化測試團(tuán)隊(duì),他們是金倉的藍(lán)軍。他們通過不斷制造各種故障場景來考驗(yàn)KingbaseES這支紅軍,通過藍(lán)軍的千錘百煉,使得產(chǎn)品在出廠之前得到充分檢驗(yàn),避免重復(fù)錯誤的產(chǎn)生。這項(xiàng)核心能力的打造,確保了KingbaseES產(chǎn)品在快速迭代的同時還能保持良好的穩(wěn)定性,進(jìn)一步增強(qiáng)了用戶使用KingbaseES的信心。
深入行業(yè),在實(shí)戰(zhàn)中成長
每一行代碼皆可掌控
坐在家里永遠(yuǎn)設(shè)計(jì)不出來好產(chǎn)品,只有深入行業(yè)、深入用戶才能切實(shí)了解用戶使用的真實(shí)場景和需求。產(chǎn)品代碼寫得好不好,質(zhì)量高不高,最終要在實(shí)踐中去驗(yàn)證和提升。
從2008年國家電網(wǎng)的核心電力調(diào)度系統(tǒng)D5000開始,KingbaseES就開始了這場苦修之旅。金倉的工程師們花費(fèi)了一年的時間,把D5000從Oracle數(shù)據(jù)庫遷移到了金倉數(shù)據(jù)庫中,系統(tǒng)中5000多個存儲過程的遷移,Oracle語言兼容能力得到了極大的提升!
2016年,金倉數(shù)據(jù)庫在光大銀行對公負(fù)債和中間業(yè)務(wù)系統(tǒng)中開始應(yīng)用。在這個過程中,要解決的問題不只是遷移,同時還要解決用戶遇到風(fēng)險(xiǎn)可回退的問題,為此開始設(shè)計(jì)雙軌并行的策略——金倉的Kingbase FlySync產(chǎn)品也因此誕生!
2020年,中國移動網(wǎng)間結(jié)算系統(tǒng)上線,作為金倉在巨型運(yùn)營商的第一個核心應(yīng)用,這個過程讓團(tuán)隊(duì)感受到了什么是運(yùn)營商級別的要求,什么是“割接”?金倉的產(chǎn)品能力在細(xì)節(jié)方面還要有哪些增強(qiáng)?
2022年,某市14號線列車監(jiān)控系統(tǒng)上線,金倉為此設(shè)計(jì)了雙網(wǎng)冗余的策略,以及跨網(wǎng)切換的模式,使金倉的產(chǎn)品能力得到了進(jìn)一步的提升。
醫(yī)療、金融、交通、能源、國防……隨著各行各業(yè)的深入,也帶來了各種需求和場景的涌入,使得金倉的產(chǎn)品能力能到充分驗(yàn)證,進(jìn)而形成了產(chǎn)品持續(xù)優(yōu)化的正反饋機(jī)制。所謂“每一行代碼皆可掌控”,正是金倉在實(shí)戰(zhàn)中真刀真槍歷練后的結(jié)果!只要給金倉行業(yè)實(shí)踐的機(jī)會,就沒有解決不了的問題。
跟跑、并跑、領(lǐng)跑的產(chǎn)品策略
后發(fā)先至
成為數(shù)字時代標(biāo)準(zhǔn)的制定者
“一流的企業(yè)做標(biāo)準(zhǔn)”,在數(shù)據(jù)庫行業(yè),行業(yè)的事實(shí)標(biāo)準(zhǔn)是由國外的先進(jìn)企業(yè)制定的,國產(chǎn)數(shù)據(jù)庫產(chǎn)品多在遵從國外數(shù)據(jù)庫制定的標(biāo)準(zhǔn)?為什么不脫離國外的標(biāo)準(zhǔn),自建新的標(biāo)準(zhǔn)體系呢?
在數(shù)據(jù)庫領(lǐng)域,事實(shí)標(biāo)準(zhǔn)究竟是什么?事實(shí)標(biāo)準(zhǔn)本質(zhì)上是國外數(shù)據(jù)庫企業(yè)在解決客戶問題時形成的解決方案,這些解決方案經(jīng)過長期的驗(yàn)證打磨逐漸成為了最佳實(shí)踐,進(jìn)而在軟件開發(fā)商和用戶側(cè)的認(rèn)知上形成了共識,成為了成本最低、效果最好的優(yōu)選路徑。
所以標(biāo)準(zhǔn)是各種試錯和總結(jié)之后形成的最優(yōu)路徑共識。如果要超越對手,就需要先學(xué)習(xí)對手,走一條跟跑、并跑、最終領(lǐng)跑的道路!
跟跑,在產(chǎn)品功能上兼容并蓄,學(xué)習(xí)國外各種數(shù)據(jù)庫已經(jīng)形成的最佳實(shí)踐,減少試錯的時間和成本,快速縮短與國外產(chǎn)品的差距。
并跑,在國外數(shù)據(jù)庫也未觸及到的數(shù)字化新場景和新領(lǐng)域中探索解決問題的最佳實(shí)踐,進(jìn)而形成產(chǎn)品能力和事實(shí)標(biāo)準(zhǔn)。
領(lǐng)跑,在中國數(shù)字化的無人區(qū),探索和構(gòu)建新的滿足數(shù)字化要求的新能力,最終形成“新標(biāo)準(zhǔn)”!
國產(chǎn)數(shù)據(jù)庫產(chǎn)業(yè)發(fā)展史上的
金倉印記
四十余年的技術(shù)深耕,二十多年的產(chǎn)業(yè)發(fā)展,人大金倉始終堅(jiān)持原始創(chuàng)新和兼收并蓄相結(jié)合的產(chǎn)品發(fā)展策略,構(gòu)建了支撐產(chǎn)品可持續(xù)發(fā)展的正循環(huán)體系,為人大金倉“進(jìn)化”出世界級的中國數(shù)據(jù)庫產(chǎn)品奠定了堅(jiān)實(shí)基礎(chǔ)!
在百年未有之大變局的當(dāng)下,人大金倉作為數(shù)據(jù)庫領(lǐng)域國家隊(duì)從未止步。無論經(jīng)歷多少風(fēng)雨和磨難,金倉都不會放棄初心和使命!KingbaseES也將乘勢而上,奮勇前行,終將超越對手,將中國數(shù)據(jù)庫產(chǎn)品立于世界之巔,成為世界卓越的數(shù)據(jù)庫產(chǎn)品與服務(wù)提供商!