SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
VoltDB - Wikipedia                                                http://ja.wikipedia.org/wiki/VoltDB




         出典: フリー百科事典『ウィキペディア(Wikipedia)』

                                                              VoltDB
         VoltDBはIngresやPostgreSQLに携わったMichael
                                                開発元     VoltDB Inc.
         Stonebrakerにより設計されたインメモリデータベースである。
         ACIDに準拠したリレーショナルデータベースシステムであり、         最新版     1.2.1.02(2010年12月17日)
         シェアード・ナッシング・アーキテクチャによるものである。           対応OS    Linux, Mac OS X
         GPL バージョン3のもとでリリースされているフリーソフトウェ        種別      インメモリ型RDBMS
         アである。VoltDBは学術的なH-Storeプロジェクトを基礎とし     ライセンス   GNU General Public License v3
         ている。[1]                                公式サイト   voltdb.com (http://voltdb.com/)

         VoltDBはリレーショナルデータベースであり、プリコンパイル
         されたJavaストアドプロシージャからのSQLアクセスをサポートする。トランザクションの単位はストアードプロ
         シージャであり、これはSQLとJavaが混合されたものである。VoltDBはスケーラビリティのために個々のハード
         ウェアにおけるスレッドでの水平パーティショニングを利用し、堅牢性のためにk-safety(同期的レプリケーショ
         ン)を利用している。

         ストアドプロシージャをトランザクションの単位とし、必要なデータを含むパーティションにおいて実行すること
         により、SQL命令間のメッセージ往復を除くことができる。ストアドプロシージャは順次に実行され、ロックや
         ラッチなどを行わず、シングルスレッドの機構で処理される。データがメモリ上に格納され、パーティションごと
         に局在しているため、ストアドプロシージャはミクロ秒単位で実行が可能である。ストアドプロシージャの初期
         化スキームでは、すべてのノードがストアドプロシージャを初期化し、同時に単一のシリアライズ可能なグロー
         バル順序があることを保証する。[2]

         VoltDBはスケーラビリティ、信頼性、高可用性、高スループットを必要とするアプリケーションに重点を置いて
         いる。これはOLTPアプリケーションと呼ばれるものを指している。これらのアプリケーションはボトルネックを回
         避するため、スループットに対し、厳しい要求がある。また、許されるデータアクセスのパスや重要な通信を事
         前に定義する明確に設計されたワークフローがある。 [3]




                1 技術概要
                      1.1 パーティショニング
                      1.2 シリアライズ(シングルスレッド)処理
                2 VoltDBの運用
                3 参照




         複雑なログ採取、ロック、ラッチ、バッファ管理などの処理を除くことでVoltDBは従来のシステムと比較し、50
         倍の高速化を図っている。VoltDBはトランザクション内においてディスクの待ち時間や、ユーザ処理による待
         ち時間がないため、OLTP SQL処理はシリアルに、ミリ秒単位で実行される。シェアードナッシング機構をコア
         単位にまで拡張することにより、VoltDBは現代のコモディティサーバにおけるCPU当たりのコア数増加を活用
         し、スケールすることができる。[4]

         各データベースはスキーマ、ストアドプロシージャ、パーティショニング情報をコンパイルすることにより、特定



1 of 2                                                                             2011/04/04 13:12
VoltDB - Wikipedia                                                                    http://ja.wikipedia.org/wiki/VoltDB


         のアプリケーションに最適化される。これはVoltDBランタイムカタログと呼ばれる。このカタログは単一あるい
         は複数のホストマシンにロードされ、分散データベースが作成される。[5]

         パーティショニング

         データアクセスロジックを解析し、ストアドプロシージャにプリコンパイルすることにより、VoltDBはデータとそ
         れに関連する処理の両方をクラスタ内の個々のノードに分散することができる。これにより、クラスタの各ノー
         ドがデータおよびデータ処理の固有の「スライス」を保有することになる。[6]

         シリアライズ(シングルスレッド)処理

         実行時にストアドプロシージャへの呼び出しはクラスタの該当のノードへ送られる。プロシージャが「単一サイ
         ト処理」のものである場合、つまり、単一パーティションのデータにおいて実行される場合、個々のノードはプロ
         シージャを独立して処理し、クラスタの残りのノードは他の処理を並行して処理することができる。

         シリアライズ処理を利用することにより、VoltDBはロック、ラッチ、トランザクションログのオーバヘッド無く、トラ
         ンザクションの整合性を保証できる。また、パーティショニングにより、データベースは複数のリクエストを同時
         に処理することができる。[7]




         VoltDBはデータアクセスをストアードプロシージャを経由して提供し、それによりクライアント・サーバ間の相
         互通信時間を短縮する。ストアドプロシージャはJavaにより記述され、各プロシージャは単一のJavaクラスで
         ある。ストアードプロシージャの定義において、ユーザはVoltDBデータベースに対し、標準的なSQLのうち
         OLTPに特化したサブセットにより処理を行う。その例として、many-way join、group-by、序列化、集約、標準
         的な数学処理、limitなどがある。

         ユーザはアプリケーションに必要とされるスキーマやストアドプロシージャを管理し、VoltDBアプリケーションコ
         ンパイラを使用し、VoltDBアプリケーションアーカイブを作成する。コンパイラは自動的にパーティションを行
         い、必要に応じてデータのレプリケーションを行い、パフォーマンスの最適化を行い、高可用性を保証してい
         る。このアーカイブは単一のあるいは複数のVoltDBクラスタへ適用可能である。

         VoltDBはクラスタ内およびクラスタ間のレプリケーションにより、堅牢性を確保している。データはクラスタ内
         の複数の実行サイトに同期的にコミットされ、ノード障害に対する対障害性を実現している。トランザクションは
         クラスタ間において非同期的にコミットされ、データセンター災害などに対する全クラスタ単位での障害に対し
         対障害性を提供している。




           1.   ^   http://hstore.cs.brown.edu/
           2.   ^   http://community.voltdb.com/node/118#comment-271
           3.   ^   http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf
           4.   ^   http://www.voltdb.com/_pdf/VoltDBOverview.pdf
           5.   ^   http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf
           6.   ^   http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf
           7.   ^   http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf

         「http://ja.wikipedia.org/wiki/VoltDB」より作成
         カテゴリ: オープンソース | データベースソフト

                最終更新 2011年4月4日 (月) 04:14 (日時は個人設定で未設定ならばUTC)。
                テキストはクリエイティブ・コモンズ 表示-継承ライセンスの下で利用可能です。追加の条件が適用
                される場合があります。詳細は利用規約を参照してください。


2 of 2                                                                                                 2011/04/04 13:12

Contenu connexe

Similaire à Voltdb - wikipedia

Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DRAmazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
株式会社クライム
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphine
Mikiya Okuno
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
Akio Katayama
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
Amazon Web Services Japan
 

Similaire à Voltdb - wikipedia (20)

141030ceph
141030ceph141030ceph
141030ceph
 
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DRAmazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
Amazon RDS/Azure SQL/Google Cloud SQL 対応DBが多様!異種DBへの移行・連携ならSyniti DR
 
DBpedia Japanese
DBpedia JapaneseDBpedia Japanese
DBpedia Japanese
 
Couchbase 101 ja
Couchbase 101 jaCouchbase 101 ja
Couchbase 101 ja
 
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門SQL Server 使いのための Azure Synapse Analytics - Spark 入門
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
 
Enter the-dolphine
Enter the-dolphineEnter the-dolphine
Enter the-dolphine
 
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
 
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
 
Linked Open Dataとは
Linked Open DataとはLinked Open Dataとは
Linked Open Dataとは
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
 
Azure Datalake 大全
Azure Datalake 大全Azure Datalake 大全
Azure Datalake 大全
 
Azure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでAzure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまで
 
HTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろうHTML5でオフラインWebアプリケーションを作ろう
HTML5でオフラインWebアプリケーションを作ろう
 
WebDAV, ATOM, and REST
WebDAV, ATOM, and RESTWebDAV, ATOM, and REST
WebDAV, ATOM, and REST
 
これから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaSこれから始める Azure の基礎サービス: IaaS/PaaS
これから始める Azure の基礎サービス: IaaS/PaaS
 
Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案
 
RFC8525(YANG Library)の勉強資料。
RFC8525(YANG Library)の勉強資料。RFC8525(YANG Library)の勉強資料。
RFC8525(YANG Library)の勉強資料。
 
POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育POSIX中心主義と情報科学教育
POSIX中心主義と情報科学教育
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container Storage
 

Plus de Hiroshi Ono

Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
Hiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
Hiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
Hiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
Hiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
Hiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
Hiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
Hiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
Hiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
Hiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
Hiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
Hiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
Hiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
Hiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
Hiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
 

Plus de Hiroshi Ono (20)

Gamecenter概説
Gamecenter概説Gamecenter概説
Gamecenter概説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 

Dernier

Dernier (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

Voltdb - wikipedia

  • 1. VoltDB - Wikipedia http://ja.wikipedia.org/wiki/VoltDB 出典: フリー百科事典『ウィキペディア(Wikipedia)』 VoltDB VoltDBはIngresやPostgreSQLに携わったMichael 開発元 VoltDB Inc. Stonebrakerにより設計されたインメモリデータベースである。 ACIDに準拠したリレーショナルデータベースシステムであり、 最新版 1.2.1.02(2010年12月17日) シェアード・ナッシング・アーキテクチャによるものである。 対応OS Linux, Mac OS X GPL バージョン3のもとでリリースされているフリーソフトウェ 種別 インメモリ型RDBMS アである。VoltDBは学術的なH-Storeプロジェクトを基礎とし ライセンス GNU General Public License v3 ている。[1] 公式サイト voltdb.com (http://voltdb.com/) VoltDBはリレーショナルデータベースであり、プリコンパイル されたJavaストアドプロシージャからのSQLアクセスをサポートする。トランザクションの単位はストアードプロ シージャであり、これはSQLとJavaが混合されたものである。VoltDBはスケーラビリティのために個々のハード ウェアにおけるスレッドでの水平パーティショニングを利用し、堅牢性のためにk-safety(同期的レプリケーショ ン)を利用している。 ストアドプロシージャをトランザクションの単位とし、必要なデータを含むパーティションにおいて実行すること により、SQL命令間のメッセージ往復を除くことができる。ストアドプロシージャは順次に実行され、ロックや ラッチなどを行わず、シングルスレッドの機構で処理される。データがメモリ上に格納され、パーティションごと に局在しているため、ストアドプロシージャはミクロ秒単位で実行が可能である。ストアドプロシージャの初期 化スキームでは、すべてのノードがストアドプロシージャを初期化し、同時に単一のシリアライズ可能なグロー バル順序があることを保証する。[2] VoltDBはスケーラビリティ、信頼性、高可用性、高スループットを必要とするアプリケーションに重点を置いて いる。これはOLTPアプリケーションと呼ばれるものを指している。これらのアプリケーションはボトルネックを回 避するため、スループットに対し、厳しい要求がある。また、許されるデータアクセスのパスや重要な通信を事 前に定義する明確に設計されたワークフローがある。 [3] 1 技術概要 1.1 パーティショニング 1.2 シリアライズ(シングルスレッド)処理 2 VoltDBの運用 3 参照 複雑なログ採取、ロック、ラッチ、バッファ管理などの処理を除くことでVoltDBは従来のシステムと比較し、50 倍の高速化を図っている。VoltDBはトランザクション内においてディスクの待ち時間や、ユーザ処理による待 ち時間がないため、OLTP SQL処理はシリアルに、ミリ秒単位で実行される。シェアードナッシング機構をコア 単位にまで拡張することにより、VoltDBは現代のコモディティサーバにおけるCPU当たりのコア数増加を活用 し、スケールすることができる。[4] 各データベースはスキーマ、ストアドプロシージャ、パーティショニング情報をコンパイルすることにより、特定 1 of 2 2011/04/04 13:12
  • 2. VoltDB - Wikipedia http://ja.wikipedia.org/wiki/VoltDB のアプリケーションに最適化される。これはVoltDBランタイムカタログと呼ばれる。このカタログは単一あるい は複数のホストマシンにロードされ、分散データベースが作成される。[5] パーティショニング データアクセスロジックを解析し、ストアドプロシージャにプリコンパイルすることにより、VoltDBはデータとそ れに関連する処理の両方をクラスタ内の個々のノードに分散することができる。これにより、クラスタの各ノー ドがデータおよびデータ処理の固有の「スライス」を保有することになる。[6] シリアライズ(シングルスレッド)処理 実行時にストアドプロシージャへの呼び出しはクラスタの該当のノードへ送られる。プロシージャが「単一サイ ト処理」のものである場合、つまり、単一パーティションのデータにおいて実行される場合、個々のノードはプロ シージャを独立して処理し、クラスタの残りのノードは他の処理を並行して処理することができる。 シリアライズ処理を利用することにより、VoltDBはロック、ラッチ、トランザクションログのオーバヘッド無く、トラ ンザクションの整合性を保証できる。また、パーティショニングにより、データベースは複数のリクエストを同時 に処理することができる。[7] VoltDBはデータアクセスをストアードプロシージャを経由して提供し、それによりクライアント・サーバ間の相 互通信時間を短縮する。ストアドプロシージャはJavaにより記述され、各プロシージャは単一のJavaクラスで ある。ストアードプロシージャの定義において、ユーザはVoltDBデータベースに対し、標準的なSQLのうち OLTPに特化したサブセットにより処理を行う。その例として、many-way join、group-by、序列化、集約、標準 的な数学処理、limitなどがある。 ユーザはアプリケーションに必要とされるスキーマやストアドプロシージャを管理し、VoltDBアプリケーションコ ンパイラを使用し、VoltDBアプリケーションアーカイブを作成する。コンパイラは自動的にパーティションを行 い、必要に応じてデータのレプリケーションを行い、パフォーマンスの最適化を行い、高可用性を保証してい る。このアーカイブは単一のあるいは複数のVoltDBクラスタへ適用可能である。 VoltDBはクラスタ内およびクラスタ間のレプリケーションにより、堅牢性を確保している。データはクラスタ内 の複数の実行サイトに同期的にコミットされ、ノード障害に対する対障害性を実現している。トランザクションは クラスタ間において非同期的にコミットされ、データセンター災害などに対する全クラスタ単位での障害に対し 対障害性を提供している。 1. ^ http://hstore.cs.brown.edu/ 2. ^ http://community.voltdb.com/node/118#comment-271 3. ^ http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf 4. ^ http://www.voltdb.com/_pdf/VoltDBOverview.pdf 5. ^ http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf 6. ^ http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf 7. ^ http://community.voltdb.com/sites/default/files/UsingVoltDB.pdf 「http://ja.wikipedia.org/wiki/VoltDB」より作成 カテゴリ: オープンソース | データベースソフト 最終更新 2011年4月4日 (月) 04:14 (日時は個人設定で未設定ならばUTC)。 テキストはクリエイティブ・コモンズ 表示-継承ライセンスの下で利用可能です。追加の条件が適用 される場合があります。詳細は利用規約を参照してください。 2 of 2 2011/04/04 13:12