タグ

MySQLとtoreadに関するclouderのブックマーク (5)

  • maatkitを一通り使ってみたメモ - はまさき

    #hbstudy11でid:marqsさんがMaatkitに関する発表をしていて,僕も仕事でちょこちょこ使っていたので ダイアリーあたりに書きますね と云ったきり,書く書く詐欺になっていたので,さすがに書こうと思います. 割とみなさん知っているツールだと思うのですが,ウェブ上で日語の情報がなかなか見つからないので,何かのお役に立てればと思います.というか英語読めってことなのかもしれませんが. Mattkit 公式 MySQL Tools and Management Software to Perform System Tasks by Percona Maatkitは「実践ハイパフォーマンスMySQL」の著者であるBaron Scheartzによって作り始められた,MySQLやPostgreSQLのようなオープンソースのデータベースのための高品質なコマンドラインツールです. 実践ハイパ

    maatkitを一通り使ってみたメモ - はまさき
  • レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ

    MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ
  • nabokov7; rehash : マイ・ブラックホール (2) - いかにして私はブラックホールに辿り着いたか

    July 24, 200915:39 カテゴリmysqlプログラミング マイ・ブラックホール (2) - いかにして私はブラックホールに辿り着いたか ブログのアクセス解析用に使うストレージを選定するのに先だって,こんな条件下での速度比較をしてみた。 主な処理は,ブログ毎,あるいはページ毎のアクセス数のカウントアップ。つまり,ブログid & 記事id をキーとして,memcached なら set/incr, sqlなら insert 〜 on duplicate key update 〜 文の発行をする。200個のプロセスが,それぞれ平行して「あるキーのカウントアップ(書き込み) を行い,続いて別のキーの読み出しを行う」という処理を500回繰り返す。(合計10万回のカウントアップと10万回の読み出しに相当。)ストレージは,ベンチマークを行うスクリプトとは別のサーバ上にあり,必ずネットワーク

  • Kazuho@Cybozu Labs: MySQL のトリガーの実用性を確認するために InnoDB の SELECT COUNT(*) を高速化してみる

    最近 RDBMS のトリガーを色々書いているのですが、知らない人にトリガーが何かいちいち説明するのに簡単な例はないかな、というのと、MySQL の処理速度はトリガーによってどの程度変化するか、ということを確認するために、以下のような実験を行ってみました。 InnoDB はしばしば、「SELECT COUNT(*) が遅い!」と批判されます。では、トリガーを使って行数を別のテーブルにキャッシュすればいいのではないでしょうか? 以下のように、極めて小さなテーブル t1 を作り、その行数を t1_cnt にキャッシュしてみることにします。 mysql> create table t1 ( ->   id int unsigned not null primary key auto_increment, ->   v int unsigned not null -> ) engine=innodb

  • サブクエリやっぱりさっぱり意味がわからないな - @kyanny's blog

    ERROR 1241 (ER_SUBSELECT_NO_1_ROW) SQLSTATE = 21000 Message = "Subquery returns more than 1 row" このエラーは次のような場合に発生する。 SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); ただし、これは t2 に複数のレコードが存在する場合に限られる。たとえば、このエラーは長い間使用されているコードで発生することがある。つまり、サブクエリで返すことができるレコード数に影響するような変更を誰かが行ったような場合である。1 つに限らず任意の数のレコードをオブジェクトで検出するようにするときの正しいステートメントは、次のようになる。 SELECT * FROM t1 WHERE column1 = ANY (SELECT column

    サブクエリやっぱりさっぱり意味がわからないな - @kyanny's blog
  • 1