程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Digg與Reddit棄用MySQL 投奔NoSQL陣營

Digg與Reddit棄用MySQL 投奔NoSQL陣營

編輯:MySQL綜合教程

現在看來NoSQL陣營的壯大,是不可避免的事實。BKJIA之前也曾報道過《雲計算時代NoSQL當道 關系數據庫日薄西山》。不過關系數據庫究竟什麼時候退出,還是一個未知數。

Digg和Reddit在這個月都宣布了將轉向Cassandra ,因為MySQL對他們來說伸縮性不夠了。一些人認為MySQL+memchche不再是事實上的伸縮解決方案了。

Digg在去年九月宣布了他們轉向Cassandra的計劃,而這一過程在這個月完成了。仔細比對了其它項目——HBase,Hypertable,Tokyo Cabinet/Tyrant,Voldemort,以及Dynomite——,他們最終選擇了Cassandra,出於以下的考慮:

每個系統都有它自己的強項和弱項,但是Cassandra綜合了各個方面。它提供了面向列的數據存儲,因此這相比純粹的key/value存儲又更結構化一些。它通過分布式高可用的點對點集群來運作。盡管目前它的核心功能還有一些欠缺,但相較於其它方案而言,它更接近我們想要的。

Digg幾乎重建了整個基礎設施,跳出了LAMP棧。主要的起因是MySQL,如同任何其它的SQL數據庫一樣,它是為讀取而作的優化,而不能很好的處理寫入:

我們不再使用用MySQL的主要動機,是因為要在一個快速增長看不到頭的數據集上,構建一個高性能密集寫入的應用越來越困難了。這種增長迫使我們使用水平和垂直的分區策略,這就消除了關系型數據所帶來的大部分價值了,同時仍然會產生各種開銷...

隨著我們系統的擴張,跨越多個數據中心的冗余,網絡性能,以及增加容量和無宕機時間的更換失效節點對我們來說就尤為重要。我們計劃繼續使用廉價硬件,並假設失效是平常的。這些都為MySQL增加了難度。

另一個網站,Reddit,曾經出現過memcacheDB相關的問題,一開始他們通過增加更多的RAM來處理,但他們需要一個長久的解決方案是再明顯不過的。他們在十天之內完成了向Cassandra的轉換,在Cassandra開發者和社區的幫助以及EC2在測試和部署Cassandra的實例方面的支持下,只用了一名開發者就做到了。

因為許多重要的網站,比如Facebook或Twitter,都已經在使用或者計劃遷移到Cassandra,一些人聲稱MySQL+memcached作為事實的伸縮性解決方案的時代結束了。Todd Hoff並不認為MySQL將會在即將來到的某個時間消失,但它不會再代表首位的解決方案:

從一個小的角度來看,很清楚MySQL+memcached的時代已經過去了。它會堅持一段時間。舊的技術很少完全的消失。一些人仍在騎馬。一些人還在使用CD。而因特網也不會完全取代電視這種古老的電磁廣播技術,但大多數將會奔向一個新的時代...

我們很清楚MySQL+memcached背後的許多思想都是說到了點子上的,這些都在新的系統裡得到了保留,只是它的實現顯得有點笨重。開發者參與進來,鋪平了缺口,磨掉了稜角,創建了一個新的強健的平台,其本身成為了新生態系統和新時代的根基。

對於Hoff所說的"很清楚MySQL+memcached的時代已經過去了",Mark Atwood表示不同的意見,他認為memcached仍將會長期得到應用:

memcached作為實現伸縮速度的前沿技術這一時代或許"過去"了,但這並不是因為memcached失敗,而是因為另外的技術(並不是替代,而是補充)正在湧現...

但這不會是memcached的終結。可以說,這一高性能的key-value存儲仍將是一個有用的構建模塊,不管是對於其自身,還是作為其它的技術組件的子組件。

我肯定memcache將會繼續演化。將會有更多的實現,更多的局限將會被移除,將會有更多的管理工具,還有更多的系統加上memcached的網絡協議,而一些ORMs框架在構建時就會假設memcached可用,將會有協議方面的特性以及在共享托管和雲環境方面的實現。

Hoff後來在他文章的評論中又說到:"我並不是想說緩存將會消失或者MySQL將會消失。我堅定的相信內存將是新的硬盤這一概念...所過去了的是MySQL與memcached,相輔相成的,作為開發可伸縮系統的默認平台。"

盡管MySQL與memcache仍將會是伸縮性問題的良好解決方案,但已經有新的non-SQL方案產生了,而它們看起來能為超大規模的系統帶來更好的結果。

相關閱讀

NoSQL,意即反SQL運動,是一項全新的數據庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關系型的數據存儲,相對於目前鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。

現今的計算機體系結構在數據存儲方面要求具備龐大的水平擴展性,而NoSQL致力於改變這一現狀。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型數據庫。
NoSQL項目的名字上看不出什麼相同之處,但是,它們通常在某些方面相同:它們可以處理超大量的數據。

這場革命目前仍然需要等待。的確,NoSQL對大型企業來說還不是主流,但是,一兩年之後很可能就會變個樣子。在NoSQL運動的最新一次聚會中,來自世界各地的150人擠滿了CBS Interactive的一間會議室。分享他們如何推翻緩慢而昂貴的關系數據庫的暴政,怎樣使用更有效和更便宜的方法來管理數據。

“關系型數據庫給你強加了太多東西。它們要你強行修改對象數據,以滿足RDBMS relational database management system,關系型數據庫管理系統)的需要,”在NoSQL擁護者們看來,基於NoSQL的替代方案“只是給你所需要的”。

原文標題:Digg and Reddit Have Joined the NoSQL Camp

更多關於數據庫發展的趨勢性報道】

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved