天天看點

NewSQL體系比Hadoop更具效率

NewSQL體系比Hadoop更具效率

現今,完全放棄傳統關系資料庫并忙于使用新興的NoSQL資料庫可能還不是一個合理的選擇。相反改進後的SQL(結構化查詢語言)系統可能會對一些技術細節進行調整。在8月23日加利福尼亞聖何塞市舉行的NoSQL 2011大會上分布式資料庫公司VoltDB的首席技術官Michael Stonebraker表達了上述的觀點。7 C3 h8 D% b, e2 A: o! D

Stonebraker所在公司本身提供的是基于NewSQL的資料庫軟體。他所倡導的新體系架構比傳統供應商提供的資料庫軟體可承受更大的負載。Stonebraker是Ingres和Postgres資料庫的總設計師。他還是Vertica(面向列資料庫公司)的共同創始人,惠普已在2月份對Vertica進行了收購。( v F- b) P5 J0 a: ?% _- {

相對于NoSQL蓬勃發展的情況基于SQL的關系資料庫系統确實顯得有些死氣沉沉。但這是資料庫廠商的錯,而不是SQL的錯。+ m: w* q" }. k3 {6 g1 x( M

Stonebraker指出,當今大多數商業資料庫軟體已經在市場上存在30年或更長時間。他們的設計并沒有圍繞自動化、資料沉重性以及事務性環境。同時在這幾十年中不斷發展出的新功能并沒有想象中的那麼好。/ a' Q5 q0 c3 ]& l

Stonebraker表示資料庫系統的滞後通常可歸結于多項因素。諸如以恢複日志為目的的資料庫系統維持的緩沖區池,以及管理鎖定和鎖定的資料字段。在VoltDB的測試中發現以上這些行為消耗系統96%的資源。

許多新興的NoSQL資料庫的普及,例如MongnDB和Cassandra。這很好的彌補了傳統資料庫系統的局限性。顧問Dan McCreary表示關系資料庫的缺點刺激了開發人員建立出NoSQL資料庫。關系資料庫不是很靈活,其基本架構設計還是穿孔卡片時代,這反映了嚴格的資料模組化方式。如果一個組織需要添加另一列的資料,他們必須改變架構,這可能相當棘手。模組化過程中建立的關系表(實體模型)也并不總是能夠準确的反應資料在現實世界中是如何存在的。

McCreary同時指出SQL資料庫的另一個問題是其不具備很好的伸縮性。當資料增長超過一台伺服器所能承受的極限時,就必須分享或分割資料到多台伺服器上,跨越多台伺服器是一個複雜的過程。此外如外部連結帶來的問題。例如多個表中資料的融合,跨越伺服器執行一些操作可能會産生一些問題。! o$ T9 @3 K3 d6 m

Stonebraker認為NoSQL資料庫可提供良好的擴充性和靈活性,但他們也有自己的不足。由于不使用SQL,NoSQL資料庫系統不具備高度結構 化查詢等特性。NoSQL其他的問題還包括不能提供ACID(原子性、一緻性、隔離性和耐久性)的操作。另外不同的NoSQL資料庫都有自己的查詢語言, 這使得很難規範應用程式接口。