《NewSQL與NoSQL的討論》
《NewSQL與NoSQL的討論》
現今,完全放棄傳統關係資料庫並忙於使用新興的NoSQL資料庫可能還不是一個合理的選擇。相反改進後的SQL(結構化查詢語言)系統可能會對一些技術細節進行調整。在8月23日加利福尼亞聖荷西市舉行的NoSQL 2011大會上分散式資料庫公司VoltDB的技術長Michael Stonebraker表達了上述的觀點。
Stonebraker所在公司本身提供的是基於NewSQL的資料庫軟體。他所倡導的新體系架構比傳統供應商提供的資料庫軟體可承受更大的負載。Stonebraker是Ingres和Postgres資料庫的總設計師。他還是Vertica(面向列資料庫公司)的共同創始人,惠普已在2月份對Vertica進行了收購。
相對於NoSQL蓬勃發展的情況基於SQL的關聯式資料庫系統確實顯得有些死氣沉沉。但這是資料庫廠商的錯,而不是SQL的錯。
Stonebraker指出,當今大多數商業資料庫軟體已經在市場上存在30年或更長時間。他們的設計並沒有圍繞自動化、資料沉重性以及事務性環境。同時在這幾十年中不斷髮展出的新功能並沒有想象中的那麼好。
Stonebraker表示資料庫系統的滯後通常可歸結於多項因素。諸如以恢復日誌為目的的資料庫系統維持的緩衝區池,以及管理鎖定和鎖定的資料欄位。在VoltDB的測試中發現以上這些行為消耗系統96%的資源。
許多新興的NoSQL資料庫的普及,例如MongnDB和Cassandra。這很好的彌補了傳統資料庫系統的侷限性。顧問Dan McCreary表示關聯式資料庫的缺點刺激了開發人員建立出NoSQL資料庫。關聯式資料庫不是很靈活,其基本架構設計還是穿孔卡片時代,這反映了嚴格的資料建模方式。如果一個組織需要新增另一列的資料,他們必須改變架構,這可能相當棘手。建模過程中建立的關係表(實體模型)也並不總是能夠準確的反應資料在現實世界中是如何存在的。
McCreary同時指出SQL資料庫的另一個問題是其不具備很好的伸縮性。當資料增長超過一臺伺服器所能承受的極限時,就必須分享或分割資料到多臺伺服器上,跨越多臺伺服器是一個複雜的過程。此外如外部連結帶來的問題。例如多個表中資料的融合,跨越伺服器執行一些操作可能會產生一些問題。
Stonebraker認為NoSQL資料庫可提供良好的擴充套件性和靈活性,但他們也有自己的不足。由於不使用SQL,NoSQL資料庫系統不具備高度結構 化查詢等特性。NoSQL其他的問題還包括不能提供ACID(原子性、一致性、隔離性和耐久性)的操作。另外不同的NoSQL資料庫都有自己的查詢語言, 這使得很難規範應用程式介面。
Stonebraker表示NewSQL可提供SQL獨有的一些特性,同時還具備NoSQL的擴充套件性。NewSQL具備一個新的架構設計,他釋放了主記憶體 執行的資料庫中消耗系統資源的緩衝池。VoltDB系統使用了NewSQL創新的體系架構,在執行交易時可比傳統關聯式資料庫快45倍。VoltDB可擴充套件 伺服器數量為39個,並可以每秒處理160萬個交易(300個CPU核心)。而具備同樣處理能力的Hadoop則需要更多的伺服器。例如做相同的任 務,VoltDB需要20個節點的任務,Hadoop執行起來則需要1000個節點。
DoubleClick創始人和MongoDB創始人之一Dwight Merriman與Stonebraker一致認為SQL本身並不是導致可擴充套件性和低效能的根源。但Dwight Merriman同時表示在未來的歲月裡,可能不是所有人都願意使用SQL分析和查詢他們的資料。因為對於程式設計師來說,基於SQL的儲存過程是特別困難的工作。
最後McCreary也同意Stonebraker的看法,NoSQL沒有一個統一的查詢語言,這將拖慢NoSQL的發展。但他建議在新的資料庫系統統一查詢工具使用一個SQL以外的語言。如XQuery,一個XML文件查詢語言。
Stonebraker所在公司本身提供的是基於NewSQL的資料庫軟體。他所倡導的新體系架構比傳統供應商提供的資料庫軟體可承受更大的負載。Stonebraker是Ingres和Postgres資料庫的總設計師。他還是Vertica(面向列資料庫公司)的共同創始人,惠普已在2月份對Vertica進行了收購。
相對於NoSQL蓬勃發展的情況基於SQL的關聯式資料庫系統確實顯得有些死氣沉沉。但這是資料庫廠商的錯,而不是SQL的錯。
Stonebraker指出,當今大多數商業資料庫軟體已經在市場上存在30年或更長時間。他們的設計並沒有圍繞自動化、資料沉重性以及事務性環境。同時在這幾十年中不斷髮展出的新功能並沒有想象中的那麼好。
Stonebraker表示資料庫系統的滯後通常可歸結於多項因素。諸如以恢復日誌為目的的資料庫系統維持的緩衝區池,以及管理鎖定和鎖定的資料欄位。在VoltDB的測試中發現以上這些行為消耗系統96%的資源。
許多新興的NoSQL資料庫的普及,例如MongnDB和Cassandra。這很好的彌補了傳統資料庫系統的侷限性。顧問Dan McCreary表示關聯式資料庫的缺點刺激了開發人員建立出NoSQL資料庫。關聯式資料庫不是很靈活,其基本架構設計還是穿孔卡片時代,這反映了嚴格的資料建模方式。如果一個組織需要新增另一列的資料,他們必須改變架構,這可能相當棘手。建模過程中建立的關係表(實體模型)也並不總是能夠準確的反應資料在現實世界中是如何存在的。
McCreary同時指出SQL資料庫的另一個問題是其不具備很好的伸縮性。當資料增長超過一臺伺服器所能承受的極限時,就必須分享或分割資料到多臺伺服器上,跨越多臺伺服器是一個複雜的過程。此外如外部連結帶來的問題。例如多個表中資料的融合,跨越伺服器執行一些操作可能會產生一些問題。
Stonebraker認為NoSQL資料庫可提供良好的擴充套件性和靈活性,但他們也有自己的不足。由於不使用SQL,NoSQL資料庫系統不具備高度結構 化查詢等特性。NoSQL其他的問題還包括不能提供ACID(原子性、一致性、隔離性和耐久性)的操作。另外不同的NoSQL資料庫都有自己的查詢語言, 這使得很難規範應用程式介面。
Stonebraker表示NewSQL可提供SQL獨有的一些特性,同時還具備NoSQL的擴充套件性。NewSQL具備一個新的架構設計,他釋放了主記憶體 執行的資料庫中消耗系統資源的緩衝池。VoltDB系統使用了NewSQL創新的體系架構,在執行交易時可比傳統關聯式資料庫快45倍。VoltDB可擴充套件 伺服器數量為39個,並可以每秒處理160萬個交易(300個CPU核心)。而具備同樣處理能力的Hadoop則需要更多的伺服器。例如做相同的任 務,VoltDB需要20個節點的任務,Hadoop執行起來則需要1000個節點。
DoubleClick創始人和MongoDB創始人之一Dwight Merriman與Stonebraker一致認為SQL本身並不是導致可擴充套件性和低效能的根源。但Dwight Merriman同時表示在未來的歲月裡,可能不是所有人都願意使用SQL分析和查詢他們的資料。因為對於程式設計師來說,基於SQL的儲存過程是特別困難的工作。
最後McCreary也同意Stonebraker的看法,NoSQL沒有一個統一的查詢語言,這將拖慢NoSQL的發展。但他建議在新的資料庫系統統一查詢工具使用一個SQL以外的語言。如XQuery,一個XML文件查詢語言。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-1086513/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL、NoSQL和NewSQL的優缺點比較SQL
- Oracle、NoSQL和NewSQL 資料庫技術對比OracleSQL資料庫
- 資料庫新趨勢MoreSQL/NewSQL挑戰NoSQL資料庫SQL
- Oracle、NoSQL和NewSQL 資料庫技術對比(一)OracleSQL資料庫
- Oracle、NoSQL和NewSQL 資料庫技術對比(二)- 終結OracleSQL資料庫
- SetUnhandledExceptionFilter 的討論ExceptionFilter
- Oracle的學習路徑與方法討論Oracle
- 整理的一些SQL題,與討論SQL
- [iOS Monkey 討論帖] 整套新的 fastmonkey 討論iOSAST
- [技術討論]關於低耦合開發的討論
- AIX 5.2上64位與32位的討論AI
- 虛擬機器與偵錯程式的討論虛擬機
- Java執行緒的討論與應用(轉)Java執行緒
- 【案例討論】災難與拯救 資料安全精彩案例大討論!歡迎大家踴躍參與!
- 我們現在沒有討論的但有必要討論的模式模式
- [技術討論]務實與務虛
- W君的“PMBOK與CMMI有何區別?”討論
- 企業級NoSQL與開源NoSQL的區別SQL
- IN&EXISTS與NOT IN&NOT EXISTS 的優化原則的討論優化
- js中分號的討論JS
- 輸入緩衝與土狼時間的討論與實現
- 歡迎參與討論POP(Project Oriented Project)Project
- [討論] 文字流介面:得與失兼其它
- sql與nosql的權衡SQL
- 【討論】論 cursor 在測試中的使用
- 關於UI的一次討論——來自專案管理群的討論UI專案管理
- 討論JDK的File.equal()JDK
- 關於oracle SCN 的討論Oracle
- 討論java與sql server相容性問題JavaSQLServer
- 討論:大家來討論一些連線涉及到的引數
- 流水線的浪漫——異星工場(Factorio)玩法分析與討論
- Jive與Ofbiz的Cache機制比較 請大家討論
- [全程建模]類圖與時序圖作用的對比討論時序圖
- [技術討論]程式碼編寫能力與管理手段的配合
- 關於部落格評論外掛的討論
- [技術討論]多使用者(多公司)的資料庫設計討論資料庫
- [譯] 討論 JS ⚡:文件JS
- httprunner 大佬討論群HTTP