タグ

innodbに関するtakatoshionoのブックマーク (19)

  • なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳

    この記事は、MySQL Casual Advent Calendar 2017の20日目の記事です。 煽り気味のタイトルですがみなさん SHOW ENGINE INNODB STATUS 読んでますか? SHOW ENGINE INNODB STATUS \G 見づらいのなんとかならんのか。— そーだい@初代ALF (@soudai1025) 2016年12月20日 わかる。でもMySQLの振る舞いを知る中でSHOW ENGINE INNODB STATUSを読まざる得ない場面はそこそこあります。 どんな時に必要になるのでしょうか? そこでSHOW ENGINE INNODB STATUSにまつわる話を書きます。 SHOW ENGINE INNODB STATUS をまず読みやすくする まず末尾に \G を付けましょう。 これで3倍読みやすくなります。 次に pager less -S を

    なぜあなたは SHOW ENGINE INNODB STATUS を読まないのか - そーだいなるらくがき帳
  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
  • MySQL 5.6と5.7のInnoDBバッファプールウォームアップのおはなし | GMOメディア エンジニアブログ

    こんにちは、DBAです。 MySQL 5.6でInnoDBのバッファプールウォームアップが機能追加されました。みなさん使ってますか? MySQL 5.6では正常終了時のダンプも起動時のロードもオフ、対してMySQL 5.7では両方ともオンです。また、MySQL 5.7ではダンプするバッファプールのページ数は(デフォルトでバッファプール全体の25%だけ、となっています。 わたしのオススメ設定は↓です。MySQL 5.6, 5.7両方でも使えるように、loose-接頭辞付きでinnodb_buffer_pool_dump_pct(5.7にあって5.6にないパラメーター)を書いています。 [mysqld] loose-innodb_buffer_pool_dump_pct = 100 innodb_buffer_pool_dump_at_shutdown= 1 innodb_buffer_poo

    takatoshiono
    takatoshiono 2016/06/30
    バッファプールの状態を保存してリストアできるのか。便利...
  • InnoDBのChange Buffer(MySQL Server Blogより) | Yakst

    レコードの挿入時などに発生するセカンダリインデックスの更新は一般的にI/Oコストが高いことで知られる。InnoDBではこれを軽減する為に変更バッファという仕組みがある。MySQL Server Blogから変更バッファ概要の解説記事を紹介する(2015/6/4, Annamalai Gurusami) 免責事項 この記事はMySQL Server Blogの投稿をユーザが翻訳したものであり、Oracle公式の文書ではありません。 THU, 2015/6/4 by Annamalai Gurusami ストレージエンジンを設計するとき、最大の課題となるのは書込み操作の途中のランダムI/Oである。 InnoDBでは、テーブルは1つのクラスタインデックスを持ち、0またはそれ以上のセカンダリインデックスを持つ。インデックスはいずれも、B-treeである。 レコードがテーブルに挿入されるとき、レコー

    InnoDBのChange Buffer(MySQL Server Blogより) | Yakst
    takatoshiono
    takatoshiono 2015/06/19
    InnoDBのChange Buffer
  • InnoDBのロールバックがあとどれくらいかかるかをなんとなく見積もる | GMOメディア エンジニアブログ

    こんにちは、DBAのたなかです。 MySQLに向かってテキトー(またはテキトーでない)な更新クエリーを放り投げたは良いけれど、なかなか返ってこなくてCtrl+Cで停止したり、killステートメントでスレッドを殺したり、もしくは流れ終わったけど想像通りにいかずにROLLBACKしたり。そんな経験ありませんか? 私はあります。というかこの記事書いてるという時点で何かを察していただけるとありがたい。 Undoセグメント(デフォルトではibdata1上にある)からデータを引っ張りだしてバッファプール上に展開する以上、InnoDBのロールバックはまあそれなりに重いわけで、というか更新そのものよりもロールバックの方がよっぽど重い。 それは重々承知の上なんだけれど、ロールバックしてる時というのは往々にして「動け! 動け! 動いてよ! 今動かなきゃ、今やらなきゃ、みんな死んじゃうんだ!」状態になっているの

  • InnoDB Deep Talk #2 (仮) に引っ張りだされました。

    先日、「InnoDB Deep Talk #2 (仮)」というイベントでお話ししてきました。 「事前情報は講演者の名前のみ(内容未定)」という、振り返ってみると異常な状況にも関わらずお集まりいただきありがとうございました。 今回は、前回とは違って少しだけ公開を意識して作ったあったので公開してみます。 これで手持ちのネタは出し尽くしたので、また暫くブログの更新は無いかもしれませんがご容赦を。。。

    takatoshiono
    takatoshiono 2015/03/09
    DB改造屋雑記: InnoDB Deep Talk #2 (仮) に引っ張りだされました。
  • InnoDBのプロは寡黙な紳士―木下靖文さん

    「第7回 日OSS奨励賞」の受賞理由について木下さんはこう説明してくれた。 「2010年末にリリースされたMySQL 5.5(GA)からInnoDB-Plugin がデフォルトの InnoDB になりました。それまでは、性能改善の開発版という形で従来のInnoDBとは別にInnoDB-Pluginとしてソースコードに含まれていて、性能改善はこのInnoDB-Pluginを対象に行われてきました。5.5 になってそれまで議論された性能改善の成果が一気に一般ユーザーも享受するところとなりました。なので、このタイミングで評価を受けたのだと思います」 デフォルトストレージエンジンの変更はInnoDB以外を使っていたユーザーには性能改善でインパクトがある変化だったそうだ。そして「Contributor of the Year」受賞をうけ、OSS奨励賞にもつながったという。しかし木下さんは「貢献は業

    InnoDBのプロは寡黙な紳士―木下靖文さん
    takatoshiono
    takatoshiono 2015/02/25
    エンジニアにとって大切なのは技術を究めることです。ただし独りよがりにならないこと
  • Registration: Machine learning & data conference | O'Reilly Strata

    We’ve made the very difficult decision to cancel all future O’Reilly in-person conferences. Instead, we’ll continue to invest in and grow O’Reilly online learning, supporting the 5,000 companies and 2.5 million people who count on our experts to help them stay ahead in all facets of business and technology. Come join them and learn what they already know. Become an O’Reilly online learning member

    Registration: Machine learning & data conference | O'Reilly Strata
  • Microsoft PowerPoint - InnoDB-File-Format.ppt

    takatoshiono
    takatoshiono 2015/02/24
    めっちゃおもしろいな
  • An Introduction to InnoDB Internals

    All of Percona’s open source software products, in one place, to download as much or as little as you need.

    An Introduction to InnoDB Internals
  • http://www.mysqlpracticewiki.com/index.php/InnoDB%E3%83%AD%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

  • MySQL InnoDBにおけるロック競合の解析手順 - SH2の日記

    データベースの運用で避けられないのが、ロック競合によって起こるシステムトラブルへの対応です。「2時までに終わるはずのバッチ処理が朝になっても終わっていない」とか「負荷が高いわけでもないのにシステムが無応答になっている」といったトラブルが発生したとき、DBエンジニアはそれがロック競合によるものなのかどうかを切り分けて、適切に対処しなければなりません。 これまでInnoDBはロック競合に対してほとんど打つ手がなかったのですが、最近ようやく対処方法がでてきました。今日はその手順を確認していきたいと思います。 前提 今回ご紹介する手順は、MySQLの以下のバージョンを対象にしています。 MySQL 5.1+InnoDB Plugin 1.0 MySQL 5.4 いきなりハードルを上げてしまって申し訳ありませんが、バージョン5.0以下や素の5.1では使えませんのでご注意ください。以降の実行例はすべて

    MySQL InnoDBにおけるロック競合の解析手順 - SH2の日記
  • MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記

    InnoDB Pluginの面白い機能の一つに、データ圧縮機能があります。今回はその仕組みと効果について見ていきたいと思います。まずはグラフをご覧ください。 これはWikipedia語版のデータベースをダウンロードし、記事文の格納されているtextテーブルをMySQL 5.1+InnoDB Plugin 1.0の環境にロードしたものです。 元テキスト:今回利用したデータは2009/06/21版のものです(jawiki-20090621-pages-articles.xml.bz2)。元テキストはここからXml2sqlを用いてタブ区切りテキストを取り出したものを用いています。このファイルには1,167,411件の記事が格納されており、容量は3,436MBとなっています。 元テキスト gzip:元テキストをgzipコマンドで圧縮したものです。 MyISAM:記事をMyISAMのテーブルに

    MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記
  • 大人のためのInnoDBテーブルとの正しい付き合い方。

    InnoDB関連でよくある質問のひとつに「テーブルのメンテナンスは何をすればいいんですか?」というものがある。InnoDBMySQL 5.5でデフォルトストレージエンジンとなるため、InnoDBのテーブルメンテナンス計画を立ようと思う機会も増えることだろう。そこで、今日はInnoDBのテーブルメンテナンスの各種方法となぜそうしなければいけないかという理由を解説しようと思う。 ANALYZE TABLEテーブルメンテナンスの代名詞といえば、インデックス統計情報の更新ではなかろうか。運用を続けるうちに、知らず知らずインデックス統計情報が狂ってしまい、思うような性能が出ない。RDBMSにはそのような問題がつきものであるが、InnoDBの場合、ANALYZE TABLEは不要である。なぜなら、InnoDBが自発的に統計情報を更新するからだ。InnoDBは以下の条件に適合すると、ANALYZE T

    大人のためのInnoDBテーブルとの正しい付き合い方。
    takatoshiono
    takatoshiono 2010/09/27
    InnoDBは追記型ではないのでVACUUMは必要ないのだが、MVCC(マルチ・バージョン・コンカレンシー・コントロール)という構造になっているため
  • MySQL 5.1.46リリース InnoDB Pluginが正式版に - SH2の日記

    出ました。今回は機能追加が1件、バグ修正が55件あります。バグ修正のうちセキュリティに関するものが1件、パーティショニングに関するものが5件、レプリケーションに関するものが7件となっています。 MySQL 5.1.38から体に付属するようになったInnoDB Pluginですが、バージョンが1.0.7に上がりRCからGA(Generally Available、正式版)となりました。ついに正式リリースです。というわけで何度か繰り返している話題ですが、今回はInnoDB Pluginについて再度おさらいをしておきたいと思います。 InnoDB Pluginの使い方 MySQL 5.1.38以降であればInnoDB Pluginを使うように設定するのは簡単です。/etc/my.cnfに以下の設定を書き加えることでInnoDB Pluginが有効化されます。 ignore-builtin-in

    MySQL 5.1.46リリース InnoDB Pluginが正式版に - SH2の日記
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

    takatoshiono
    takatoshiono 2009/10/27
    特別な事情が無い限り、5.1最新版に含まれるInnoDB Pluginを勧めています
  • MyISAMからInnoDBへ切り替えるときの注意点

    MySQLを使い始めて間もない人がよく陥る罠の中に、気づくと使ってるストレージエンジンがMyISAMだった!ということがある。デフォルトのストレージエンジンはMyISAMなので、MySQLに詳しくない人たちが比較的陥りやすい罠なのだ。そもそもストレージエンジンという概念自体がMySQL独自のものなので仕方のない話である。MyISAMは素晴らしいストレージエンジン(たとえばこのYahoo!の中の人による投稿で言われているように)であるが、長所もあれば短所もある。例えば、 トランザクション対応ではない。 クラッシュセーフではない。 更新と参照が入り乱れた場合の同時実行性能がよくない。 テーブルが大きく(数億行とか)なるとINSERTの性能が劣化する。 などなど。特に前者の2つが問題で、アトミックな操作が必要なところでロジックを実装出来なかったり、サーバがクラッシュした時にデータがお亡くなりにな

    MyISAMからInnoDBへ切り替えるときの注意点
  • Should you move from MyISAM to Innodb ?

    There is significant portion of customers which are still using MyISAM when they come to us, so one of the big questions is when it is feasible to move to Innodb and when staying on MyISAM is preferred ? I generally prefer to see Innodb as the main storage engine because it makes life much simpler in the end for most users – you do not get to deal with recovering tables on the crash or partially e

  • How to Calculate a Good InnoDB log file size

    All of Percona’s open-source software products, in one place, to download as much or as little as you need.

    How to Calculate a Good InnoDB log file size
  • 1