中古の1戸建を昨年購入しました。(土地も一緒)。上の写真は素人DIY最中です。DIY初心者だけどこれやばい、できるのかと感じてます、春友です。 で、購入した家の用途は住居用ではなく簡易宿、いわゆる旅館業として運営してゆくためのもので購入しま...
では、複数のデータベースに対してアクセスする場合、どのようにすれば原子性を保証できるのでしょうか。これを解決するのが、図 2 に示す 2 フェーズコミットと呼ばれる方法です。 2 フェーズコミットでは、図 2 のようにトランザクションのコミット処理を 2 段階のフェーズにわけることによって原子性を保証します。ちなみに図 2 の UML 表記は、厳密ではありません。どのようなメッセージが交換されるのかについてのみ注目してください。 第 1 フェーズでは、まず、各データベースに対してコミットできる状態であるかどうかを確認するための準備 ( 図 2 の prepare ) の指示を送ります。これを受けた各データベースは、コミットできる状態かどうかをアプリケーションに伝えます。この処理を「投票する」と呼びます。コミットができる状態であれば、コミット予定の内容を確定させた後、アプリケーションに対して
JBoss Advent Calendar 2011の14日目のエントリです。今日はJDBC XAデータソースの説明。 XAってなによ? ツーフェーズコミット(2相コミット, 2PC)するためのインタフェースです。 XAとか2PCってどんなときに使うの? 一つのトランザクションで2つ以上のトランザクショナルリソース(JDBC JCAリソースアダプタ=データベースとか、JMS JCAリソースアダプタとか)を扱う場合に利用します。 XAとか2PCってなんで必要なの? 例えばデータベースが二つ、DB-AとDB-Bがあって、DB-AからDB-Bにデータを移す処理をするとします。このとき、DB-AからSELECTして削除してDB-Bにインサートする、というようなことをするわけですが、この処理が途中で落ちたら即データ消滅、データ重複などのデータ不整合という結果になってしまいます。XAを使うとこういった
「グローバルトランザクション」という言葉の意味について、昨日の飲み会で議論になったので、まとめ。 グローバルトランザクションと分散トランザクション グローバルトランザクションは、分散トランザクションと同義です。グローバルトランザクションは複数のリソースマネージャを含むトランザクションを指します。一方、ローカルトランザクションは単一のリソースマネージャ(DB等)のみで構成されるトランザクションを指します。 http://download.oracle.com/docs/cd/B14117_01/java.101/b10979/xadistra.htm#i1066628 A distributed transaction, sometimes referred to as a global transaction, is a set of two or more related transac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く