天天看點

NoSQL技術:MongoDB和Riak的理性對比

目前在網上關于NoSQL的讨論依舊火熱,不同的觀點往往能夠碰撞出激情的火花。前不久一條關于MongoDB的文章讓10gen的老大都親自站出來澄清事實,雖然最終證明該文章是一個惡作劇,但是網上圍繞MongoDB的争論卻逐漸多了起來。最近看到一篇關于MongoDB與Riak 的對比文章,比之前的文章寫得更具建設性,沒有太多的技術細節。作者是來自Basho(Riak的公司)的Sean Cribbs。我想這樣的文章對于NoSQL技術愛好者來說也應該值得一看,文章節選如下:

  許多人習慣将MongoDB和Riak作為競争對手。但在現實中,兩款産品卻沒有什麼共同之處。那麼為什麼要将它們倆放在一起讨論呢?我個人覺得這是因為MongoDB和Riak的目标使用者群是一樣的,都是Web應用開發人員。是以我們在這裡來看一下這兩款産品究竟有那些不同,一方面讓大家更加了解相關的技術,另一方面也希望能夠緩和目前關于MongoDB和Riak的争論。

  如果有人問我為什麼要使用MongoDB的話,我認為主要有兩點:

  ①MongoDB很快。盡管使用者對于持久性以及全局寫鎖頗有微詞,這是設計的原因無法解決。但是MongoDB的讀寫延遲都是非常低的,為什麼?因為它們大部分是在記憶體中完成(通過mmap)。

  ②MongoDB的開發者API非常友好。我認為這是最大的優勢。盡管在投入到生産環境中之前,開發者還要考慮很多,但是他們喜歡輕結構的文檔。

  相反地,Riak的長處可能對于運維人員來說更具吸引力,或者有相關經驗的開發人員:

  ①Riak在核心進行分布和複制,沒有特别的節點或者服務運作進行橫向擴充,啟動并連接配接的每一個節點在整個叢集中所起的作用都是一樣的。

繼續閱讀