行ってきた&少しお時間をいただけたので、発表しました。
### サーガ
.NETエンタープライズWebアプリケーション開発技術大全 (Vol.5)”
箇条書きにて。
* 時間15分もらえた。
* OHPは5ページ進んだ
* 残り30(!)ページ
* サーガの定義について鋭いツッコミ
* いやー書籍における定義は、自分も怪しいとおもっていのたのだよねーと。(→OHP該当ページの一番下の行を見られたし)
* 補償トランザクションの補償は電話(=運用対処)
* 補償トランザクションの実現イメージ
* 純粋OLTP系処理なら黒伝+赤伝なるイメージとなる。トランザクションデータ(=取引系データ)に、通常の取引系データ(黒伝)と、打ち消し用取引系データ(赤伝)なる2種類を用意しておき、アプリ側では、赤伝が存在する場合は、黒伝がないものとして扱うようにする。など。
* ただ、ただ、大量データを扱うバッチの場合は実現方法にもう一工夫必要となりそうな気がする。
* また、正方向のトランザクションと、補償トランザクションの時間差も重要。Webサービスとの絡みで論じられるロングトランザクションは、純粋なトランザクションの観点では同様であるけれども、オンラインバッチの補償トランザクションとは、時間がカナリ異なる。
* これらの意味で、当日の議論は若干ずれていた気がする。その場では、理解した気になっていたのですが。すまぬ。>皆様
* バッチでキャッシュは怖い
* よねー。やっぱり。
### いろいろ
* yyamanoさんのPCの壁紙がカッコイイ。(覗き見したった。)
* 議論の参加者が増えていい感じ。
* 整理も必要かもと、ちょっとおもったが、ドメインモデルのあたりの話は複雑すぎて、参戦できず・・・。実装センスが弱いな。>俺
### 感謝
あれだけの大人数なのに、一体感をもって進められたのは、絶妙な座席配置に資する部分も大きいかと。ありがとうございます。>オージス軍団の方々。
→ GLADさんとkukutaniさんの工夫みたい。すばらしいです。ありがとうございます。
あそうか。オンラインバッチの補償トランザクションの話でしたね。確かにズレてました。orz
「ズレてる」は言いすぎかもですね。
「考え方」として延長上にあるけれども、「実現方式」はちょっと違いがありそう。
ぐらいでしょうか。
壁紙はMeshell Ndegeocelloっすね。彼女のベースはめっちゃセクシーで大好きです。
もちろん曲や声も好きなんだけど、とりあえず彼女がベースを弾いてるアルバムは聴いてみたくなります。
いろいろ書いたけど、メールアドレス不備とかで記述内容が消えてしまって悲しい。
補償の処理順がロングは赤伝(元のトランザクションと同方向)、補償は逆方向(ロールバック地点から前方に戻る)というのが差かな。でも、後者の実装の現実性については僕は疑問を持っているけど(自動化するにはそれしかないとも思う)。
ご免なさい。僕の持ってる教科書でも補償トランザクションを持つことはサーガの定義になっていた。だから、サーガ=ロングは誤りでした。
A sequence of transactions that either runs to completion or that runs a compensating transaction for every commiteed transaction in the sequence.
完全に処理するか、すべてのシーケンス内のコミット済みトランザクションを補償する一連のトランザクション=サーガ。したがって、ロングトランザクションは定義から補償トランザクションを必要としないのでサーガではない。
> yyamanoさん
おっと、ンデゲオチェロですか。なんか、自分の印象より美形に写っている(笑)気がしますねー
さるスジからyyamanoさんもBassistと伺いました。こんどBass談義しましょう!
> artonさん
J.グレイのトランザクション処理 -概念と技法- でも、#5コメントと同様の定義みたいでした。
(サラリとしか読んでないです)
>> 消えてしまって悲しい。
すんません・・・。
>> 後者の実装の現実性
正直、難しそうですよね・・・・。どうするんでしょうか。