0

非トランザクション データベースにトランザクションを実装する方法。

1)Java側でこれを行う方法で説明してください。

注:答えを見つけるために私が費やした努力を共有します.

1 つのトランザクションで 2 つの挿入と 2 つの更新があるとします。したがって、各命令を実行する 4 つのスレッドがあり、1 つのスレッドがそれらすべてを監視します。スレッドの 1 つに障害が発生した場合、監視スレッドはすべてをキャンセルします。

4

1 に答える 1

2

トランザクションに参加する各スレッドには、トランザクション ID が与えられます。変更を取り消すために、データ (またはキー) を追跡する書き込み可能な構造を作成する必要があります。

実際のデータベースと同様に、更新を行う場合、変更前のデータを保存する必要があり、変更後のデータも記録する必要があります。レコードを見つけるために必要になる場合があるため、これが必要です。

挿入は少し簡単です。レコードを削除するだけです。

削除では、削除前のデータも保存する必要があります。

したがって、作成する構造には、トランザクション ID、テーブル名、および列データのリスト (文字列のマップ、列名を格納するオブジェクト、列データ) が必要です。

それはかなり良いスタートになるはずです...

于 2012-04-27T14:50:14.510 に答える