NewSQL資料庫產品和它的優勢介紹

chenfeng發表於2016-05-28
NewSQL是對各種新的可擴充套件、高效能的SQL資料庫的簡稱,它把關係模型的優勢發揮到分散式體系結構中,從一開始就將SQL功能考慮在內,並且精簡了傳統關聯式資料庫中不必要的元件,以提高效率。因此,NewSQL資料庫幾乎可以無縫、完整地替換原有系統的關聯式資料庫。NewSQL有如下幾點優勢:
  •  1).高可擴充套件性。
  •  2).支援SQL語句。
  •  3).支援ACID一致性約束
  •  4).可高可用性
  •  5).支援Hadoop整合等

典型的NewSQL產品有VoltDB,VoltDB是一個記憶體資料庫,由Michael Stonebraker、Sam Madden和Danniel Abadi等著名資料庫專家共同開發。目前VoltDB提供兩個版本:企業版和社群版,社群版包含了企業版的部分功能,可以免費使用。

VoltDB是一個革命性的新型資料庫產品,號稱比當前資料庫產品的吞吐量高45倍,同時又具有很高的擴充套件性。它的特性主要有以下幾點:

  • 1).高吞吐、低延遲:透過記憶體計算,儲存過程和序列資料訪問實現。
  • 2).可擴充套件性:自動分割槽和複製,保證效能和可擴充套件性。
  • 3).高可用性:同步的多主複製(在VoltDB中叫K-safety)。
  • 4).持久化:資料庫快照與命令日誌(command log)的創新技術組合。

傳統關聯式資料庫與VoltDB的比較
傳統關聯式資料庫通常有如下開銷:
  • 1).日誌:傳統資料庫需要兩次寫資料--一次寫入資料庫,一次寫入日誌檔案。日誌檔案還必須寫入硬碟以保證永續性。因此記錄日誌是一個昂貴的操作。
  • 2).鎖:在訪問一條記錄之前,一個事物必須在其上設定鎖表以保證沒有衝突操作。
  • 3).記憶體鎖:其作用是在多執行緒環境下,對共享資料結構進行封鎖,這同樣需要消耗CPU資源。
  • 4).緩衝管理:在傳統資料庫中,資料儲存在大小固定的頁內。在任意給定時刻,緩衝池決定哪些頁進入記憶體。記錄必須位於頁中,頁邊界需要標記。

VoltDB旨在最佳化多核處理器的VLSI設計。它利用聚簇伺服器的拓撲結構,使用其充足的記憶體來處理高速資料庫工作負載。VoltDB是一個完全支援ACID約束的事務資料庫。
VoltDB透過如下策略消除了上述開銷:
  • 1).資料和相關處理過程劃分在一起
  • 2).資料位於記憶體中,無須緩衝管理
  • 3).事務操作在記憶體中順序執行,取消了Lock和Latch操作
  • 4).同步多伺服器副本,提供了內建的高可用性
  • 5).command logging取代了"write-ahead" logging,提高了效能

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2108493/,如需轉載,請註明出處,否則將追究法律責任。

相關文章