タグ

MySQLに関するkimutanskのブックマーク (60)

  • MySQLやSSDとかの話 前編

    2. Copyright © GREE, Inc. All Rights Reserved. 自己紹介 ● わりとMySQLのひと ● 3.23.58 から使ってる ● むかしは Resource Monitoring も力入れてやってた ● ganglia & rrdcached の(たぶん)ヘビーユーザ ● 5年くらい前から使い始めた ● gmond は素のまま使ってる ● gmetad は欲しい機能がなかったので patch 書いた ● webfrontend はほぼ書き直した ● あとはひたすら python module 書いた ● ganglia じゃなくても良かったんだけど、とにかく rrdcached を使いたかった ● というわけで、自分は Monitoring を大事にする ● 一時期は Flare という OSS の bugfix などもやってた 3. Copyrig

    MySQLやSSDとかの話 前編
    kimutansk
    kimutansk 2015/12/16
    ハードウェアは故障するまで使わないと次のステージに踏み込めないと。それは確かに。
  • Amazon Aurora : パラメーターから見るその詳細(Percona Data Performance Blogより) | Yakst

    Amazon Aurora : パラメーターから見るその詳細(Percona Data Performance Blogより) 出典について この記事はPercona Data Performance Blog内のVadim Tkachenko氏によるAmazon Aurora – Looking Deeper(2015/11/16)を翻訳したものです。 最近、私のPerconaの同僚であるYves Trudeauと業界の仲間であるMarco TusaAmazon Auroraに関する記事を発表しました。実際のところ、Amazon Auroraは最近のホットな話題で、お客様からもAurora技術に関して多くの質問をいただいています。私は自分の意見を明らかにすることを決心しました。個人の実際に手を動かした経験に勝るものはありませんし、それを共有しようと思います。 私がこれから言及する資料

    Amazon Aurora : パラメーターから見るその詳細(Percona Data Performance Blogより) | Yakst
    kimutansk
    kimutansk 2015/12/07
    インタフェースだけ一致させたMySQLなので中身はSerializableできないとか色々違いはあると。GPLv2だけどクラウドサービスだから穴ついてソース公開不要というのもなるほど。
  • MySQL5.7 / RDS / Aurora / Cloud SQL の性能比較 | 外道父の匠

    CloudSQLの価格は実戦的という意味で、per Dayの価格を24hourで割った価格にしています。 メモリは2GBあれば検証としては十分なので格差は関係ありません。 IOPSはEBSならGeneral Purposeの1000GB*3で最大確保しています。 その他、ネットワーク周りなどポイントがあれば都度、補足していきます。 ベンチマークのデータ 今回、採取した全データはこちらになります。一部、目的に対して不要と判断したら省略しています。まぁ、こんなオレオレメモデータを見ても楽しくないでしょうから、1つ1つ考察していきましょう。 手法について 私がよくやる計測方法なのですが、innodb_buffer_pool_size がデータ容量より大きい健全な状態と、最小の16MBで過負荷ストレージを演出し、それぞれで参照/更新を別々にランダムアクセスをすることで、最初のボトルネックを炙り出し

    MySQL5.7 / RDS / Aurora / Cloud SQL の性能比較 | 外道父の匠
    kimutansk
    kimutansk 2015/10/23
    AuroraとMySQL5.7を比較した場合、参照系重視ならAurora、更新重視ならMySQL5.7というノリなんですかね。ただ、信頼度やマネージドを考えると現状はAuroraなのか・・
  • #yapcasia でMySQL 5.7の罠についてLTしてきました

    ネタ的には 発掘するたび書き溜めてきたブログ記事 から 笑いが取れそうなものを 大事そうなもののみをピックアップして紹介した感じです。 知らないと致命傷、でも知ってれば予防できる(はず) MySQL 5.7で不幸になる人が1人でも少なくなってくれることを願っています。 さて、今年のYAPC::Asiaはメイントラックもトークを応募していたのですが見事に落選したので、1日目は完全にリラックスして過ごしました。LTの採否、当日になるまでわかんないのか大変だなーとか、他人事だったんですが、 1日目のLT見るじゃないですか。 面白いじゃないですか。 俺もしゃべりたくなるじゃないですか。 なったんですよ!!1 が、翌朝になってLTの応募ページをたどってみると

    kimutansk
    kimutansk 2015/08/25
    パスワードロック、ログレベルを複数で設定、バイナリログのイメージ出力、起動時暖気やら・・バッファプールはオンラインではないですか。実質。これ自分で嵌ると死ねますね。
  • MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと

    — そーだい@初代ALF (@soudai1025) 2015, 8月 24 とブーメラン投げて見事に刺さってるので今から記事書く。 両サイドにはかなり厳しい話もするが俺の音を聴いておけ(関白宣言) まぁ歴史の長いRDBなのでお互いの比較記事は沢山ある。 なのでマルチスレッド(MySQL)とマルチプロセス(PostgreSQL)だとかVACUUMだって話はしない。 むしろ実際に使ってみた際の違いをにフォーカスする。 1. SQLの違い 基的にMySQLでやっていたことはPostgreSQL出来る。 しかし関数の挙動の違いは幾つかある。 例えば時間から曜日に該当する数字に変換した場合に MySQL → date_format(time,"%w") 0から始まり、日曜日に該当する PostgreSQL → to_char(time,'D') 1から始まり、日曜日に該当する など挙動に互換性

    MySQL使いが知るべきPostgreSQLとの違いと変わらない一つのこと
    kimutansk
    kimutansk 2015/08/24
    構文の違い、機能の違い(マテビュ―+、自動フェールオーバー-)、ツールの違い、金で殴りにくい、Auroraがない。と。
  • mysqlcasual6-next-key-lock

    6. Transaction分離レベル(1) ❖ READ UNCOMMITED ❖ COMMITされていないデータが取れるよ ❖ 並列性能は最強だがデータの一貫性は保証されない ❖ READ COMMITED ❖ COMMITされたデータがその瞬間から取れるよ ❖ 他のTransactionの変更も読む事になる ❖ 一貫性は保証されないが若干まともになる 7. Transaction分離レベル(2) ❖ SERIALIZE ❖ 同時に複数のTransactionは走らせないよ ❖ 一貫性は保証されるけど並列性能が下がる ❖ REPEATABLE READ ❖ 同じTransaction内では常に同じデータが取れるよ ❖ 他のTransactionの更新を無視する ❖ ファントムリードが発生する

    mysqlcasual6-next-key-lock
    kimutansk
    kimutansk 2015/03/13
    クエリによってgapロックの範囲は変わりますが、こう書くとわかりやすいですね。
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
    kimutansk
    kimutansk 2015/02/04
    へぇ。こういう原因でしたか。かつ、メモリを大量消費しているものの、重いわけではない良くわからないプロセスと。面白い。
  • InnoDBの分離レベルによるMySQLのパフォーマンスへの影響 | Yakst

    MySQL Performance Blogの翻訳。MySQLがサポートする4つのトランザクション分離レベルの特徴とパフォーマンス上の特性を、トランザクション履歴の保持方法に的を当てて比較。 January 14, 2015 by Peter Zaitsev 過去数ヶ月に渡って、InnoDBのトランザクション履歴の負債の危険性と、MVCCがMySQLのパフォーマンス問題の原因になりうることについて、いくつかの記事を書いてきた。この記事ではそれに関連して、InnoDBのトランザクション分離レベルとMVCC(multi-version concurrency control、多版型同時実行制御)との関連性、そしてそれらがMySQLのパフォーマンスにどう影響するのかを取り上げてみようと思う。 MySQLのマニュアルにはMySQLでサポートされているトランザクション分離レベルの詳細な説明がある。こ

    InnoDBの分離レベルによるMySQLのパフォーマンスへの影響 | Yakst
    kimutansk
    kimutansk 2015/01/27
    REPEATABLE READでクエリ実行中にフルスキャンの走るクエリを実行するとこうまでパフォーマンス劣化しますか。このあたりの何を選ぶかは大事なところですね。
  • MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する

    メリークリスマス!!やあ、良い子のみんな!!サンタクロース・・・ではなく、ヒゲモジャギークからのクリスマスプレゼントだよ!! というわけで、MySQL Casual Advent Calendarの25日目である。今朝Advent Calendarを覗いてみると、日分のエントリーが無かったので、急遽書くことにした。Advent Calendar最後の日、クリスマスを飾る記事のテーマはGTIDだ。 前回の投稿では、MySQL 5.6の目玉機能として、レプリケーションがクラッシュセーフになったことを挙げた。レプリケーションまわりで言えば、もうひとつ外せない目玉機能がある。それがGTID(Global Transaction ID)である。 GTIDは良くも悪くもレプリケーションの運用を変化させる。GTIDを使うことによって得られる最大のメリットは、CHANGE MASTER TOでバイナリロ

    MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する
    kimutansk
    kimutansk 2015/01/05
    今までに比べると確かに簡略化されますね。
  • 2014年だけど Q4M の紹介をしてみるよ - Qiita

    先日 MySQL Casual Talks vol.7 で LT をしてきました。 LT では Ruby(Rails) からカジュアルに Q4M を使える何かを作ったお話 として Q4M 周りのお話をしてきたのですが、そこで冒頭 "Q4M 使ってる人ー" と挙手を求めたら誰一人として手が挙がらなかったことに絶望してこのエントリーをしたためています。 (まーカジュアルだからなーカジュアルだから Q4M 使ってなくてもしょうがないからなー) (使ってないだけで知っている人はいたかもしれません、あと恥ずかしがり屋さん) このエントリーでは簡単な Q4M の使い方と特徴について説明していきます。 Q4M って Q4M は簡単に言うと DeNA の奥一穂さんが開発されている MySQL を使ったキューストレージです。 Q4M 自体は MySQL のストレージエンジンとして実装されているので、テーブル

    2014年だけど Q4M の紹介をしてみるよ - Qiita
    kimutansk
    kimutansk 2014/12/15
    メッセージキューの選択肢としてこういうのもあったんですね。レプリケーションやらスケールアウトが可能かあたりが気になりますが・・
  • (SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine | AWS re:Invent 2014

    (SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine | AWS re:Invent 2014 Amazon Aurora is a MySQL-compatible database engine that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Starting today, you can sign up for an invitation to the preview of the service. Come to our session for an

    (SDD415) NEW LAUNCH: Amazon Aurora: Amazon’s New Relational Database Engine | AWS re:Invent 2014
    kimutansk
    kimutansk 2014/11/30
    この資料だけ見ると性能がスケールする理由はわかっても、元のMySQLと同等のトランザクションの性質が保たれるかはわかりませんが・・肝心の中身が気になりますね
  • [速報]Amazon Aurora発表。MySQL互換で性能5倍、商用リレーショナルデータベースと同等の機能を提供するマネージドなデータベースサービス。AWS re:Invent 2014

    [速報]Amazon Aurora発表。MySQL互換で性能5倍、商用リレーショナルデータベースと同等の機能を提供するマネージドなデータベースサービス。AWS re:Invent 2014 Amazonクラウドを提供するAmazon Web Servicesは、同社の年次イベント「AWS re:Invent」を米ラスベガスで開催しています。 初日の基調講演では、クラウドがエンタープライズITにおけるニューノーマル(新しい普通)であることを強調。新サービスとして、MySQL互換でありつつ商用リレーショナルデータベース並の性能と機能を実現したという「Amazon Aurora」を発表しました。 MySQLとフル互換でありながら5倍の性能 Amazon Web Servicesシニアバイスプレジデント Andy Jassy氏。 既存のリレーショナルデータベースというのは高価で、プロプライエタリで

    [速報]Amazon Aurora発表。MySQL互換で性能5倍、商用リレーショナルデータベースと同等の機能を提供するマネージドなデータベースサービス。AWS re:Invent 2014
    kimutansk
    kimutansk 2014/11/17
    互換性あるものの、実体はMySQL互換というガワを被った分散データストアというのが面白い話ですね。MySQLでのトランザクションをどう実現しているかが気になります
  • 大規模環境でMySQLのGTIDを適用して得られた教訓 | Yakst

    MySQL 5.6からの機能であるGTIDを、Facebookの環境に適用した際の流れと主な不具合、そしてそれらの修正点について、Facebookのエンジニアによるまとめ。 by Evan Elias and Santosh Praneeth Banda Global Transaction ID (GTID)は、MySQL 5.6の新機能の中でも最も使わずにはいられない機能の一つだ。このおかげで、フェイルオーバやポイントインタイムリカバリ、階層を持ったレプリケーションなどに非常に有益だし、クラッシュセーフなマルチスレッドレプリケーションの必須条件にもなっている。この数ヶ月で、我々はFacebookの全ての番用MySQLインスタンスで、GTIDを有効にした。その中で、この機能の適用方法や操作について、たくさんの知見が得られた。たくさんのサーバサイドの修正事項については、WebScaleS

    大規模環境でMySQLのGTIDを適用して得られた教訓 | Yakst
    kimutansk
    kimutansk 2014/09/26
    まだまだ素だと使用するのは厄介そうですが、このあたりの修正や知見が広まれば使えるようになる?
  • OSC広島と中国地方DB勉強会に参加しました。

    かねてから予告していた通り、OSC広島と中国地方DB勉強会(第5回)に参加させて頂いた。両方のイベントがこの土日で連続して行われたので、いずれのイベントにも遠方からの参加者がたくさんいて盛況だったように思う。OSC広島ではデモマシンの展示を、中国地方DB勉強会ではスライド(MySQLのトラブルシューティングについて)の発表をそれぞれやらせて頂いたので、今日はその報告をさせて頂こう。 OSC広島に持っていったデモマシン既にツイッターやFacebookで目にされた方もいらっしゃるかも知れないが、今回展示したマシンのコンセプトは「持ち運べるMySQL Clusterのデモ環境」というものだ。MySQL Clusterを動作させるためのBeagle Bone Black 6台と、コンソール用のRaspberryPi、100Mbpsのネットワークスイッチ、薄型のモバイルモニター、トラックポイントつき

    OSC広島と中国地方DB勉強会に参加しました。
    kimutansk
    kimutansk 2014/09/23
    アタッシュケースでClusterデモは格好いいですねぇ。勘や技というアナログな話になるのはそれまで遭遇した問題や基礎がどうしても切り分けのベースになるので、致し方ないですね。
  • MySQLのロックについて - SH2の日記

    JPOUG> SET EVENTS 20140907 | Japan Oracle User Group (JPOUG)に参加して発表をしてきました。IIJさまのセミナルームは窓からの眺めがすばらしいですね。JPOUGの運営メンバのみなさま、会場を提供してくださったIIJのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは「MySQLのロックについて」と題してネクストキーロックなどの説明をしました。プレゼンテーション資料と、調査のために作成したツールを公開します。 プレゼンテーション資料 (PDF) Lock Inspector 1.0 プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Lists: mysql: Re: InnoDB's inner workings + checkpoints 過去記事の訂正 @kami

    MySQLのロックについて - SH2の日記
    kimutansk
    kimutansk 2014/09/15
    ネクストキーロックはこういう動作になってましたか。ロック範囲がインデックスをベースにこう決まるのはわかっていませんでしたね・・・
  • ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版

    9. 静的コンテンツを Reverse Proxy で配信 Reverse Proxy: クライアントからの接続を 受け、Applicationサーバに処理を中継す る。画像,js,css などの静的コンテンツを返す 役割もある Application Server: ユーザからのリクエス トを受けて適切なページを構築・レスポン スを行う 10. /etc/httpd/conf.d/isucon.conf <VirtualHost *:80> DocumentRoot /home/isu-user/isucon/webapp/public RewriteEngine on RewriteCond REQUEST_URI !^/favicon.ico$ RewriteCond REQUEST_URI !^/(img|css|js)/ RewriteRule /(.*)$ http://loc

    ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
    kimutansk
    kimutansk 2014/08/31
    静的コンテンツをProxy配信/Nginx化/Perl化/SQLチューニング/OFFSET殲滅/クエリ周りのセッション調整あたりでこうまで性能変わりますか。面白い。
  • MySQL Connector/J (JDBC ドライバ)の罠まとめ - ~saiya/hatenablog

    MySQL JDBC ドライバ(MySQL Connector/J)、JavaMySQL といえばまずコレだが、これまた地味に罠が多い(そして多くの人が踏んで苦しむ)のでまとめてみた。 (2015/03/19) こちら のコメント欄でご指摘ただいた wait_timeout の件について記事修正いたしました。 Summary 以下、いずれもプログラム設計時に理解しておかないと、開発中は大丈夫そうでも実用した途端に苦しまされれてしかも設計から治す羽目になる要注意な罠である: SELECT 結果は全部メモリに載ってしまう (デフォルト設定で) 大量 SELECT する場合は FetchSize, ResultSetType を要設定 利用時には制約があるので、設計段階から考慮しなければならない (後述) idle 時間の「合計で」コネクションが切られる 前回のクエリ処理から一定時間以上経

    MySQL Connector/J (JDBC ドライバ)の罠まとめ - ~saiya/hatenablog
    kimutansk
    kimutansk 2014/08/21
    いくつかはやらかしたことがあるような・・・ 再度確認しておきますか。
  • [Q&A]MySQL開発でやってしまいがちな致命的ミス | Yakst

    Percona MySQL Webinarsの発表(MYSQL開発でやってしまいがちな致命的なミスについて)のQAをご紹介します。 発表はSQLアンチパターン著者のBill Karwinさんの発表です。 オリジナル: http://www.percona.com/resources/mysql-webinars/how-avoid-even-more-common-deadly-mysql-development-mistakes July 17, 2014 by Bill Karwin 水曜日に「MySQLを開発する上でよく起こる(そして致命的な)ミスをどのように回避するか」をPercona MySQL webinarsで発表した。お見逃の際は、ビデオとスライドを見る為に登録すればまだご覧にいただける。 参加いただいた皆様、そしてとりわけすばらしい質問をしていただきありがたく思っている

    [Q&A]MySQL開発でやってしまいがちな致命的ミス | Yakst
    kimutansk
    kimutansk 2014/08/11
    不用意にSelect *やるな/パーティショニングによるデータ削除高速化等等。多分いくつかは踏んでる気がします。
  • MySQLがオンラインALTER TABLEでOOM Killerに殺されたはなし | GMOメディア エンジニアブログ

    こんにちは、DBAです。 MySQL5.6のオンラインALTER TABLEでハマった時のおはなしです。 5.6にはオンラインALTER TABLE関連のパラメーターに innodb_sort_buffer_size というものが追加されており(5.5以前はfast index creationが効く時に使われるパラメーターとして内部的に1Mでハードコードされていたものが、設定可能になった)、前にざっくり試したところ 大きくすれば一応それなりの恩恵は受けられそうなので大きくしたんですよ。 毎日の定期バッチで盛大にInnoDBのテーブルにバルクインサートをかけた後にALTER TABLEでインデックスをくっつけてRENAME TABLEでテーブルを切り替える…なんてことをやっているサービスには打ってつけだと思ったわけです(そもそもそのやり方の善悪について やがて DBAは 考えることを止めた

    kimutansk
    kimutansk 2014/07/16
    こういう動作になりますか・・・出くわすと苦労しそうです。
  • Percona Server 5.5にて10秒間隔でDisk I/Oが重くなる問題 | 外道父の匠

    久しぶりにDBAとしてお手伝いした時の汚いメモになります。 Percona Server5.5+ioDriveのMySQLで、イベント時やピークタイムにアプリケーションからのDB利用が重くなる、ということで調査から対応方法まで考えてみました。 問題点の大雑把な特定 高トラフィック時に、RubyからMySQLの接続やクエリがちょこちょこ重くなり、レスポンス速度に影響が出る、とのこと。で調査開始。今回のPercona Serverのバージョンは 5.5.34 でした。 top -d1 で触診してみると、謎の10秒間隔でiowaitが5~10%に上がることを確認 5分平均のiowaitグラフを見ても、ピーク時は50~60%であることを確認。ioDriveでこれはイカン dstat で見ると、平時はwrite数MB/s~十数MB/sのところが、やはり10秒間隔でwrite 数百MBを確認。ピーク時

    Percona Server 5.5にて10秒間隔でDisk I/Oが重くなる問題 | 外道父の匠
    kimutansk
    kimutansk 2014/05/12
    ioDriveの導入によってサーバ側の異変にも気付けていなかったと・・・ 多少の設定漏れなどは素のIOの速さでそうそう現れない、というのは注意点ですか。