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