IT用語帳
APデータベース · データベース応用

分散トランザクション

Distributed Transaction

ぶんさんとらんざくしょん

複数のサイトのデータベースにまたがって実行されるトランザクション。すべてのサイトで更新を確定するか、すべて取り消すかをそろえるため、2相コミットメントなどで制御する。障害で参加するサイトが確定と取消しのどちらにも進めなくなる(ブロッキング)ことがあり、マイクロサービスではSagaパターンと補償トランザクションで整合性を取る方法も使われる。

共有:

Related

他の資格での定義

Past Exams

過去問での出題

過去問で 9 回出題(応用情報技術者試験 5・ITパスポート試験 1・データベーススペシャリスト試験 1・情報処理安全確保支援士試験 1・高度試験 午前Ⅰ 1)

出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。

応用情報技術者試験の過去問によく出る用語

Related

関連キーワードの用語

APTCCパターン

複数のサービスにまたがる処理の整合性を保つため、各サービスの処理をTry(資源の仮押さえと業務上の検査)、Confirm(仮押さえした内容の確定)、Cancel(仮押さえの取消し)の3つの操作に分けて実装する方式。調整役が全サービスにTryを依頼し、すべて成功したらConfirmを、1つでも失敗したらCancelを指示する。2相コミットメントに似た手順を業務処理として実現するもので、データベースのロックを長く持ち続けずに済む。

APSagaパターン

複数のサービスにまたがる長い業務処理を、サービスごとのローカルトランザクションの連続として実行し、途中で失敗したら、完了済みのローカルトランザクションを補償トランザクションで逆順に打ち消して整合性を取る方式。全体を1つのトランザクションでロックしないので、途中の状態が他の処理から見えることと、結果整合性になることを前提に設計する。各サービスがイベントで連携するコレオグラフィと、調整役が順に指示するオーケストレーションの2つの実装方法がある。

APコミットメント制御

トランザクションによる更新を、すべて確定する(コミット)か、すべて取り消す(ロールバック)かのどちらかにして、トランザクションの原子性を保証する制御。途中で障害が起きても、一部だけ更新された状態を残さない。複数のサイトにまたがる分散データベースでは、2相コミットメントなどのプロトコルで全サイトの確定と取消しをそろえる。

AP分散データベース

ネットワークで結ばれた複数のサイトにデータを分けて配置しながら、利用者からは1つのデータベースとして扱えるようにしたもの。データの所在や複製の有無を意識させない透過性を備え、負荷の分散と可用性の向上を図れるが、サイトにまたがる更新の整合性を保つため、2相コミットメントなどの制御が必要になる。

APクライアントキャッシュ

分散データベースや分散ファイルシステムで、サーバから取得したデータの複製をクライアントの側に一時的に保持しておく仕組み。同じデータへの再アクセスを手元で処理できるので、応答が速くなり、通信量とサーバの負荷も減る。サーバの側でデータが更新されたときに、複製との一貫性をどう保つかが課題となる。

AP水平分散

分散データベースのシステムの構成で、対等な関係にある複数のサイトがそれぞれデータベースを持ち、互いのデータを利用し合う形態。特定のサイトに依存しないので一部のサイトの障害に強いが、全サイトでデータの整合性を保つ制御が複雑になる。