數(shù)據(jù)庫的“輪回”—周而復(fù)始,循環(huán)往復(fù)
原創(chuàng)何謂輪回?
唯物主義云:輪回乃是物質(zhì)的循環(huán)過程,整個過程中能量守恒。
數(shù)據(jù)庫云:輪回就是File到RDBMS到NoSQL的過程。自數(shù)據(jù)庫產(chǎn)生以來,主要經(jīng)歷了四個階段:人工管理階段;文件系統(tǒng)階段;數(shù)據(jù)庫系統(tǒng)階段;高級數(shù)據(jù)庫階段。除去人工管理階段,輪回說,是否說明數(shù)據(jù)庫再次回到文件管理階段?那么這是進化嗎?怎么看都像是在退化,倒退!
記者帶著同樣的疑問,找到了新浪DBA楊海潮先生,他說,人們不斷的權(quán)衡,用什么能更好的滿足自身的業(yè)務(wù)需求;也不斷的探索,去選擇合適自己的存儲和檢索方式,而思索這些問題的主要依賴即自身的業(yè)務(wù)。任何一種技術(shù)都是不分好壞的,而是在于那種方式更適合自己。這種“輪回”看似回到了原點,思想?yún)s大不相同,確實是一種進步。
就像事物的辯證發(fā)展:經(jīng)過兩次否定,出現(xiàn)了三個階段即“肯定-否定-否定之否定”,形成一個周期。事物的這種否定之否定的過程,從內(nèi)容上看,是自己發(fā)展自己、自己完善自己的過程。從形式上看,是螺旋式上升或波浪式前進,方向是前進上升的,道路是迂回曲折的,是前進性與曲折性的統(tǒng)一。
視覺中國潘凡先生說:“所謂的‘輪回’是形式的輪回,是形式的周而復(fù)始。因為用File和NoSQL的一個共同特點,即算法和數(shù)據(jù)分離比較清楚。如果單純從字面理解,NoSQL和File一樣,一般都是基于簡單K-V模式獲取數(shù)據(jù),而SQL則需要使用符合規(guī)范的語法去獲取。”
他認為,從背后的含義上看,簡單的事情如果規(guī)模上去了,就會帶出另一種復(fù)雜度,原先的***方式反而超出其適應(yīng)范圍了,也許就要回歸到最初的原點重新考慮,所謂的螺旋式上升。
進一步他舉例解釋說:“最早我們作一個簡單的BBS,是沒有關(guān)系數(shù)據(jù)庫,我們可能會把某個用戶的資料都存放于一個文件中。當獲取一個用戶的信息時候,根據(jù)它的ID讀取對應(yīng)的文件名。你可能需要自己作一些索引表,某個字段的一些數(shù)據(jù)設(shè)置一個倒排表,通過這個索引表找到主文件,再讀取出來。但是帶來的問題,就是信息的冗余,以及多維度檢索的復(fù)雜性。于是,SQL引擎替代解決了這些很多問題,條件是你需要按照標準書寫SQL。而目前NoSQL的一個特點就是,但是并發(fā)和數(shù)據(jù)量都非常大,超出了SQL數(shù)據(jù)庫的最初設(shè)計的***適應(yīng)范圍,因此分庫,分表的方案也就來解決這種問題。而NoSQL的大部分產(chǎn)品,則干脆簡化模型,將其分解為單獨的K-V模式,模式單一,反而可以優(yōu)化。也許這種實現(xiàn)形式和早前的File模式有點相似吧。”
但是,依舊如同事物的辯證發(fā)展,在一次訪談中一位不愿具名的專家這樣對記者說:“現(xiàn)在的主流依舊是RDBMS,至少相當一段時間時間內(nèi),關(guān)系型數(shù)據(jù)庫應(yīng)該還是主流應(yīng)用。”不可否認,現(xiàn)階段關(guān)系型數(shù)據(jù)庫是主流,但是,事物總是要發(fā)展的就像是File被RDBMS多替代的時候一樣。上升是趨勢,轉(zhuǎn)變需要過程。
輪回之盤已經(jīng)轉(zhuǎn)動,即使很慢,即使肉眼不可見,即使我們經(jīng)常忽略,但是它依舊在發(fā)生。但是我們也要注意到此輪回非彼輪回,它是輪回,貌似回到原點;它也不是單純的輪回,因為它提升了自己。佛教云:六道輪回,即他們認為一切有生命的東西,如不尋求“解脫”,就永遠在“六道” 中生死相續(xù),無有止息。佛曰:只可意會不可言傳。
【編輯推薦】