タグ

ブックマーク / nippondanji.blogspot.com (10)

  • たった3秒でInnoDBのデータローディングが快適になるライフハック

    MySQLに限った話ではないが、データベース管理システムに大量のデータを投入するのは時間が掛かり大変苦痛を伴う作業である。劇的に効能があるわけではないが、MySQLを利用しているとき、特にInnoDBを使っている場合にはデータの投入を高速化するためにいくつかテクニックがあるので紹介しよう。皆さんの作業時間が短縮され、少しでも早く帰路に着いたりサービスインさせたりという形でお役に立てれば幸いである。ちなみに、タイトルはネタであるのだが、もし当に3秒で以下の全ての設定を行えた人が居たら教えて頂きたい! ログファイルサイズの調整データ投入時に限った話ではないが、ログファイルサイズを調整するのは更新性能にとって非常に重要なファクターである。バッファプールのサイズが重要なことに代わりはないが、同じぐらいログファイルのサイズも重要である。InnoDBはログファイルを使い切ってしまうと、バッファプール

    たった3秒でInnoDBのデータローディングが快適になるライフハック
    michael-unltd
    michael-unltd 2016/12/15
    'ログバッファサイズはinnodb_log_buffer_sizeオプションで調整'
  • プロファイリングで快適MySQLチューニング生活

    MySQL 5.1からデフォルトで有効になっている便利な機能としてプロファイリングというものがある。MySQL 5.0でも利用出来たのだが、実験的な機能という位置づけであり、搭載されていたのはGPL版のMySQL Community Server限定だった。MySQL 5.1からは全てのエディションでプロファイリングを利用することができる。 プロファイリング機能を利用すると、クエリの状態(特に状態遷移やリソースの消費状況)を詳細に分析できるのでとても便利だ。MySQLエンジニア必携の機能といって良いだろう。というわけでプロファイリング機能の使い方を説明しよう。 MySQLサーバにログインしたら、まずは次のようにしてプロファイリングを有効にする。 mysql> SET profiling=1; すると、クエリの情報が記録されるようになる。次に、分析したいクエリを実行する。クエリはなんでもいい

    プロファイリングで快適MySQLチューニング生活
    michael-unltd
    michael-unltd 2015/11/30
    “converting HEAP to MyISAM”防止
  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • 紹介:【書籍】SQLアンチパターン

    リレーショナルデータベースの父、エドガー・F・コッド氏が論文を発表したのは1970年。私が生まれる前の話である。そしてSQLがANSI標準になったのが1986年。RDBMSを、そしてSQLを使ったシステム開発は常に主流で在り続けたと言っても過言ではない。そんな歴史のあるSQLであるが、未だに多くの人はSQLを使いこなせて居ないように見える。 SQLはとても奥が深い。ソートやトランザクションが使用出来るおかげで、リレーショナルモデルを無視して単なるデータの入れ物として使ってもそれなりに便利だったりする。だが、それが今現在多くの悲劇を生んでいる原因でもある。多くの人が同じようにSQLを理解せず、そのため多くの人が同じ悲劇に見舞われる。そう、それがアンチパターンである! 今回紹介するSQLアンチパターンは、洋書SQL Antipatternsの邦訳版だ。私は元々英語版のファンでであり、人々が陥り

    紹介:【書籍】SQLアンチパターン
    michael-unltd
    michael-unltd 2013/01/26
    25章
  • 自動車業界の変遷予測

    最近はホンダのインサイトがとても人気を博しているようである。プリウスも依然として人気が高いし、その他のハイブリッド車(エスティマなど)も人気だ。しかし、このハイブリッド車にはとても違和感がある。 燃費が良くなるのは確かだが、産廃物が増えることから必ずしもエコではないだろう。ちなみに、Yahoo! Japanの自動車カタログによると、エスティマとエスティマハイブリッドでは車重が200kgも違う。もちろん後者の方が重い。バッテリーを搭載するだけでこれだけの重量差が出てきてしまうのである。 何が言いたいかというと、動力源を2つ搭載するのは純粋に無駄に思えてならないということである。200kg増加している原因はバッテリーそのものが200kgあるからではないだろう。サイズもエスティマハイブリッドのほうが大きいし、重量が増えたことで足回りやフレームなども強化されているかも知れない。(それによってさらに

    自動車業界の変遷予測
  • 「優れたMySQL DBAを見分ける27+3の質問」に対する回答例

    随分と更新が空いてしまったが、「優れたMySQL DBAを見分ける27+3の質問」に対する回答例(漢バージョン)を紹介しよう。実は質問を掲載した際「難しい!」というコメントが非常に多く、もう少し易しい質問にするべきだったかと思って次のように呟いてみたのだが・・・ 非常に心強くて安心した。さすがに日を代表するMySQLのエキスパートである。出題のレベルは間違ってはいなかった!! そんなわけで、回答の方に移ろう。 MySQLのサーバープロセスはいくつある?ひとつ。mysqldはシングルプロセス・マルチスレッドモデルを採用しているので、"サーバー"プロセスはひとつである。多くの場合、Linuxなどでmysqldを動かす場合には、お供にmysqld_safeも常に動いていることが多いが、mysqld_safeはサーバーではなく、mysqldのためのラッパーであるので数には含めない。 rootユー

    「優れたMySQL DBAを見分ける27+3の質問」に対する回答例
  • 今私がSandy Bridgeを買わない理由

    Sandy BridgeとはNehalemに続くインテルの新しいアーキテクチャの名称である。方々でも報じられているように、Sandy BridgeアーキテクチャCPUの性能は素晴らしいようだ。(例1、例2)素晴らしい性能を見て購入を検討している方も、すでに購入してしまった方も大勢いらっしゃるだろう。だが、それでも筆者は絶対にSandy Bridge CPUを買うことはないだろう。なぜならば、Sandy Bridgeには我々の自由を脅かす2つの恐るべき機能が組み込まれているからだ! Intel Insiderまず問題なのが、Intel Insiderと呼ばれるDRM技術である。インテルは、この機能をハリウッドの要請を受けて追加したらしく、「安全に高解像度の動画をストリーミングするための技術」だそうだ。ハリウッドから高解像度の動画が流出するのを防ぐコピー対策技術、まさにDRM技術なのである。

    今私がSandy Bridgeを買わない理由
  • LinuxデスクトップをOSX風 漢(オトコ)のコンピュータ道: CompizとGlx-Dockを極める!LinuxデスクトップをOSX風にカスタマイズしよう。

    Compizというソフトウェアをご存知だろうか。PC UNIX向けの3Dデスクトップマネージャであり、筆者は愛用している。「日男児たるもの、GUIなどに頼ってはいかん!だから3Dなデスクトップなど邪道!」という声が一部から聞こえて来そうな気がするが、Webブラウザを常用するようになった今、その指摘は的を射ていないように思う。ならばGUIの使い勝手を改善して作業効率を高めようではないか!と思ったとき、Linuxで真っ先に行き着く先はCompizだろう。 Compizはそれほど新しいソフトウェアではなく、解説しているサイトはあるが、情報が少し古かったり、あまり詳細な解説がなされていなかったりするように思う。そこで、今日はCompizのカスタマイズ方法について解説しよう。実は、筆者はカスタマイズすることによってMac OS X風の使い勝手、すなわちExpose(&Spaces)風の動作にしてい

    LinuxデスクトップをOSX風 漢(オトコ)のコンピュータ道: CompizとGlx-Dockを極める!LinuxデスクトップをOSX風にカスタマイズしよう。
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • memcachedの驚愕の事実。

    MixiやFacebook、Wikipediaなど、大規模なサイトでmemcachedを利用する例が増えている。マイコミジャーナルのレポートでFacebookの事例紹介があるのだが、なんとmemcached用のサーバは805台で、メモリ容量は15TBにもなるそうだ。ディスクではなくメモリだけで15TB!である。アクティブユーザーの数は7000万人もいるそうだから、それを捌くとなるとハードウェアも凄い規模にならざるを得ないのである。 このように大規模サイトを支えるmemcachedであるが、そのプログラムの中身は一体いかなるものなのであろうか。memcachedはhttp://www.danga.com/memcachedでソースコードが配布されている。現時点での最新版は1.2.5である。ぜひダウンロードしてみてほしい。そしておもむろにファイルサイズを確認してみてほしい。するとあることに気づ

    memcachedの驚愕の事実。
  • 1