今回は短めです。ACIDのACの部分の補足です。
ACとは「Atomicity 原始性」「Consistency 一貫性」です。
今回は特殊パターン?の2層コミットに関して解説します。
原始性と一貫性
トランザクションにおける原始性とは
「すべて成功かすべて失敗」にするという事です。
中途半端な処理は許しません。
一貫性とは矛盾しないデータという事です。
詳しくはこちらで解説しています。
分散DBにおける2層コミットメント制御
2層コミットメントとは,
例えば大阪と東京などに,物理的に離れた場所に
データベースが分散されて配置されている場合で
その中のデータの整合性を合わせておく必要がある場合に
使用します。
例えば大阪にトランザクション処理をしてコミットし,
東京にトランザクション処理をしてコミットする場合,
最初の大阪は成功したけど東京では失敗したって場合は
東京だけロールバックしても意味がないですよね?
大阪もしっかり,データを戻す処理が必要です。
でも大阪のデータを戻す最中にエラーになったら?って
考えたら,非常に複雑なエラー処理になります。
そこで,大阪のトランザクション処理をして
OKだった場合,コミットかロールバックをするよっていう
状態にしておいて,
東京のトランザクション処理をします。
東京も成功した場合に
大阪と東京のデータを両方コミットします。
これを2層コミットメントといいます。
SQLやデータベースについてもっと学びたい方は次の記事でおすすめの書籍を紹介しています↓
<< 1 2 3 4 5 6 7 8 9 10 11 12 >>
■非公開コース「C#14新機能」プレゼント:
非公開コース「C#14新機能」(80分)をご覧になりたい方は
こちらからURLとパスワードを発行していますので、ご覧になってみてください。
非公開コース「C#14新機能」を観る
A01_はじめに
A02_プロジェクトの作成
B01_配列とは
B02_配列の生成とアクセス
B03_生成と同時に値を設定する
B04_型推論による生成
B05_メソッドの引数などにする場合の注意点
B06_Length
B07_IndexOfでの検索
B08_FindIndexでの検索
B09_Find
B10_Exists
B11_FindAllとFindLast
B12_誤ったコピー
B13_Array.Copy
B14_範囲指定のコピー
B15_Resize
C01_ArrayList
C02_List
C03_List 動的な要素の変更
C04_Listのコンストラクタ
C05_Listのコンストラクタ_Capacity
C06_ListTからArrayクラスのメソッドが呼ばれている
D01_コレクションインタフェースとは
D02_異なるコレクションクラスに互換性を持たせる
D03_インタフェースの階層構造
D04_クライアントができる操作を制限させる
D05_クライアントができる操作を制限させる_後半
D06_Enumerableの拡張メソッドに関して
D07_ReadOnly系のコレクションインタフェース
D08_AsReadOnly
D09_ToListでコピーする
D10_ListTはprivateで使う
■非公開コース「C#14新機能」プレゼント:
非公開コース「C#14新機能」(80分)をご覧になりたい方は
こちらからURLとパスワードを発行していますので、ご覧になってみてください。
非公開コース「C#14新機能」を観る