Hatena::ブログ(Diary)

marqs blog Twitter

2011-12-05

InnoDBのテーブル統計情報について

こんばんは。
MySQL Casual Advent Calendar 2011 5日目担当のid:marqsです。
東京は12月6日になってしまったかもしれませんが、京都は霊力が強いせいかまだ12月5日のようです。
MySQLにまつわるCasualなネタ、なかなか思いつかなかったのですがちょっと前に調べたInnoDBのテーブル統計情報について書いてみます。

InnoDBのテーブルのインデックス統計情報ですが、基本的に以下のタイミングで更新されます。

  • テーブルがオープンされたとき
  • テーブル統計の情報が更新された後、テーブルの全行数の1/16が更新されたとき
  • テーブル統計情報の更新後、20億行以上の行が更新されたとき
  • ANALYZE TABLEが実行されたとき
  • SHOW TABLE STATUS, SHOW INDEX FROM …が実行されたとき

この統計情報の更新処理ですが、@nippondanjiさんがブログでも解説されているように、ランダムにページを8回抽出して近似的に統計値を算出するため、そんなに重い処理ではないようです。
ただ、テーブルのオープン時やSHOW TABLE STATUS , SHOW INDEX FROM … の実行時に毎回ランダムにページを取得して統計情報が更新されるので、管理用コマンドの実行やMySQLの再起動などにより、意図せず実行計画が変わる可能性があります。また、インデックスが多数ある場合、全くIOが発生しない処理かというとそうでもないので、統計情報の更新があまり頻繁に発生するとパフォーマンスに影響を与えることがあります。
こういった場合、innodb_stats_on_metadataという変数をOFFにしてやれば、管理系コマンドの発行時などに自動的にインデックスの統計情報を更新することはなくなるようです。(innodb_stats_on_metadataはMySQL 5.1.17以降で実装済)
しかし、それでも統計情報はサーバのリスタート等で消えてしまうので、実行計画に影響を与えないというわけではありません。
http://dev.mysql.com/doc/refman/5.1-olh/ja/innodb-parameters.html

MySQL 5.6では、この統計情報の管理部分がPersistent Optimizer Statsというトピックとしてさらに改善されているようで、特にANALYZE TABLEで取得した統計情報がディスクに書き込まれるようになったようなので、サーバの再起動後も同じ統計情報を参照できるようになり、クエリの実行計画は安定しそうです。MySQL 5.6では他にもperformance_schemaにかなりパフォーマンスチューニングに使えそうなサマリ集計(table_io_waits_summary_by_table等々)が実装される予定なので、個人的にはリリースがとても楽しみです。
http://dev.mysql.com/tech-resources/articles/whats-new-in-mysql-5.6.html

また、今回ANALYZE TABLEがいつ統計情報を更新しているか、innodb_stats_on_metadataがどういったフラグとして動いているのかを知るために、興味本位でMySQLのソースコードを少し読んでみたのですが、日常的にC/C++のプログラムを書かない僕でも意外と追いやすいソースコードでした。普段は、MySQLのコードなんか読まないひとも、たまにCasualにMySQLのソースコードを覗いてみるのもよいかもしれません。

では

2011-07-31

ハンバーガーを作ってみた

ここ最近ハンバーガーが大好物なのですが、せっかくだし自分でも作ってみようということで、自作してみました。
作る前にインターネットでレシピをいろいろ調べたのですが、パティにハンバーガーみたいに玉ねぎやパン粉を入れるレシピや、単に塩コショウとハーブだけで焼くアメリカンな感じ(?)のレシピ、バーベキューソースなど既製品ソースを使うレシピなどいろいろなバリエーションがあったのですが、逆にレシピがありすぎてよくわからなくなり、最終的にはなんとなくフィーリングで作ってみました。
これが、意外と美味しかったので、今後も継続的に作ってみたいとおもいます。

今回作った際に気づいたことをいくつか書いておきます。

  • パティの焼き上がりとバンズの焼き上がりのタイミングが超重要
  • いい感じのバンズがなかなか売っていない
  • 特製ソースがなくてもケチャップとフレンチマスタードで十分おいしい
  • 初めてだとフライドポテトまで作ってる余裕は全然ない

Let's enjoy delicious humberger life!

f:id:marqs:20110731193908j:image:w300

材料

  • 牛ミンチ(牛細切れ肉のカットしたやつでも可)
  • コショウ
  • ナツメグ
  • 板状のとろけるチーズ(チェダーチーズとか特においしいかも)
  • バンズ(なければロールパンなどで代用可)
  • アボカド
  • トマト
  • レタス
  • ピクルス
  • ケチャップ
  • マスタード
  • 玉ねぎ
  • チーズ

作り方

  • パティをこねる
  • パティを焼く
  • バンズを焼く
  • 焼きあがったバンズにパティを載せる
  • 各自トッピングしてできあがり

パティこねこね

ナツメグと卵と塩コショウくらいしか入ってません。今回はちょっと脂身が多すぎたかも?
f:id:marqs:20110731185257j:image

パティ焼き中

玉ねぎも一緒に焼いてます。これはかなり美味しかった。
f:id:marqs:20110731191242j:image

