InnoDBについて一番大事なことは主キーがクラスターインデックスだということです。 クラスターインデックスでは、主キー(B-tree)のリーフページにデータが直接格納されています。 以下の図のようなイメージです。 一方、主キー以外のインデックス(副次インデ... 続きを読む
ずいぶん時間があいてしまったけど、大規模コンシューマ向けサービスRDB設計の続き。 僕はこのプロジェクトを自分のRDBの知識を使って革新してやろうと思って臨んだ。しかし結果として逆に、コンシューマ向けサービスに最適化されたRDBの使い方について教わるこ... 続きを読む
僕らが最近手がけているのは、とても大規模なコンシューマ向けサービスだ。100万人の契約ユーザが使い、1テーブルに1億レコード以上のデータを貯め、24時間止めることが許されず、要求から応答までのターンアラウンドタイムが1秒以内という厳しいSLAのサービス... 続きを読む
これまでPublickeyではデータベースのスケーラビリティに関するさまざまなトピックを取り上げてきました。クラウド時代にはスケーラブルなデータベースのニーズがこれまでになく高まっているためです。 この記事では、これまで取り上げてきたデータベースのスケ... 続きを読む
はじめに こんにちは。プラットフォーム開発部のsp1rytusと申します。 先日、私もついに30歳のおっさんになってしまいました。加齢臭が出ないようにがんばります! ランキングって? ランキングは誰でもわかる、何らかの得点をソートして順位位置を決定する凄く... 続きを読む
SQLのインデックスに関する電子書籍が無料配布されていたのでメモ的にエントリー。なんとなく使っているインデックスをきちんと理解したい人におすすめ、かな。 ↑ ボリューム1とボリューム2がありますね。現在はボリューム1のみ。ちなみにePub形式。 ↑ 開いて... 続きを読む
当時非常に高価だった商用 DB は乏しい研究予算では買えなかったですし, 研究目的としてはソースコードがあったほうが良いので,フリーソフト(当時は「オープンソース」という言葉はまだありませんでした)で公開されているものを探しているうちに出会ったの... 続きを読む
研究員の棚橋です。最終回は「SQLのやっちゃ駄目」後編です。 これまでの記事 フレームワーク開発時代のSQLチューニング基礎(1)EXPLAIN句 フレームワーク開発時代のSQLチューニング基礎(2)SQLのやっちゃだめ前編 3.SQLのやっちゃ駄目(後編) 条件指定... 続きを読む
MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。本日はそ... 続きを読む
皆様、はじめまして。 7月入社のトクヤマと申します。 以後、お見知りおき頂ければ幸いです。 私は以前、別の会社の仕事でPostgreSQL,MySQL,Oracle,SQLSeverを同時に運用していたことがありました。 また現在はMySQLとPostgreSQLを運用しています。 今回はそれ... 続きを読む
いつの間にか会社で古株になったyamaokaです。 webアプリケーションのバックエンドにMySQLを使っている場合、 クエリ(SQL)のチューニングをする必要がありますよね。 皆さんはチューニングの計画をどのように立てていますか。 もちろん、既に明らかに重いこと... 続きを読む
モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身の... 続きを読む
ソーシャルゲームのためのMySQL入門その2 by Ryosuke IWANAGA 2011/02/16 16:00 on MySQL こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。前回の記事が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんば... 続きを読む
研究員の棚橋です。前回に引き続いてSQLのチューニング例を例示していきます。 3.SQLのやっちゃ駄目(前編) それでは、SQLクエリのチューニングでよくいわれる「やっちゃ駄目」を2回にわたって実際にみていきましょう。 「*」ワイルドカードは使わない 範... 続きを読む
sales_historyテーブル 各テーブルにはid列にPRIMARYインデックスが作成されています。 ここで、MySQLのPRIMARYインデックスについて少し解説します。 MySQLのPRIMARYインデックスは通常のインデックスではありません、一般的にはクラスタ化インデックスと呼ば... 続きを読む
2009-03-31 MySQLのEXPLAINを徹底解説!! 以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの... 続きを読む
このサイトでは、SQL を高速化し、少ないメモリで実行するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのSQL 第2版』の受け売りがほとんどなので、この本を読んでいただければ、本稿を読む必要はありま... 続きを読む
ソーシャルゲームを作る時に参考になるデータベースの設計、技術などの記事やスライドのまとめ スライドソーシャルゲームのためのデータベース設計http://www.slideshare.net/matsunobu/ss-6584540とあるアプリの開発運用(トラブルシュート)http://www.slidesha... 続きを読む
cakePHP, 記事紹介MySQLのEXPLAINを徹底解説!!MySQLのExplainのことが書いてあるsaveAll() with multiple records AND for multiple models英語記事複数モデルの複数レコードを一気に保存Viewのinputのnameは、先頭に数字を持ってくる ただし数字は1から始める... 続きを読む
サイドバー ガジェットは小さいけれど強力なツールで、驚くほど簡単に作成できます。ここでは、Donavon West がその楽しさを教えてくれます。Donavon WestMSDN Magazine August 2007 ... Read more! この記事では、Windows Presentation Foundation でのプログ... 続きを読む