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

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

@h_kaw @taroleo ありがとうございます!読みます!!JimGrayさんとか雲の上の人じゃないですか…!

2011-12-09 17:40:47
Hideyuki Kawashima @h_kaw

@kumagi @taroleo 私のような地べたを這っている人間にもお優しい,素晴らしい方でした.握手したらものすごい力でびっくりしたことを覚えています.

2011-12-09 17:42:47
くまぎ @kumagi

「snapshotとserializableの違い。そしてgroup commit。」をトゥギャりました。 http://t.co/42WSZnXE

2011-12-09 18:02:15
Taro L. Saito @taroleo

@kumagi @h_kaw WAL(ARIES)は、そのおかげでIBMが昔一命を取り留めたくらい重要な技術なのでぜひ。

2011-12-09 18:09:05
Taro L. Saito @taroleo

@h_kaw @kumagi 釈迦に説法だなんて、そんな。。。 論文紹介ありがとうございます。最近transactionはやってないので、昔を懐かしんでお話させてもらっています

2011-12-09 18:16:49
Taro L. Saito @taroleo

たまにDBの論文を読むと面白い。

2011-12-09 18:27:04
Taro L. Saito @taroleo

DBのラボだったら迷わずRaghu本、Jim Gray本、Weikum本などを読むのだけど、うちのように個々が独自に研究テーマを持ってるbioinformaticsラボでの勉強会は難しい。特にやる気を維持する面で

2011-12-09 18:34:16
Taro L. Saito @taroleo

@h_kaw @kumagi この論文、今日の話やログ管理の良いまとめになってますね。すばらしい。

2011-12-09 18:43:42
Taro L. Saito @taroleo

たしかにearly lock releaseという話はちらほらでてくる

2011-12-09 18:44:36
Taro L. Saito @taroleo

DBの実装でgroup commitというと大抵asynchronous commitであってdurabilityを犠牲にしてる。それを乗り越えた上でcontext switchを減らして性能をだすのがAether、と。http://t.co/i9hdi5yN

2011-12-09 19:01:00
Taro L. Saito @taroleo

Ailamakiのとこか。道理で論文の書き方が上手なわけだ。。。

2011-12-09 19:27:34
Taro L. Saito @taroleo

似たようなテーマのDB研究のposition paper書いていてドキッとしたけど、やっぱりゲノムとは方向が違うなぁ。。。

2011-12-09 19:33:10
Hideyuki Kawashima @h_kaw

@taroleo @kumagi いやいや御謙遜を...来週は会津行きたかったのですが別件で参加できず残念です.先生のお話を伺える機会を楽しみにしております.

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

@taroleo @kumagi そそそそんなにビジネス的に重要な技術だったんですか...お恥ずかしいことに知りませんでした.ご教授頂きまして,ありがとうございます.

2011-12-09 21:43:18
oza @oza_x86

@h_kaw @kumagi @taroleo なんとも興味深い論文ですね.チェックさせて頂きます...!

2011-12-09 21:48:43
Hideyuki Kawashima @h_kaw

@oza_x86 @kumagi @taroleo PostgreSQL hackersにおいては懐疑的ですが,性能出るのかもしれません.http://t.co/X6bIE0aY

2011-12-09 21:58:19
Hideyuki Kawashima @h_kaw

@kumagi @taroleo お返事遅れました.@taroleo先生仰る通り,lock escalation or "upgrading locks"だと思います.次の本の494--496に記載されています.http://t.co/on7I7WlS

2011-12-09 22:56:52
拡大
Hideyuki Kawashima @h_kaw

@h_kaw @kumagi @taroleo "upgrading locks"の変種に"update locks"があります.これはcompatibility matrixを2x2(SS,SX,XS,XX)から3x3に拡張します.

2011-12-09 23:01:04
Hideyuki Kawashima @h_kaw

@h_kaw @kumagi @taroleo 3x3は SS,SX,SU,XS,XX,XU,US,UX,UUです.YesになるのはSSとSUのみです.つまりUは潜在的にXにupgradeしますので,Sに対してUはfailします.デッドロック防止のために考案されました.

2011-12-09 23:03:07
くまぎ @kumagi

@h_kaw @taroleo うーん、upgrade lockでMatrixが3x3というのは多分以前僕が日記に書いた http://t.co/QDWXnpyz と同じからくりだと思うのですが、多分それとは違うと思います。

2011-12-09 23:03:52
くまぎ @kumagi

@h_kaw @taroleo Sに対してUは成功するはずです、ただしUとUは衝突する上、UがXにupgradeする際に他のSが全てunlockするまで待機した気がします。意図した早期unlockは http://t.co/gGDjtqCE こういう場合を想定しています。

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

@kumagi @taroleo いえ,少し違うと思います.まず,3x3は"upgrade lock"でなくて"update lock"(こちらは 2x2)です.次に@kumagiさんご紹介の記事は,"upgrade lock"の1実装に関して述べられています.

2011-12-09 23:18:14
Hideyuki Kawashima @h_kaw

@h_kaw @kumagi @taroleo "update lock"(3x3)の直接的目的は性能向上ではなくて,デッドロック回避です(間接的には性能向上ですが).私の説明が悪いため,色々と申し訳ありません.先の教科書を読んで頂くのが本当は一番なのですが,,,難しいですね.

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

@kumagi @taroleo 申し訳ありません.私のミスです."Upgrade lock"(2x2)であり,"update lock"(3x3)です.ご迷惑をおかけしました...

2011-12-09 23:23:03
くまぎ @kumagi

@h_kaw @taroleo アマゾン非在庫で名古屋市図書館非蔵書なのでちょっと難しいです…。うーん、僕は「r(A), w(B)のロックを取った後に、Aの複製をローカルに作ったのならr(A)は解放して構わないのでは?」という意図だったので、updateとの関連がわかりません…。

2011-12-09 23:25:00