ベーコン

ちょっと焼き過ぎました(笑)
f:id:marqs:20110731185123j:image

出来上がり

f:id:marqs:20110731193328j:image

2011-06-25

DevOpsカンファレンスを開催しました

昨日渋谷にてDevOpsカンファレンスを開催してきました。総勢118人の方に参加いただき、大盛況でした。
もともと、id:akuwano(@kuwa_tw)さんと去年くらいから「何か勉強会をしたいね」といった話を何度かしていて、「普段あまり発表されることのない運用系の話もできる勉強会をしよう!」というところまで決めていたのですが、なかなか実現できずにいました。
そんな中、5月にオライリーから「ウェブオペレーション――サイト運用管理の実践テクニック」という書籍が出版され、「これを機会に是非DevOps系の勉強会を開催しよう」ということで、今回の開催となりました。
当日は受付が混み合ったり、時間的にパネルディスカッションができなかったり、いろいろ不手際がありましたが、全体としては「面白かった、興味深かった」というコメントが多く、参加者の方にも(いろいろご不便はおかけしましたが)楽しんでいただけたのかなと思っています。
突然にもかかわらずオープニングトークを快く引き受けてくださったid:MIZZY(@gosukenator)さん、とても興味深いDevOpsトークをしてくださった@hiroshi19790209さん、@riywoさん、会場運営を手伝ってくださったサイバーエージェントの方、どうもありがとうございました。またid:akuwano(@kuwa_tw)さんがいなかったらそもそも今回のカンファレンスさえ実現できなかったので、感謝です。
最初は単発の予定だったのですが、もっといろんな方のDevOpsトークを聞きたいなと思いますので、第2回も開催する予定です。今回の参加者はOpsが多めだったので、今度はDevの参加者数ももう少し多くなるようにしたいですね。早速@acotieさん登壇してくださるとの情報もありますw

最後に、今回DevOpsカンファレンスを開催して一番よかったと思えた部分を、id:MIZZY(@gosukenator)さんが書いてくださっていたので引用させていただきます。本当にこの言葉につきると思います。


帰り際に @marqs さん と、みんな同じような問題意識を抱えているんだな、ということ、ただそれを適切に表す言葉がいままでなかったために、お互いの共通認識として情報を共有する場を持てなかった、でも、DevOps という言葉が与えられることによって、それがはっきりと共通認識として浮かび上がり、共有する場を持てるようなった、それって、とても素晴らしいことだよね、なんて事を話して、がっちり握手を交わしてきました。DevOpsカンファレンスが胸熱だった


発表資料や各種関連情報のリンクは以下です。全部は追いきれていないので随時追加します。

PARTAKE、togetter

DevOpsカンファレンス - [PARTAKE]
第一回 DevOpsカンファレンス - Togetter

参加レポート

DevOpsカンファレンスに行ってきた - blog.tnmt.info
Gosuke Miyashita
kanblr - DevOpsカンファレンスに行ってきた
DevOpsカンファレンス@サイバーエージェント - jitsu102の日記
DevOpsカンファレンスに参加 - capsctrldays(2011-06-24)
DevOpsカンファレンスへ参加(するつもりでした) - atkondoの日記
DevOpsカンファレンスに行ってきた - tagomorisのメモ置き場
DevOpsカンファレンス 2011/06/24に行ってきた。 - にじにじだんす-ざれごと
DevOpsカンファレンス #1 @サイバーエージェント - ヌキのやる気のないエンジニアブログ
第1回 DevOpsカンファレンス に参加&発表してきました - 256bitの殺人メニュー
DECOLOG TECH BLOG: 第1回 DevOpsカンファレンスのお礼と話したことの補足
DevOpsカンファレンスの感想とか。 - けめも。
CREATE TABLE blog AS SELECT * FROM john_doe_; : 6/24 DevOpsカンファレンスに行ってきました
DevOpsカンファレンスいってきた - /dev/ori53
DevOpsカンファレンスに行ってきた #devopsjp - blog.comewalk.com

id:MIZZY(@gosukenator)さんのオープニングトーク

marqsの発表資料

@kuwa_twさんの発表資料

@hiroshi19790209さんの発表資料

marqsおすすめのOwl City

All Things Bright & Beautiful

All Things Bright & Beautiful

開催のきっかけとなった「ウェブオペレーション――サイト運用管理の実践テクニック」

2011-01-05

2010年に見た映画ベスト5

2010年に公開された映画のベスト5と感想です。

個人的な2010年の映画ベスト5はこんな感じ(↓)になりました。

  1. キック・アス
  2. ゾンビランド
  3. トロンレガシー
  4. (500日)のサマー
  5. アイアンマン2

キック・アス

f:id:marqs:20101225012646j:image
なんといっても、先日公開初日に観に行ったキック・アスがダントツの1位です。アメコミテイスト好きにはたまらない映画でした。あと、ヒットガールの可愛さが最高ですね。クロエ・モレッツは来年絶対ブレイクしそうです(もうブレイクしてる気もするけど?)。結末も後味悪くなることなく、エンタテイメントとしても、マニア向け映画としても面白かったです。多少バイオレンスな描写が入るけど、相当おすすめです。ひとりで絶賛していたんですが、その後に観に行ったid:shiumachiも気に入ったようです。

