snapshotとserializableの違い。そしてgroup commit。

勉強になったのでメモ。
1
くまぎ @kumagi

トレンド:日本 を眺めるだけでラピュタがいまどのあたりなのか分かるというこの…。

2011-12-09 23:28:06
Hideyuki Kawashima @h_kaw

@kumagi @taroleo それでそもそもの御質問ですが,read lockがwrite lockに昇格すれば,その時点でread lockは解放されているかと思います.

2011-12-09 23:28:31
Hideyuki Kawashima @h_kaw

@h_kaw @kumagi @taroleo 従いまして「read lockとwrite lockを取った場合、コミット出来ることが確定した段階で実際のwriteを行うより先にread lockを解放してコミットが出来るぜ規則」は,私が考える上では,無いのではないかと思います.

2011-12-09 23:29:21
Hideyuki Kawashima @h_kaw

@h_kaw @kumagi @taroleo ただし当方トランザクションは素人ゆえ,間違いがありましたら申し訳ありません...

2011-12-09 23:29:45
くまぎ @kumagi

@h_kaw @taroleo RLock(A)→WLock(A)のように昇格している場合ですね。そちらは学びました。RLock(A) Wlock(B) RUnlock(A) write(B) WUnlock(B)の場合、Bに書く値がロック中のAの値に基づいていればOKでは、と。

2011-12-09 23:34:23
Hideyuki Kawashima @h_kaw

@kumagi @taroleo これは2PLですから問題はなさそうに見えます.このとき,「Bに書く値がロック中のAの値に基づいていればOK」ということですが,write(B)にそのような制約が必要でしょうか?ご教授頂けますと幸いです.

2011-12-09 23:50:09
Hideyuki Kawashima @h_kaw

@kumagi @taroleo なるほど,理解いたしました.当方,理解能力が不足しているため,ご迷惑をおかけして申し訳ありません.本ですが,すみません,こちらの後半に丸ごと掲載されている筈です.http://t.co/oUlhA2lJ

2011-12-10 00:14:42
拡大
Hideyuki Kawashima @h_kaw

@kumagi @taroleo はい,同意いたします.Sに対してUは成功し,Uに対してSは失敗します.ややこしいですが...

2011-12-10 00:38:56
くまぎ @kumagi

@h_kaw @taroleo 少し席を外しておりました。非strictな2PLの仲間という事になるのですね。Aの値に基づく、というのはAをアンロックした後にwrite(B)する時にアンロック後のAを読まなければ大丈夫(代わりにロック中に複製したAを読む)という意図です。

2011-12-10 01:34:23
くまぎ @kumagi

@h_kaw @taroleo ポインタありがとうございます。こちらこそ説明が下手で申し訳ないです。お金が入り次第買おうと思います。

2011-12-10 01:37:08
Hideyuki Kawashima @h_kaw

@kumagi @taroleo そのうち,一緒に勉強できたら幸いです.2PLがconflict serializableである証明を帰納法でやっている所など,個人的には好きです.

2011-12-10 01:40:24