今回は短めです。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新機能」を観る
参考にした書籍
実戦で役立つ C#プログラミングのイディオム/定石&パターン
プログラミングC# 第8版
オブジェクト指向
・アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技
すばらしい本です。オブジェクト指向が詰まっています。
・オブジェクト脳のつくり方―Java・UML・EJBをマスターするための究極の基礎講座
サンプルコードはjavaですが,最初にオブジェクト指向に目覚めるのに最適な本です。
・Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本
マンガみたいな感じで読めて,オブジェクト指向について学べます。
・Clean Code アジャイルソフトウェア達人の技
・Clean Architecture 達人に学ぶソフトウェアの構造と設計
・Adaptive Code ~ C#実践開発手法
・.NETのエンタープライズアプリケーションアーキテクチャ
・実装パターン
廃盤のため異常に高くなりすぎなので,様子を見た方がいい気がします。一万円のボリュームがあるかどうかは微妙です。
・オブジェクト指向でなぜつくるのか
・レガシーコード改善ガイド
・リファクタリング 既存のコードを安全に改善する
デザインパターン
・オブジェクト指向における再利用のためのデザインパターン
・オブジェクト指向のこころ
・Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本
ドメイン駆動開発
・エリック・エヴァンスのドメイン駆動設計
・実践ドメイン駆動設計
・ドメイン駆動
・現場で役立つシステム設計の原則
・エンタープライズアプリケーションアーキテクチャパターン