タグ

RubyとDBに関するkathewのブックマーク (1)

  • 楽観的ロックと悲観的ロック - Super Neurotic Junction

    音楽の話題ではないよ。 railsで、DBのレコードロックについてちょっと調べた。 ruby on railsが提供するレコードロックは楽観的ロックと悲観的ロックの2種類がある。 この、いかにも直訳調な名称もどうかと思うけど、たいがい二つ並べて解説されているのでなんかこうよく似たものと思われがち。ところがこの二つ、実は使いどころがまったく違うシロモノだったって話。 悲観的ロックは、レコードを読み込むときかける形式のロックで、要するに「これからこのレコードをいろいろいじるのでほかのやつらは触るなよ」と言う宣言。実装はDBエンジンに依存している。MySQLなりPostegrasなり、主要なDBエンジンはたいてい対応しているはず。 楽観的ロックは、レコードを書き込むときに問い合わせる形式のロックで、要するに「とりあえず変更したレコードを手元に持っているけどほんとにこれ書き込んでいいのかな」という

  • 1