Jdon的作者在08年提過數據庫已死說。文章的標題就是“數據庫已死”。這是一個頗具爭議的標題,乍一看以為數據庫已終結,他是要完全摒棄數據庫。
文中提到:“……隨著用戶的爆發量增長,在某個凌晨醒來時,你發現:數據庫已死。……”。原來作者的意思並非如此。數據庫已死,是指傳統的應用過度地依賴數據庫,給其造成了極大的壓力。數據庫不堪重負而宕機!
原來數據庫不但不能死,還要保證讓他好好活著。數據庫給我們提供了持久化的保證。無論你用什麼高超的技術讓對像在內存中游刃有餘地穿梭,一旦諸如機房斷電、受病毒攻擊這些情況發生,所有在內存中活躍的數據都將煙消雲散!而且內存中的數據無法保證高可靠性。也許你會說,這些情況很少發生,你託管的機房會給你提供穩定的保障。如果你充分認識用戶數據的重要性,你就不能把希望完全寄託在機房,而自己什麼都不去做。
誠然在java的世界,對象運行的中間件服務器很多,板橋的構想很容易實現。但對於php,他也很中肯地認識到“從另外一個方面看:雖然現在PHP號稱走上對象路線,Ruby的鐵軌開始鋪進企業,但是他們的運行環境實則依賴數據的。”
數據庫技術的探索一直在前進,無論是關係數據庫還是對像數據庫。要知道,他的作用就是提供持久化。至於你怎麼用他或者你怎麼構建庫的表結構,自主權在你。你可以用sql語句、利用navicat這類的圖形化工具或者是用ORM技術自動實現。但無論你用哪一種方法,你始終摒棄不了數據庫的作用。就跟你不能脫離操作系統去跑你的應用一樣!我實在搞不明白“既然數據庫已經成為瓶頸,修修補補也無濟於事,不如放棄它,不再依賴它。”句話是什麼意思。這句話的始作傭者如果可以開發一套完全沒有數據庫的web程序來,我叫他substr(“NBA”, 0, -1)!
“數據庫已死”純屬標題黨,引發爭議純屬必然!任何一個完整的web應用,少不了數據庫開發。如果用一條線把一套web應用分割。一面是純OO的開發。這是開發的主體。這部份,設計及開發人員將完全面向應用。另一面是數據庫,他靜靜地躺在這,為持久化做保障。這條分割的線的作用,
就是如何把這兩面聯繫到一塊。這條線的形成會有專人去負責構建.