●このページで解説する内容
・分散データベース:複数のデータベースが、1つのデータベースとして振る舞う仕組み
・2相コミットメント:分散データベースのデータの整合性をとるトランザクション制御
・分散データベース:複数のデータベースが、1つのデータベースとして振る舞う仕組み
・2相コミットメント:分散データベースのデータの整合性をとるトランザクション制御
分散データベースとは?
分散データべースとは、複数のデータベースが、1つのデータベースとして振る舞う仕組みです。
例えば、データベースA、Bがそれぞれ、東京、大阪にあると仮定し、この2つのデータベースにより分散データベース構成します。
利用者は、分散データベースへのアクセスすることで、データベースA、Bのどちらにアクセスしたかは考える必要がありません。
このように利用者は、物理的なデータベースを意識せず、1つのデータベースとして分散データベースにアクセスすることができます。
2相コミットメント
2相コミットメントとは、分散データベースのデータベース間の整合性をとるためのトランザクションの制御です。
①更新要求
②コミット要求
●第1フェーズ:コミット確認
③コミット確認
④コミットの可否の返答
●第2フェーズ:コミット要求
⑤コミットorロールバックの要求
⑥コミットorロールバックの完了通知
②コミット要求
●第1フェーズ:コミット確認
③コミット確認
④コミットの可否の返答
●第2フェーズ:コミット要求
⑤コミットorロールバックの要求
⑥コミットorロールバックの完了通知
具体的には、処理の要求の後、コミット(更新)ができるかを各データベースに問い合わせます。全てのデータベースがコミット可能である場合、コミットの実行を要求し、データベースを更新します。
データベースの1つでもコミット不可の場合は、更新を取り消し(ロールバック)ます。
このように、分散データベースのトランザクションでは、コミットの「確認」と「要求」の2つのフェーズにより整合性を担保するため2相コミットメントと呼ばれます。
【まとめ】2相コミットメント
それでは最後におさらいをしておきましょう!
用語 | 説明 |
---|---|
分散データベース | 複数のデータベースが、1つのデータベースとして振る舞う仕組み |
2相コミットメント | 分散データベースのデータベース間の整合性をとるための制御 |
コメント