Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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

More Related Content

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