blogこの広告は、90日以上更新していないブログに表示しています。2009-12-21MySQLユーザー会2009年冬に参加してきたmysqhttp://atnd.org/events/2512元々はkazuhoさんにShibuya.pmの懇親会でお金を借りてしまってて、年内に返したかったという非常に個人的な事情で参加して、tritonnの開発者の人に会えたりする機会はあんまりなさそうだし、運用とかに関して色々聞いてみようかなぁと思って参加しました。始めなんか機材トラブルみたいなのがあったらしくて、10分ぐらい遅刻してしまったが、何も影響がなかった。その間に色々突発でセッションがあった。以下ざっくりとしたまとめ。自分の知識より詳しいレベルの話がかなり多いコアな会だったので色々間違いなどあるかと思いますが、訂正よろしくおねがいします。2010は開催することが決定したらしい日本でも何かMySQLのイベントやりたいとかだった気がします。個人的によく話してるので、特に目新しい話はなかった気もする。懇親会tritonnよくぶっ壊れる自分も経験あり。最近起きたのは社内のサーバーが応答しなくなったときに電源断したら、tritonnが起動できなくなったのでinstallやりなおした。tritonnはWeb屋さんとしては、replicationしとけばよいので導入は簡単だけど、運用はややめんどうなことも多い。マスターとスレーブのメジャーバージョンは合わせとかないととか。あとは、masterがInnoDBでslaveにtritonnを持ってくる構成とかのときに、MyISAMでないといけないので、最初の前件データとかつくる際にテーブルデータをhotcopyするだけじゃダメなところとか。XtraBackupってどうなの?あまり利用経験のある人はいなかった作者の木下さんは頼まれて作ったらできちゃっただけなのであまり気にいっていないといっていたw基本的にはLVMと似たようなことをやるらしいLVMでは、snapshotを取る命令をした瞬間のsnapshotがとれるが、XtraBackupではinnoDBに命令をして、それ以降のログファイルをうまく解析することで、処理が終わったタイミングでのsnapshotがとれるらしいちゃんとLVMを導入している環境であればバックアップにはLVMで十分で、LVM入っていないけどDB動いちゃってるとかであれば試してみるとよいのかも。pluginに色々高速化するようなパッチを当てたもの起動時にlogをなめて壊れていないか確認する処理が遅いので10倍くらい高速化するパッチとかSSDだと、seekが遅いという前提はないので、HDD前提の余計な処理をしないようにしたようなオプションをつけられるとかあとは細かく非常にマニアックなパッチの紹介とかが色々ありましたが、メモを取りわすれたので詳細な中身はあまり思い出せない。あの資料とか公開されてないでしょうか。tokuhiromYAPCでやったやつ。libdrizzleは意外とstorageエンジンとか作ってみたりする人でも意外と触ってないらしい。BSDライセンスというところとか、APIがより洗練されているところがよいので、libmysqlclientの代替としてよいよという話。drizzleはutf-8以外サポートしてないんだけど、そういうのはどうなるの?検証していない。誰か調べてくれるとうれしい。動かないとすればそういう割り切りができる環境ではありかも。tmtmさんRejectKaigi2009でやったやつ。mysqlプロトコルをしゃべるためにruby1.9のpackとかしたときにエンコーディング情報が抜け落ちてASCII-8BITになってしまうのをどう対策しているかを聞いたmysqlでは接続情報にエンコーディング情報があって、それを指定しておけばサーバーサイドで適切なエンコーディング情報に変換して返してくれるのでライブラリではpackしたあとで、接続エンコーディング情報を元にforce_encodingすればよいらしいやっぱりRDBMSはすばらしいOracleどうなるの?Montyの声明に対しては賛否両論を集めているらしいhttp://www.computerworld.jp/topics/osst/170289.htmlあとは...SpiderについてSpiderには複数のクエリを各ノードに対して並列で投げるようなUDFが定義されてる。それを使えばサーバーレベルでNet::Drizzleっぽいことができるかも。そのUDF内だとUDF使えて、spiderのbackendにQ4Mみたいなやつを置いたりもできる。storageエンジンを使って2重にDBを作った状態を作り出して、裏側のnodeを再分配してから投入するとか。そのあたりはツールが欲しいよね。Clusterとの比較論争とか。engineを持ったノードに関してはtable情報くらいしか持っていないので、同じテーブルの状態を作ったノードを複数並べればそのままスケールするはず。engineノード間で情報をやりとりはしないので、テーブル情報を変えてreshardingするときはいったん1台にしないと...あとは2時ぐらいまでぐだぐだ雑談していましたそのあと数名は朝まで飲んでたとか。遅くまで会場を提供くださったgreeさん本当にありがとうございました。TB送るとよいらしいのでリンク貼っておく。(1)はてなブログをはじめよう!walf443さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。