DeNAのMySQLのノウハウがまとめられた記事「ソーシャルゲームのためのMySQL入門」

2010/11/15 月曜日 Posted in 記事紹介・リンク | No Comments »

DeNAの技術者が書いているブログ「Technology of DeNA」に興味深い記事がありましたのでご紹介します。 → Technology of DeNA ソーシャルゲームのためのMySQL入門 [engineer.dena.jp] そのタイトルの通り、DeNAがソーシャルゲームを開発・運用する上で使っているMySQLのテクニックとノウハウがまとめられた記事となっています。 「ソーシャルゲームのための」となっていますが、特にゲームならではの特別な内容はなく、一般的な大規模アプリに応用可能な内容になっていると思います。 特にDELETE文が遅いのでMySQL5.1から実装された「パーティーション機能」を使ってパージを実現する、というノウハウが大変役立ちそうです。 大量のデータを削除したい、ということはよくあるので、私も早速使わせて貰おうと思います。 関連: DeNAのエンジニアがYAPC Asia 2010で発表した資料がまとめて公開されています CEDEC 2010でDeNAとGREEが語ったモバイル向けソーシャルゲームに関するノウハウ モバゲータウンで使われているMySQLデータベースへのアクセスを高速化するためのプラグイン「HandlerSocket」 Read more..

モバゲータウンで使われているMySQLデータベースへのアクセスを高速化するためのプラグイン「HandlerSocket」

2010/8/25 水曜日 Posted in 記事紹介・リンク | No Comments »

モバゲータウンで使われている、MySQLデータベースへのアクセスを高速化するためのプラグイン「HandlerSocket」というものがあるらしいです。   → Technology of DeNA HandlerSocketソースコード公開しました [engineer.dena.jp] → DeNA Technology Seminar #2で使用されたプレゼン資料 HandlerSocket plugin for MySQL [www.slideshare.net]   上記資料によると、非SQLでインターフェイスを提供し、リクエストを集約して実行することや、独自プロトコルで通信量を減らすなどの処理で、単純な参照クエリで数倍~10倍程度も早くなるとのことです。 使いこなすのはなかなか難しそうなところですが、モバゲータウン内では実際に利用されているとのことです。 ソースコードも公開されていますので、興味のある方は見てみてはいかがでしょうか。   HandlerSocketについては、DeNA Technology Seminar #2で使用されたという、こちらのスライド資料がわかりやすいです。   HandlerSocket plugin for MySQLView more presentations from akirahiguchi.   関連: モバゲータウンPC版のサービスが終了し、ヤフーモバゲーに引き継ぎとなるようです ブックレビュー:DBマガジン2010年8月号「モバゲータウン構築/運用のすべて」 DeNAのサービスを開発・運営するに当って得た知識を技術陣が執筆するブログ「Technology of DeNA」 Read more..

MySQLとPostgreSQLのRepeatable Read時の挙動の違いについて

2010/7/2 金曜日 Posted in サーバ | 1 Comment »

モバイルとは全く関係ないですが、自分のメモ代わりに記事にしてみたいと思います。 たまたまテストしていて、MySQLとPostgreSQLのRepeatable Read時の挙動の違いを見つけました。   AさんとBさんという二人のユーザが同時に一つのレコードを更新している場合です。 user_tblのuser_typeというカラムを「0」→「1」にアップデートしています。 分離レベルはMySQL、PostgreSQLともにRepeatable Readです。   Aさん ... Read more..

PHP+MySQLのお仕事を手伝ってくれるパートナーを募集中です

2010/1/19 火曜日 Posted in お知らせ | No Comments »

本日はこの場を借りてお知らせです。 ke-tai.orgを運営している「株式会社インフィニットループ」では、現在「PHP+MySQL」を使った開発業務案件を多数抱えており、お手伝いいただけるパートナー(企業様・個人の方)を募集しています。   期間: 2010年2月ごろから3ヶ月間程度~ (他案件・追加開発の可能性もありますので長期でお付き合いできるパートナー様を歓迎しています) 人数: 2名程度 条件: ・PHP+MySQLを使った開発経験があること ・遠方の方の場合は、Skypeを使って常時連絡を取り合えること ・札幌近郊の企業様・個人の方、ケータイ向けシステム開発、ブラウザゲーム開発、mixiアプリなどのソーシャルアプリ開発の経験がある方は特に歓迎いたします 募集期間: 2010/1/19(火)17時 ~ 2010/1/22(金)13時まで 申込方法: 下記お問い合わせフォームからお申し込みください。 ・ご用件題名に「パートナー募集係」 ・お名前(企業様の場合は、企業名と担当者名) ・メールアドレス ・お電話番号 をご入力ください。折り返しメールにてご連絡させていただきます。 → 株式会社インフィニットループ お問い合わせフォーム [infiniteloop.co.jp]   ひとまずもう少し詳しい業務内容を確認したい、質問がある、等等どんな形でもOKです。まずは上記フォームからお気軽にお問い合わせください。   関連: 2009年12月の人気エントリーまとめ 2009年11月の人気エントリーまとめ 2009年10月の人気エントリーまとめ Read more..

