mysql:14138
From: "Hiroyuki Yamada" <"Hiroyuki Yamada" <yamahiroyu.y@xxxxxxxxxx>>
Date: Mon, 30 Jul 2007 12:21:07 +0900
Subject: [mysql 14138] アプリケーションレベルでの書き込みの分散について
MySQLにおける書き込みの分散について質問させてください。
現在、書き込みが多いサーバーを運用しており、
その書き込みをアプリケーションレベルで複数マシンに分散させたいとおもっております。
考えている手段としては、ユーザごとに書き込み先を分散させる方法で、
例えば、
user_id 1-100000 => マシン1へ書き込み
user_id 100001-200000 => マシン2へ書き込み
のようなことです。
例えば、2つのテーブルがあるとして、
(現状は、もうちょっと複雑ですが、説明をわかりやすくするために、2つのテーブルで説明します。)
user - ユーザのプロファイル等(書き込み少ない)
user_write - ユーザの書き込み履歴(書き込み多い)
user への書き込みはあまりなく、user_writeへの書き込みがとても多い状況なので、
user_writeのみを分散したいと考えています。
--------
user
--------
--------------- ---------------
user_write1 user_write2
--------------- ---------------
この際、user_write1 と user を一貫性を保ったまま更新したい場合は
どのようにするのが一般的でしょうか?
(両方とも成功する必要があり、片方の失敗は許されない)
MySQL5からのtwo phase commit はこのような複数マシンをまたがったような
トランザクションにも対応できるのでしょうか?
よく出てくるmixiの例などは参考にしていますが、
(http://blog.livedoor.jp/nipotan/archives/50538571.html)
複数マシンへの書き込みに関しては具体的な方法がないので、
ちょっと困っております。
みなさんなら、こういう状況でどうされますでしょうか?
ご教授ください
Hiroyuki Yamada
-> 14138 2007-07-30 12:21 ["Hiroyuki Yamada" <y] アプリケーションレベルでの書き込みの分散について 14142 2007-07-31 15:00 ┣["T.Hirotsu" <hirotsu] 14143 2007-07-31 18:18 ┣["Kensuke Kaneko" <ky] 14144 2007-07-31 21:26 ┃┗["T.Hirotsu" <hirotsu] 14145 2007-07-31 23:53 ┃ ┗["Hiroyuki Yamada" <y] 14151 2007-08-01 12:04 ┗[<ikari-ml@xxxxxxxxxx] [meiwaku#]Re: アプリケーションレベルでの書き込みの分散について