回趟老家發(fā)現(xiàn)家里空調(diào)壞了,找了維修師傅看了看,老師傅說有些人家已經(jīng)把變頻空調(diào)折舊換了普通空調(diào)了。這個(gè)結(jié)果倒是有點(diǎn)出乎我的意外了,技術(shù)更好的變頻空調(diào)反而適應(yīng)不了相對(duì)不穩(wěn)定的電網(wǎng),普通空調(diào)反而更皮實(shí)。在鄉(xiāng)下這樣的應(yīng)用場(chǎng)景中,技術(shù)相對(duì)落后的普通空調(diào)居然完勝先進(jìn)的變頻空調(diào)。
仔細(xì)想想,在數(shù)據(jù)庫領(lǐng)域,似乎也是如此。30多年前,當(dāng)時(shí)技術(shù)上相對(duì)簡(jiǎn)單或者說簡(jiǎn)陋的Oracle在與一系列架構(gòu)水平更高的產(chǎn)品PK中完勝了幾乎所有對(duì)手,獲得了全面的勝利,而一些技術(shù)上頗有特色的數(shù)據(jù)庫產(chǎn)品反而都折戟沉沙了,這種勝利在早期大多數(shù)是來自于其使用門檻較低。數(shù)據(jù)庫最終還是要拿來用的,而不是為了PK技術(shù)的先進(jìn)性或者某些領(lǐng)域的領(lǐng)先性的。
我和很多搞數(shù)據(jù)庫的朋友聊天的時(shí)候,總是聽到他們談數(shù)據(jù)庫的架構(gòu)如何先進(jìn),使用了什么先進(jìn)的技術(shù),有哪些方面的獨(dú)創(chuàng)技術(shù)。但是很少聽到他們談自己的數(shù)據(jù)庫產(chǎn)品和客戶應(yīng)用場(chǎng)景適配方面的優(yōu)勢(shì),似乎這些問題都是和應(yīng)用層接近的,沒啥技術(shù)難度,不太值得他們關(guān)注。實(shí)際上這樣的數(shù)據(jù)庫開發(fā)者與用戶完全脫節(jié)了,用戶和數(shù)據(jù)庫廠商對(duì)數(shù)據(jù)庫的需求完全是不同的,數(shù)據(jù)庫廠商眼中的先進(jìn)性與用戶所需要的方便省心地使用數(shù)據(jù)庫的需求出現(xiàn)了維度偏差,用戶其實(shí)不關(guān)心,甚至不懂?dāng)?shù)據(jù)庫廠商自己覺得很HIGH的先進(jìn)性。一個(gè)僅僅知道寫SQL的用戶是不會(huì)去關(guān)注SQL執(zhí)行引擎里是否使用了向量計(jì)算,他們只會(huì)關(guān)心自己的SQL是不是能夠又快又準(zhǔn)確的獲得結(jié)果。在最近這兩年的數(shù)據(jù)庫產(chǎn)品的發(fā)布會(huì)上,我很少看到某個(gè)數(shù)據(jù)庫廠商宣稱更好的支撐了某些用戶應(yīng)用場(chǎng)景,而都是介紹一些用戶都不大明白的高大上的技術(shù)。我不太清楚他們請(qǐng)來的最終用戶GET到了這些新特性沒有,搞了多年數(shù)據(jù)庫的我,也需要邊看邊翻百度才能完全搞清楚這些對(duì)我而言還有點(diǎn)“新”的名詞。
前陣子在幫一個(gè)用戶測(cè)試一個(gè)數(shù)據(jù)庫國產(chǎn)化改造項(xiàng)目,某數(shù)據(jù)庫不說最后如何,光是把數(shù)據(jù)從Oracle遷移到目標(biāo)國產(chǎn)數(shù)據(jù)庫中就經(jīng)歷了十分痛苦的過程。測(cè)試時(shí)遷移的數(shù)據(jù)量不過幾個(gè)TB,而用戶的目標(biāo)數(shù)據(jù)庫有近百TB,對(duì)于今后利用廠家提供的遷移完整的數(shù)據(jù)庫,基本上已經(jīng)把用戶勸退了。實(shí)際上以這家企業(yè)的規(guī)模與技術(shù)能力,寫出一個(gè)高水平的數(shù)據(jù)庫遷移工具來并不困難,只是他們并沒有把業(yè)務(wù)重點(diǎn)放到這種體現(xiàn)不出技術(shù)水平的地方而已。還有一些新銳數(shù)據(jù)庫公司,推出了架構(gòu)設(shè)計(jì)與理念都十分新穎,創(chuàng)意滿滿的產(chǎn)品出來,各項(xiàng)技術(shù)指標(biāo)都十分亮眼。不過如果某些用戶真的選擇了這些產(chǎn)品,那么隨之而來的,一定不會(huì)是很好的使用體驗(yàn)。因?yàn)槌怂^的創(chuàng)新滿滿的核心,其輔助工具簡(jiǎn)陋得令人發(fā)指。這也難怪,因?yàn)槠髽I(yè)規(guī)模本來就不大,根本沒有資源往這些不太重要的地方投入寶貴的研發(fā)資源。
這些技術(shù)含量很低,但是個(gè)性化需求十分復(fù)雜的“小”工具就如此不重要嗎?答案肯定是否定的,今年年初我和一個(gè)數(shù)據(jù)庫廠商交流的時(shí)候,問他們目前研發(fā)主要投入在哪些方面。我以為我聽到的回答應(yīng)該是SQL引擎、CBO優(yōu)化器、存儲(chǔ)引擎、Oracle兼容性等比較核心的地方。沒想到他們的回答令我十分意外,他們的研發(fā)負(fù)責(zé)人說,目前為了盡快改進(jìn)用戶現(xiàn)場(chǎng)反饋回來小的需求,他們接近一半的研發(fā)人員都投入到了周邊小工具和小功能的新需求上去了。今年信創(chuàng)需求十分強(qiáng)烈,為了讓用戶把數(shù)據(jù)庫用爽了,他們的主要研發(fā)力量在不斷地優(yōu)化這些看上去技術(shù)含量不高,但是十分重要的小功能。
我想只有數(shù)據(jù)庫產(chǎn)品真正的被用戶認(rèn)認(rèn)真真的用起來了,我們的數(shù)據(jù)庫研發(fā)人員才會(huì)感受到他們以前無意中的一些偷懶和簡(jiǎn)化處理,就變成了用戶使用時(shí)的痛苦不堪。數(shù)據(jù)庫是要拿來用的,只有真的有大量的用戶在認(rèn)認(rèn)真真的用你的數(shù)據(jù)庫產(chǎn)品了,你才會(huì)知道用戶需要的到底是什么樣的功能吧。