國(guó)產(chǎn)數(shù)據(jù)庫(kù)40年演變,這3個(gè)坎一直跨不過(guò)去……
?其實(shí)剛開始我今天的題目想寫為“國(guó)產(chǎn)數(shù)據(jù)庫(kù),最想吐槽的問(wèn)題”,不過(guò)怕太傷了廣大搞國(guó)產(chǎn)數(shù)據(jù)庫(kù)產(chǎn)品的朋友的心,于是,把題目改的柔和一點(diǎn)。這些年國(guó)產(chǎn)數(shù)據(jù)庫(kù)的發(fā)展十分迅猛,在外部需求的推動(dòng)下,技術(shù)、市場(chǎng)、服務(wù)等各方面都取得了較大的提升。不過(guò)不幸的是,我們的數(shù)據(jù)庫(kù)產(chǎn)業(yè)不是從0起步,前面還有Oracle這樣的巨頭在給我們打著樣子。
前幾天參加了一個(gè)活動(dòng),活動(dòng)中有個(gè)環(huán)節(jié),大家可以針對(duì)國(guó)產(chǎn)數(shù)據(jù)庫(kù)最值得吐槽的地方展開討論,因?yàn)槭情]門會(huì)議,不錄象不寫會(huì)議紀(jì)要,因此參會(huì)的國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商代表、國(guó)外友商代表、產(chǎn)業(yè)界、學(xué)術(shù)界的代表都對(duì)國(guó)產(chǎn)數(shù)據(jù)庫(kù)進(jìn)行了一番吐槽??赡苡信笥芽吹竭@里就知道我今天想要說(shuō)些什么了,因?yàn)槟壳皣?guó)產(chǎn)數(shù)據(jù)庫(kù)和Oracle的差距是全方位的,在技術(shù)上、性能上、可靠性等方面都存在不小的差距,想要吐槽,確實(shí)有很多話題可以講。其實(shí)純粹的吐槽沒(méi)有意義,也無(wú)法幫助我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)產(chǎn)業(yè)發(fā)展,所以今天我還是聊幾點(diǎn)大家很容易改進(jìn),但是被大大忽視的問(wèn)題吧。
首先是文檔,文檔是我們的用戶能夠獲得的國(guó)產(chǎn)數(shù)據(jù)庫(kù)最為全面和完善的技術(shù)資料,國(guó)外商用數(shù)據(jù)庫(kù)在這方面做的很好。
我們吐槽的國(guó)產(chǎn)數(shù)據(jù)庫(kù)的文檔主要有三個(gè)方面,一方面是種類太少,內(nèi)容覆蓋不全。很多數(shù)據(jù)庫(kù)廠商對(duì)外資料,除了白皮書等小文檔外,只有一份管理手冊(cè),一份開發(fā)人員指南,其他的資料就很少了。這些資料里面雖然覆蓋了絕大多數(shù)的和數(shù)據(jù)庫(kù)產(chǎn)品相關(guān)的內(nèi)容,但是很多地方寫的都十分模糊,大體上只是交代了一個(gè)概念,很多實(shí)際操作部分的細(xì)節(jié)都不夠全面。實(shí)際內(nèi)容和Oracle官方的concept以及2 DAYS系列的內(nèi)容相當(dāng)。實(shí)際上,如果要讓用戶把數(shù)據(jù)庫(kù)用好,很多文檔都需要進(jìn)一步展開。
深度不夠,說(shuō)的和上面的問(wèn)題其實(shí)是一個(gè)問(wèn)題,因?yàn)闆](méi)有展開說(shuō),所以不僅廣度不夠,深度肯定也不夠,沒(méi)有把問(wèn)題說(shuō)的很清楚很明晰,因此對(duì)運(yùn)維中遇到的問(wèn)題,以及運(yùn)維人員通過(guò)文檔理解數(shù)據(jù)庫(kù)產(chǎn)品都幫助不大。
第三點(diǎn)不準(zhǔn)確就完全是我們的態(tài)度問(wèn)題了,很多文檔里描述的內(nèi)容不夠準(zhǔn)確,甚至有些官方文檔里某些命令的參數(shù)都和當(dāng)前版本存在差距。這種對(duì)于Oracle來(lái)說(shuō), 被成為文檔bug,這種BUG如果多了,就說(shuō)明我們的數(shù)據(jù)庫(kù)廠商對(duì)文檔不是很重視了。
還有些數(shù)據(jù)庫(kù)廠商手頭是有不錯(cuò)的文檔的,但是在任何公開的場(chǎng)合都拿不到,我們只能通過(guò)一些私人關(guān)系,從線下獲得。實(shí)際上也大可不必,能夠十分開放的把自己能提供的技術(shù)資料都提供給客戶以及第三方服務(wù)廠商,對(duì)于建設(shè)一個(gè)良好的國(guó)產(chǎn)數(shù)據(jù)庫(kù)應(yīng)用服務(wù)生態(tài)十分關(guān)鍵。
和我們的友商,相比,在這方面我們做的確實(shí)還很不夠。比如Oracle,除了正式的官方文檔外,還提供了大量的最佳實(shí)踐文檔,這些文檔在Oracle.com和metalink上都可以找到,此外Oracle還針對(duì)高可用提供了大量的MAA(最大可用架構(gòu))的實(shí)踐性的文檔。這方面,IBM也提供了大量的redbook,供客戶參考。下面幾頁(yè)是Oracle11g這個(gè)十多年前的數(shù)據(jù)庫(kù)產(chǎn)品的官方文檔中為了讓用戶快速掌握11.2產(chǎn)品的文檔清單,這僅僅是11.2這個(gè)版本產(chǎn)品文檔中的一部分,就已經(jīng)如此豐富了:
整個(gè)文檔近400M,特別是Oracle Concepts這份文檔,可以讓從初學(xué)者到大師都受益匪淺。可以讓Oracle DBA們理解Oracle的每個(gè)組件的技術(shù)思想,理解一些監(jiān)控指標(biāo)和等待事件的內(nèi)在原理。
我想,國(guó)產(chǎn)數(shù)據(jù)庫(kù)在技術(shù)上很快縮短與Oracle的差距,實(shí)現(xiàn)全面超越還是很困難的,我們?cè)诩夹g(shù)等方面目前能夠做的跟多的還是在某些小領(lǐng)域、小功能上,特別是在和國(guó)內(nèi)典型應(yīng)用場(chǎng)景緊密適配上的彎道超車。不過(guò)我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)和Oracle相比,其差距是全面的,在文檔這樣的一些環(huán)節(jié)上,我們要提升的地方,我們可以提升的地方就十分多。
首先是,我們能不能學(xué)習(xí)Oracle,也出一份自己數(shù)據(jù)庫(kù)的concepts的文檔,能從自己數(shù)據(jù)庫(kù)的架構(gòu)、原理、功能的技術(shù)核心說(shuō)起,把自己的數(shù)據(jù)庫(kù)介紹透,而不要遮遮掩掩的??赡苡行S家怕自己的Concepts出來(lái)后會(huì)泄露自己企業(yè)的核心機(jī)密,其實(shí)大家也大可不必?fù)?dān)心。國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商最大的對(duì)標(biāo)對(duì)象-Oracle都可以把每一個(gè)版本的Concepts講的如此清晰,我們還有啥核心機(jī)密怕別人看到呢?
第二個(gè)我們十分需要國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商能夠在文檔中講清楚的是參數(shù)和監(jiān)控指標(biāo)的含義?,F(xiàn)在我們遇到一些數(shù)據(jù)庫(kù)參數(shù)的調(diào)整,調(diào)整后會(huì)產(chǎn)生什么樣的效果或影響,會(huì)對(duì)數(shù)據(jù)庫(kù)的哪些行為產(chǎn)生影響,調(diào)整的建議是什么,這些方面,在官方的文檔中很難看到一些蛛絲馬跡,很多時(shí)候只能通過(guò)參數(shù)名稱來(lái)進(jìn)行猜測(cè),這對(duì)于國(guó)產(chǎn)數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行與運(yùn)維,是十分不利的。
對(duì)于一些監(jiān)控指標(biāo)、出錯(cuò)信息的含義也是如此。我們的數(shù)據(jù)庫(kù)廠家能不能針對(duì)自己的數(shù)據(jù)庫(kù)的一些監(jiān)控指標(biāo)走出詳細(xì)的描述,包括這些指標(biāo)的變化特點(diǎn),以及和一些主要的數(shù)據(jù)庫(kù)特性之間的關(guān)系,這方面能不能在《運(yùn)維優(yōu)化手冊(cè)》這樣的文檔中做出較為詳細(xì)的描述呢?哪怕我們無(wú)法對(duì)所有的指標(biāo)都做出很詳細(xì)的描述,那么能不能針對(duì)一些常見的,較為重要的指標(biāo),提供一份參考呢?哪怕只是做到《Oracle Reference》這樣的程度也是好的。
談到文檔,我們更羨慕Oracle的Metalink,這個(gè)寶庫(kù)我已經(jīng)使用了20多年了,至今還經(jīng)常會(huì)用到。我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)能不能也豐富一下我們的知識(shí)庫(kù),或者說(shuō)服務(wù)支持網(wǎng)站呢?實(shí)際上Oracle的Metalink中的大多數(shù)資料都來(lái)自于一個(gè)個(gè)的服務(wù)請(qǐng)求(SR),一個(gè)典型的服務(wù)請(qǐng)求處理完之后,就有專門的團(tuán)隊(duì)復(fù)雜整理,把有代表性的服務(wù)請(qǐng)求整理成MOS的Notes,發(fā)布在Metalink上,這樣經(jīng)過(guò)多年的積累,Metalink的內(nèi)容就十分豐富了??蛻糍IOracle的標(biāo)服,能夠獲得MOS的SR的快速響應(yīng),能夠在Metalink上查找自己想要的資料、下載補(bǔ)丁,雖然花錢renew的時(shí)候有點(diǎn)心疼,不過(guò)總的來(lái)說(shuō),花了錢還是能見到東西的。
我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)是不是也能夠?qū)W習(xí)Metalink,建設(shè)一個(gè)帶有豐富知識(shí)庫(kù)的服務(wù)支持網(wǎng)站呢?其實(shí)要做的事情一方面是快速響應(yīng)客戶的各種服務(wù)請(qǐng)求,另外一方面是有專門的人員來(lái)整理SR,從中抽象出典型的知識(shí)和典型的案例。我想只要堅(jiān)持做下去,有兩三年時(shí)間,你們和國(guó)內(nèi)友商之間的服務(wù)水平的差距就能很好的體現(xiàn)出來(lái)了,自己的數(shù)據(jù)庫(kù)產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力也會(huì)大幅提高了。
今天談的這個(gè)和文檔相關(guān)的話題,實(shí)際上是我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商完全能夠做好,但是并沒(méi)有花精力區(qū)做的事情。這個(gè)事情實(shí)際上也不是我們的廠商不愿意去做,而是缺乏這方面的人才。要想做好這樣的事情,必須是有懂自己的數(shù)據(jù)庫(kù),懂友商的數(shù)據(jù)庫(kù),懂?dāng)?shù)據(jù)庫(kù)運(yùn)維、優(yōu)化等方面的人才參與進(jìn)來(lái)才能做好的,而恐怕在我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商中,做這方面的人都不具備這樣的能力。不過(guò)不管怎樣,我們希望我們的國(guó)產(chǎn)數(shù)據(jù)庫(kù)一天天好起來(lái),也希望有國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商能夠在這方面加大投入。?