ゾンビランド

ゾンビランド [Blu-ray]

ゾンビランド [Blu-ray]

ジェシーアイゼンバーグ、アビゲイル・ブレスリンエマ・ストーンと今後注目の俳優が出ていいてこっそり豪華なものの、ストーリは限りなくバカなゾンビ映画です。どうもアメリカにはゾンビ映画というジャンルがあるみたいですね。グロいけど、オープニングとか、映像の撮り方もなかなかかっこよかったです。エマ・ストーンはEasy Aも評価が高いようで、要注目です。次期スパイダーマンのヒロインにも大抜擢されたそうです。

トロンレガシー

f:id:marqs:20110105231932j:image:w300
映像がかっこいいです。予告編を観て黒と青のコントラストがいいなぁと思っていたんですが、ほぼ全編そのテイストが一貫していたのが素晴らしかったです。映画館の大きなスクリーンで見るからこそ価値のある映像な気がします。クオラのオリビア・ワイルドもいいかんじですね。自分も前髪を斜めにカットしようかとおもってしまいましたw。DaftPunkのPVっぽいという人もいますが、DaftPunkっぽい曲はクラブのシーンとエンドタイトルくらいじゃないでしょうか?駄作だという人も多いですが、結構好きです。

(500日)のサマー

映像、ストーリー、俳優どれもモダンな感じで面白いです。ズーイー・デシャネルも可愛いです。とはいえ、ラストシーンもよいです。にっこりできます。ちなみにこの映画の監督(マークウェブ)は次期スパイダーマンの監督に抜擢されたようです。どんなスパイダーマンになるか全然想像できないですが楽しみです。スパイダーマンはエマ・ストーンも出演するようで、とても楽しみです。

アイアンマン2

この手の映画の続編は大味になりすぎて面白くなくなることも多いのですが、結構よくできていた気がします。ペッパーポッツも健在でした。若干オラクルのプロモーション映画みたいな感もあったけど、徹底してかっこよっく面白い感じにしていて素敵でした。男の子向け映画だけど、エンターテイメントとしては誰でも楽しめる映画だと思います。ちなみに、ストーリーは全然覚えてません。

次点1 インセプション

インセプション Blu-ray & DVDセット (初回限定生産)

インセプション Blu-ray & DVDセット (初回限定生産)

エレン・ペイジとジョゼフゴードンヴィレットを知ったのが一番大きかったです。クリストファー・ノーランの映画としては、ダークナイトがいまだに一番かなぁ。

次点2 第九地区

第9地区 [DVD]

第9地区 [DVD]

街やエイリアンの描写の微妙にすすけた感じの質感がよかったですが、ニール・ブロムカンプにはやっぱりHALOの映画をやってほしかったです。

2010-08-16

ジャークチキン(もどき)を作ってみた

なおたけ(@)さんのブログ(Sotto Voce: Whereness and Whatness: Jerk Chicken)で紹介されていてとても美味しそうだったジャークチキンをつくってみました。なおたけさんの作られたものより、だいぶお手軽仕様になっています。一番の違いは、オーブンを使ったところでしょうか。また、ビジュアル的にも焦げ目がなかったり、あまりジャーク感(邪悪感?)がないものに仕上がりましたが、それはそれで美味しかったです。
次回やるとしたら、

  • やっぱり炭火でじっくり焦げ目をつけつつ焼いてみる(これだけでかなり変わりそう)
  • ハバネロもうちょっと入れる(辛すぎるとよくないのでハバネロ一個にしたけど、辛さがユルかった)
  • 骨付き肉でやってみる

を実践してみたいと思います。
あと、やっぱり本場のジャークチキンを食べてみないとですね。どこか美味しいお店ないかなぁ。

ハバネロをカット

今回はこちらで買わせていただきました。即日配送で便利でした。
→ 激辛 ハバネロ ハラペーニョ や調味料・スパイス とうがらし販売の「ペッパーフレンズ」
f:id:marqs:20100815103412j:image:w400

ジャークソースをつくる

基本的になおたけさんのレシピ通りにしました。レシピに載っていたのの半分の量でやってみました。ネギが予想より大分多く必要です。
f:id:marqs:20100815104527j:image:w400

鶏肉をつけこむ

骨付きモモ肉はなかったので、骨なしの普通のモモ肉です。実は、なおたけさんのブログにはスパイスの分量は書いてあったのですが、肉の量が書いていなかった!!!ので適当です。実際のところは、モモ肉4枚を使いました。
f:id:marqs:20100815110741j:image:w400

オーブンで焼く

写真はないのですが、ここが一番なおたけさんのレシピと違う点です。炭火を用意する時間がなかったので、ヘルシオで焼きました。20分くらいかな。

完成

タンドリーチキンの別スパイスバージョンみたいな味でした。美味しかった!
f:id:marqs:20100815194429j:image:w400
f:id:marqs:20100815200035j:image:w400