VoltDB

VoltDB,一個記憶體資料庫,提供了 NoSQL 資料庫的可伸縮性和傳統關係資料庫系統的 ACID 一致性。我們將設計資料庫表並對其進行分區,使用 Java™ 代碼編寫的存儲過程來存儲和檢索數據。我們還將了解 VoltCache,這是一種構建於 VoltDB 之上的鍵值存儲。

基本介紹

  • 外文名:VoltDB
  • 實質:記憶體資料庫
  • 所屬:NewSQL 資料庫
  • 構建於:VoltDB 之上的鍵值存儲
簡介,特點,特徵,版本,競爭,要求,

簡介

VoltDB是一個記憶體中的開源OLTP SQL資料庫,能夠保證事務的完整性(ACID)。它是Postgres和Ingres聯合創始人Mike Stonebraker領導開發的下一代開源資料庫管理系統。它能在現有的廉價伺服器集群上實現每秒數百萬次數據處理。

特點

VoltDB大幅降低了伺服器資源 開銷,單節點每秒數據處理遠遠高於其它資料庫管理系統。不同於NoSQLkey-value儲存,VoltDB能使用SQL存取,支持傳統資料庫的 ACID模型。VoltDB代碼採用GPLv3授權,支持訂閱費用從15,000美元起步。

特徵

為了獲得最大化吞吐量,數據保存在記憶體中(而不是在硬碟),這樣可以有效消除緩衝區管理。VoltDB通過SQL引擎把數據分發給集群伺服器的每個CPU進行處理。 每個單執行緒分區自主執行,消除鎖定和閂鎖的需求。 VoltDB可以通過簡單的在集群中增加附加節點的方式實現性能的線性增加。

版本

VoltDB 有兩個版本:一個開源社區版本和一個付費企業版本。
付費企業版本除包含了所有開源社區版的功能,還有些其他特點:
  1. 系統性能儀錶盤
  2. 資料庫宕機恢復
  3. 線上資料庫Schema修改
  4. 線上資料庫節點重新加入
  5. JDBC和OLAP導出支持
  6. 命令日誌

競爭

NoSQL有力競爭
1.VoltDB在單節點上可以每秒處理53000個事務請求(TPS),其他DBMS在相同的硬體環境下只能處理1155個。VoltDB的擴展是近似線性的──在12個節點的VoltDB集群上進行同樣測試,可以處理560,000 TPS。
2.基準案例:某個客戶的線上遊戲在12個節點的VoltDB集群上處理了130萬 TPS。 3.VoltDB還針對NoSQL的鍵-值存儲方式作了基準測試,VoltDB在處理各種鍵-值存儲負載的情況下獲得了相同或更好的性能。 4.除了它的性能,VoltDB的主要優勢是可以與SQL用戶進行交流,這些SQL用戶是很好的資源。

要求

VoltDB 需要一個基於 64 位 Linux 的作業系統;此要求也適用於 Mac OSX 10.6。您還需要安裝 Java 開發工具包 (JDK 6)。可以使用 Eclipse 來編輯原始碼
Amazon EC2 和 VMware 映像也可供下載,下載它們之後就可以立即正常使用它們。
VoltDB 以 tar 壓縮檔案的形式分發,所以在下載它之後,可以使用以下命令解壓:$ tar -zxvf voltdb-2.5.tar.gz -C ~/。
在此實例中,我選擇將它安裝在我的主目錄中,這非常適用於開發用途,您還可以將它解壓到您選擇的目錄中。
解壓之後,將 bin 目錄添加到您的路徑中:$ export PATH=$PATH:~/voltdb-2.5/bin。
bin 目錄包含一些命令,這些命令在您部署示例應用程式時會很有用。
接下來,下載本文配套的原始碼。將它解壓到您選擇的目錄中。示例應用程式主要處理一家虛構公司 Acme Inc 的員工。
一個典型的 VoltDB 應用程式由以下檔案組成:
  • 一個項目定義檔案 (project.xml),其中包含哪些存儲過程可用、資料庫模式檔案的位置、分區信息等信息。
  • 一個部署檔案 (deployment.xml),其中包含每個主機的站點數等信息。
  • 資料庫模式 (ddl.sql)。
  • 原始碼,例如:存儲過程和客戶端。
本文將更詳細地介紹每個檔案。
要將項目導入 Eclipse 中,請打開 Eclipse,然後執行以下操作:
  1. 選擇File>New>Project
  2. 選擇Java Project from Existing Ant Buildfile,然後單擊Next
  3. 勾選複選框Link to the build file in the file system
  4. 從您剛安裝示例應用程式的目錄選擇build.xml作為 Ant 生成檔案,然後選擇Finish
如果希望創建您自己的應用程式,VoltDB 提供了一個工具來為您生成框架項目;該項目用於生成本文中附帶的應用程式的資料夾結構。
Operating System
VoltDB requires a 64-bit Linux-based operating system. Kits are built and qualified on the following platforms:
CentOS version 6.6 or 7.0 or later
Ubuntu versions 12.04 and 14.04
Development builds are also available for Macintosh OSX 10.9 and later.
CPU
Dual corex86_64 processor
64 bit
1.6 GHz
Memory
4 Gbytes
Java
Sun JDK 6 update 21 or later
Required Software
NTP
Python 2.4 or later release of 2.x
Recommended Software
Eclipse 3.x (or other Java IDE)

相關詞條

熱門詞條

聯絡我們