ブックレビュー:Linux-DB システム構築/運用入門

2009/10/16 金曜日 Posted in ブックレビュー | No Comments »

今回はケータイとは直接関係ありませんが、先日購入したDBについての書籍のレビューを書きたいと思います。 ケータイと関係ないとはいっても、全くそういうわけでもなく、ケータイサイトはPCよりもアクセスが集中するケースも多く、ページ遷移も頻繁で、その結果DBの負荷も大きくなりがちです。 パフォーマンスを意識したサイト作成は、必須の技術とも言えるでしょう。 今回ご紹介するのは、そのような技術を身に付けたい方にとってとても役立つ一冊です。   → Amazon Linux-DB システム構築/運用入門 [amazon.co.jp]   結論から言うと、本書はかなりの良書だと思います。 MySQLのDB構築・設計に関わる方であれば、絶対に目を通しておいて損の無いといえる内容となっています。 Amazonでは評価の★がついていませんでしたので、実際に本屋で中身を見てみてから購入したのですが、これは買ってよかったです。 (後ほどamazonの方にもレビューを書いておきたいと思います)   目次は次のようになっています。 Chapter 01 論理ボリュームマネージャ(LVM)を活用する Chapter 02 Heartbeatによるクラスタ環境の構築 Chapter 03 DRBDによるネットワークミラーリング(前編) Chapter 04 DRBDによるネットワークミラーリング(後編) Chapter 05 高可用サーバーの構築 Chapter 06 現場で使われる高可用構成 Chapter 07 DBサーバーのパフォーマンス概論 Chapter 08 インデックスのチューニング(前編) Chapter 09 インデックスのチューニング(後編) Chapter 10 DBサーバーのハードウェア選定 Chapter 11 SSDの効果とアプリケーションへの影響 Chapter 12 メモリ管理とスワップ領域の制御 Chapter 13 ファイルシステムとI/Oスケジューラ Chapter 14 Linux-DBサーバーにおける負荷テストの心得 コラム ※詳細な目次はこちらに記載されています。 → SE shop.com Linux-DB システム構築/運用入門 [seshop.com]   本書は、DBマガジンの連載「Linux-DB システム構築入門」が、今年の9月に書籍としてまとめられたものです。 Linux-DBシステムという題名になっていますが、特にLinuxに特化した内容というわけではありません。 BSDやSolarisなどにも十分に応用可能です。 また、DBとやや抽象的な題名にもなっていますが、ほぼMySQLをターゲットに書かれていると思って間違いありません。   内容は、どの章もかなり深いところまで突っ込まれており、現場のノウハウが詰まっています。 特に2章に渡って書かれたインデックスのチューニングについては、SQLを使うプログラマにとって必見です。 絞込みやソートなどの際に、どのようなメカニズムでインデックスが利用されるかといった点にポイントがおかれて書かれており、内部構造の理解につながります。 自分がDBについてまだまだ理解していなかったことを思い知らされる内容でした。   Heartbeatを使ったクラスタの構築などの高可用性に関する章も充実してますので(むしろそちらの内容がメイン?)、インフラ屋さんにとっても役に立つと思います。 また、SSDを使った場合の効果など、新し目の話題も載っているのが嬉しいですね。   このように入門という名前は付いているものの、かなり深い内容で満足度は高いと思います。 私は今やっている仕事で負荷に悩まされていたため、大変ためになりました。 これでパフォーマンスアップは確実です(笑) 全体として偏った内容の記述もなく、顧客の求める高可用性やパフォーマンスをいかに実現するかについて、バランスよく解説されています。 (著者は普段はMySQLのコンサルティング業務に就かれているとの記述があり、納得しました) プログラマーの方もサーバ管理者の方も、データベースを触るお仕事につかれている方は、読んでおいて損の無い一冊だと思います。   関連: ブックレビュー:携帯サイト構築バイブル ブックレビュー:携帯Webコレクション モバイルデザインアーカイブの本。 ブックレビュー: Flash Liteで作る携帯コンテンツ実践教科書 Read more..