VoltDB
From Wikipedia, the free encyclopedia
| 開発元 | VoltDB Inc. |
|---|---|
| 最新版 |
9.2
/ 2019年10月28日[1] |
| 対応OS | Linux, macOS |
| 種別 | インメモリ型RDBMS |
| ライセンス | GNU General Public License v3 |
| 公式サイト | voltdb.com |
VoltDBはIngresやPostgreSQLに携わったマイケル・ストーンブレーカーにより設計されたインメモリデータベースである。ACIDに準拠した関係データベースシステムであり、シェアード・ナッシング・アーキテクチャによるものである。GPL バージョン3のもとでリリースされている自由ソフトウェアである。VoltDBは学術的なH-Storeプロジェクトを基礎としている。[2]
VoltDBは関係データベースであり、プリコンパイルされたJavaストアドプロシージャからのSQLアクセスをサポートする。トランザクションの単位はストアードプロシージャであり、これはSQLとJavaが混合されたものである。VoltDBはスケーラビリティのために個々のハードウェアにおけるスレッドでの水平パーティショニングを利用し、堅牢性のためにk-safety(同期的レプリケーション)を利用している。
ストアドプロシージャをトランザクションの単位とし、必要なデータを含むパーティションにおいて実行することにより、SQL命令間のメッセージ往復を除くことができる。ストアドプロシージャは順次に実行され、ロックやラッチなどを行わず、シングルスレッドの機構で処理される。データがメモリ上に格納され、パーティションごとに局在しているため、ストアドプロシージャはマイクロ秒単位で実行が可能である。ストアドプロシージャの初期化スキームでは、すべてのノードがストアドプロシージャを初期化し、同時に単一のシリアライズ可能なグローバル順序があることを保証する。[3]
VoltDBはスケーラビリティ、信頼性、高可用性、高スループットを必要とするアプリケーションに重点を置いている。これはOLTPアプリケーションと呼ばれるものを指している。これらのアプリケーションはボトルネックを回避するため、スループットに対し、厳しい要求がある。また、許されるデータアクセスのパスや重要な通信を事前に定義する明確に設計されたワークフローがある。 [4]