NHN テクノロジーカンファレンス #nhntech まとめ
MHA MySQL - Master High Availability データの整合性を保ったままマスターDBの切り替えをやってくれる。アプリケーションも自動で参照先を切り替えてくれる。 #nhntech
2012-05-19 15:53:01#nhntech MHAキター。データの整合性をたもち、スプリットブレインがおこらないように、マスタ切り替え。IPのきりかえまでもやってくれる。夜中におちても切り替え時間だけの停止。計画的に使うこともできる。スキーマ変更をあたららしいマスタでやっておいてきりかえる時に使う。
2012-05-19 15:53:51訂正→MHA - MySQL Master High Availability #nhntech
2012-05-19 15:55:05#nhntech 後半。+10TBのはなし。まずはPurgeの話。容量枯渇しちゃうので古いメッセージやログはタイムスタンプを見て消す
2012-05-19 15:55:48#nhntech DELTEでWHERE条件にtimeいれるとレプリ遅延への道。そうならないように、バックアップDBから主キーを取得して消す。それでもレプリ遅延はおこるのでみながら消す。MySQL5.1以降はRANGEができるようになったのでこの努力はいらなくなった。
2012-05-19 15:57:31tableの不要な古いデータをpurgeするケース。MySQL5.5以降であればrange partitionを使ってDROP PARTITIONで消すと速い。 #nhntech
2012-05-19 15:58:32#nhntech プライマリキーでのSELECTの機会は多い。そこでHandler socketの登場。SQLパーサをはぶけるので速くなる解説。
2012-05-19 15:59:55#nhntech UPDATEの最近の命題。ロックをどれだけ短かくするか。ソシャゲは綺麗なもんばかりじゃないのでデッドロックはおこる。そこでロックの順番をアプリで管理させる(理想) or バージョンをつかって楽観ロック
2012-05-19 16:01:39#nhntech レプリ遅延は事前ベンチしてもわからない。モバゲーではslaveのほうがスペックを高くしているので予兆がわかる。
2012-05-19 16:02:33#nhntech SATA SSDでもいいよ。PCI SSDはつかえるともかぎらない。
2012-05-19 16:03:06DBサーバーを仮想化してしまうとIOに問題が出てしまう。 #nhntech
2012-05-19 16:04:26#nhntech 藤本さん:マルチマスタのために仮想化はどうよ? A: 仮想化だとIO遅くなるので、複数のMySQLをはしらせたほうがいい。
2012-05-19 16:04:50#nhntech 伊勢さん: DBリンクはどうよ? A: すでにアプリでわける形ができていた
2012-05-19 16:06:01#nhntech mysqldumpはいろいろメリットがあるので現役!
2012-05-19 16:09:04