タグ

mysqlに関するlapis25のブックマーク (111)

  • 新著「Webエンジニアのための データベース技術[実践]入門」

    データベース技術に関する新著を執筆しました。「Webエンジニアのための データベース技術[実践]入門」というです。 第1章:データベースがないと何が困るのか 第2章:インデックスで高速アクセスを実現する 第3章:テーブル設計とリレーション 第4章:SQL文の特徴とその使いこなし方 第5章:可用性とデータの複製 第6章:トランザクションと整合性・耐障害性 第7章:ストレージ技術の変遷とデータベースへの影響 第8章:データベース運用技術の勘どころ 第9章:MySQLに学ぶデータベース管理 第10章:MySQLのソースコードを追ってみよう 第11章:データベース技術の現在と未来 第12章:ビッグデータ時代のDB設計 ---「はじめに」より 私たちが日々活用しているオンラインサービスでは、ほぼ例外なくデータベースが背後で重要な役割を果たしています。ブログサービスのような無料のものだけでなく、ショ

  • DBD::mysql 4.020がリリースされました | へぼい日記

    DBD::mysqlの4.020が昨日リリースされました。 このリリースにはmysql_server_prepare=1を使っている場合のバグの修正が5件ほど含まれています。(ChangeLog) DBD::mysqlmysql_server_prepare=1 のとき TEXT 型の欄が自動 utf8::decode されなくなる こちらのブログで指摘されていた件を直してパッチを送ろうと思っておもむろにmysql_server_prepare=1の状態でDBD::mysqlのテストを実行したら失敗しまくったため、もう駄目かもしれないと思ったのですが、何故かmysql_server_prepareと心中する腹をくくり一応すべてのテストを通すようにパッチを送りまくってみたところ取り込まれたという感じになりました。(リリース後に2つほどさらにpull reqしていますが…。) TEXT型

  • Covering Index と self-join と MySQL - blog.nomadscafe.jp

    某サービスのクエリチューニングのお話。 ブログとか日記とかそういうサービス系で次のようなテーブルがあったとします。 CREATE TABLE entries ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL, posted_by TINYINT UNSIGNED NOT NULL, --#PC、mobileなどどこから投稿されたかのフラグ title VARCHAR(512) NOT NULL, body TEXT NOT NULL, created_at DATETIME NOT NULL, updated_at TIMESTAMP NOT NULL, status TINYINT UNSIGNED NOT NULL, INDEX (user_id,created_at

  • 変数とストアドプロシージャについて - 日向夏特殊応援部隊

    追記しました (2011-08-08T16:57:50Z) 割と弊社では MySQL の event scheduler を使ってみたり、ストアドプロシージャ、トリガーなど積極的に使っています。 今回はストアドプロシージャを書く上で、変数を色々使うのですが備忘録としてメモっておきます。 MySQL における変数には幾つか種類があります。 システム変数 (c.f. @@version) ユーザー変数 (c.f. @var_name) ローカル変数 (c.f. DECLARE var_name INT, ストアドプロシージャ内で使える) これら変数の特徴は下記です。(MySQL 5.1.50 で確認) -- システム変数 ユーザー変数 ローカル変数 スコープ GLOBAL *1 SESSION LOCAL 型 なし なし あり 宣言 なし なし あり 設定 SET GLOBAL / SET S

    変数とストアドプロシージャについて - 日向夏特殊応援部隊
  • InnoDB純正の全文検索エンジンInnoDB FTS

    2011-07-28 InnoDB純正の全文検索エンジンInnoDB FTS つい先日、MySQL-5.6.3-labs版がリリースがされました。この中にはInnoDBで動作する全文検索エンジン"InnoDB FTS"が含まれています。これまでは、MySQLとInnoDBの組み合わせで全文検索を行うためにはサードパーティの製品(mroonga 等..)が必要でしたが、これでズバっと選択肢が広がることになります。しかもInnoDBの開発チームが自ら開発した"純正の"エンジンということですから、これは大きな期待が持てます。 いったいどのような製品に仕上がっているのか、ざっくり記事やソースを読んで得た感触を述べてみたいと思います。 written by daijiro.mori どんなエンジンか? エンジンの概要については、 Overview and Getting Started with I

    InnoDB純正の全文検索エンジンInnoDB FTS
  • MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店

    MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン 2011-06-19 00:16:30 via YoruFukurou MySQL はレプリケーションが簡単に構成できるのですが、時折 master 1台 に対して slave 1台、更新処理は master に、参照は slave に、という構成を目にします。 個人的にはこの構成はお勧めでないと思っているので、その理由を考察してみます。 1. 可用性が落ちる 当然ですが、master, slave のどちらが落ちても影響を受けるために可用性が低下します。 2. 全体の性能がほとんど上がらない master 1台ですべてのクエリを処理する場合と比べて、可用性が落ちる引き換えとして見合った性能向上が得られるか、という

  • MySQL InnoDBのネクストキーロック おさらい - SH2の日記

    MySQLのInnoDBストレージエンジンは行ロックをサポートしています。しかしOracleと同じ感覚でアプリケーションを作っていると、思わぬところでデッドロックに出くわすことがあります。これはInnoDBのロック範囲がOracleよりも微妙に広いためです。 実際の例で確認してみましょう。 mysql> select * from t; +----+------+ | c1 | c2 | +----+------+ | 10 | a | | 15 | a | | 20 | a | | 25 | a | | 30 | a | | 35 | a | | 40 | a | | 45 | a | | 50 | a | +----+------+c1列は主キーになっています。1つめのセッションで以下のSQLを実行します。 mysql> set tx_isolation = 'repeatable-r

    MySQL InnoDBのネクストキーロック おさらい - SH2の日記
  • ソーシャルゲームのためのデータベース設計

    2. 自己紹介  MySQL/Linux周りのスペシャリスト  2006年9月から2010年8月までMySQL家(MySQL/Sun/Oracle)で APAC/US圏のMySQLコンサルティングに従事  主な著書に「現場で使えるMySQL」「Linux-DBシステム構築/ 運用入門」「Javaデータアクセス実践講座」  DeNAでの主な役割  安定化/パフォーマンス/運用周りの中長期的な改善活動  L3サポート/運用/トラブルシューティング – 難度の高いMySQL周りの問題の根原因の特定と解決  多くのプロジェクト支援  社内勉強会/トレーニング – MySQLやデータベース周りのベストプラクティスを社内で共有し、 技術スキルを底上げする  技術マーケティング – 国内外のカンファレンスや、技術雑誌等

    ソーシャルゲームのためのデータベース設計
  • xtrabackupをちょっと便利に使う - かみぽわーる

    xtrabackupにはinnobackupexというラッパースクリプトが付属していて、MySQLのプロセスを止めることなくバックアップを取れて便利なんですが、innobackupexでバックアップ取ると以下の点が不満だったりする。 --slave-infoで生成されるCHANGE MASTER文が不完全なのでslaveの複製が面倒 InnoDBとMyISAMのファイルしかバックアップされない tritonnでsennaのインデックスファイルがバックアップされなくて困る そこで、innobackupexはPerlで書かれてるので直接書き換えてmaster.infoとsennaのインデックスファイルも一緒にバックアップするようにしたらslave簡単に複製できるようになって便利ですよ!

    xtrabackupをちょっと便利に使う - かみぽわーる
  • InnoDBの正しい発音とは - rkajiyama’s diary

    12/11(土)のMySQL Casual Talks vol.1で突如熱い話題となったInnoDBの発音。 営業部門のトップ(ロンドン在住英国人)や自分の部門のボス(ニューヨーク在住米国人)にも聞いてみたけど、共通した答えは「英語の発音だとイノ・ディー・ビーっぽいけど、作ったヤツに聞くのが良いんじゃない?」と。 ちょうどMySQL 5.5のリリース前だったので聞きづらかったけど、予定通りMySQL 5.5がGAリリースとなったのでInnoDBの制作者のHeikkiに直接聞いてみました。真面目なHeikkiはきっちり教えてくれました。 Heikkiによる説明を以下にまとめています。 InnoDBの最初の名前はInnobaseだった。MySQL創業者の一人David AxmarkがInnoDBという名前を付けた。 フィンランド語での一般的な発音としては IN - no - dee - bee

    InnoDBの正しい発音とは - rkajiyama’s diary
  • Maatkitはtcpdumpを食べられる上,memcachedも咀嚼出来る. - はまさき

    maatkitを一通り使ってみたメモ - ククラフト で紹介したMaatkitMySQLのクエリ統計ツールmk-query-digest. mk-query-digest /var/lib/mysql/db.slow.logという風にして,MySQLのスローログをべて # Query 73: 0.00 QPS, 0.00x concurrency, ID 0x2256C8F4C0666085 at byte 322977024 # This item is included in the report because it matches --outliers. # pct total min max avg 95% stddev median # Count 0 10 # Exec time 0 20s 2s 2s 2s 2s 0 2s # Lock time 0 0 0 0 0 0

    Maatkitはtcpdumpを食べられる上,memcachedも咀嚼出来る. - はまさき
  • Percona Toolkit

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

    Percona Toolkit
  • HandlerSocket plugin for MySQL

    1. handlersocket plugin for mysql 2010/06/29 Tech セミナー @ 代々木 株式会社 DeNA システム統括IT 基盤部 樋口 証 <higuchi dot akira at dena dot jp> 2. Who am I? DeNA IT 基盤部 システムのパフォーマンス最適化 障害の分析 ミドルウェア開発 IPA 未踏 スーパークリエータ (2005 年 ) 1993 年ころから GNU/Linux 利用 Fedora: yum install KoboDeluxe Debian: apt-get install kobodeluxe サーバソフトウェアを多数開発

    HandlerSocket plugin for MySQL
  • MySQLのスロークエリログを別サーバに転送する - (ひ)メモ

    複数台あるMySQLのスロークエリログを、いちいちDBサーバにログインして読むのがめんどうくさい log_output = FILE,TABLE としてテーブルに入れてリモートからSELECTできるようにするのは? → テーブルに入れた場合、query timeとlock timeの型がTIME型になり精度が秒になってしまうのでダメ ファイルに出力したものをログサーバーにどうにかして飛ばす 10分おきとかにscpする →これでできるのはわかるけど、他にいい方法ないかなぁ syslogで飛ばすのはどうか (id:stanaka++) →srd!! スロークエリログに限らず、追記されるファイル全般に適用できると思います。 rsyslogの方がいけてるそうですが、自分が使ってるのは syslog-ng 2.0.9 なのでそ の設定例です。 DBサーバ # follow_freq(180) で 3

    MySQLのスロークエリログを別サーバに転送する - (ひ)メモ
  • 実録MySQLのチューニング 春の陣 - (ひ)メモ

    long_query_time = 0.5 とか閾値を小さめにしてもスロークエリが出なくなったけど、CPU(user)使用率高いとか、なんか足引っ張ってるクエリがあるっぽいなぁという場合のお話です。 「実録」の通り、現在絶賛進行中ですので、逐次動きがあったら書き足していくつもりです。 「あれを見た方がいい」とか「これをあーした方がいい」とかあれば、コメントかTwitterで @hirose31 までお知らせいただけるとうれしいです! 使用しているのは、MySQL 5.1.41 です。 前提: サーバーリソースのグラフ GangliaでもCactiでもMuninでもなんでもいいんですが、サーバリソースのグラフ化は必須です。チューニングした際の効果測定や、そろそろリソースい潰してやばいとかの予測にも使えます。 自分はDBサーバの場合このあたりをグラフ化してます。 CPU使用率 (user,

    実録MySQLのチューニング 春の陣 - (ひ)メモ
  • MySQLのSET型をDBIx::Classから使ってみる - すぎゃーんメモ

    sugyan 複数のチェックボックスからの入力を受けてDBに格納する場合って普通どういう風にするものなんだろう?各チェックボックスに対応するTINYINTカラムを作る?項目ごとにビット割り当ててINTでまとめる?MYSQLだとSETというのがあるみたいだけど 2010/03/03(水) 16:41:11 という疑問がありまして。色々とご意見をいただきました。ありがとうございます! conceal_rs @sugyan @kwappa 「ケースバイケース」ですねw「これで全方向万全な方法!」と言うのはないですから 2010/03/03(水) 17:27:15 sugyan @kwappa @conceal_rs やっぱり結論は「ケースバイケース」ですかねw 2010/03/03(水) 17:16:23 kwappa @conceal_rs @sugyan 管理さえちゃんとできればそっちの方が

  • YappoLogs: トランザクションを使用したMySQLのおまとめINSERTはどれくらい速いか

    トランザクションを使用したMySQLのおまとめINSERTはどれくらい速いか 元ネタはMySQL のおまとめINSERTはどれくらい速いか - bonar noteです。 トランザクションでまとめてInsertしてからcommitしたほうが速くなるので、元ネタのベンチマークをベースにして試してみました。 環境は macports で入れた mysql 5.1.44 です。 まぁnormalからbulk(100)くらいの差は出てなくても、トランザクション使ってまとめてコミットしても多少速くなっとりますね。 normal と txn の差よりも bulk(100) と bulk(100)_txn の差が小さいのは、 bulk insert で最初から効率的になってるぶん差が少なくなってるという感じでしょうか。 コードは以下の通り。 Posted by Yappo at 2010年03月09日

  • ricollab Web Tech Blog » Blog Archive » MySQLパーティショニングについて(その1:基本知識編)

    初めまして、リコーの濱田です。このたび私もブログを担当することになりました。今後ともよろしくお願いいたします。 エントリではデータベースに関する技術トピックとして、MySQL 5.1 から導入された機能であるパーティショニングについて書こうと思います。少し長くなりそうなので、「基知識編」「性能検証編」の2回に分けて書くことにします。 今回は「基知識編」として、パーティショニングの概要と基的な使い方について紹介します。 パーティショニングの概要 パーティショニングとは、事前に設定されたルールに従ってデータをパーティションと呼ばれる部分的なテーブルに分割する仕組みです。 データ挿入時には、設定ルールに従ってデータが該当するパーティションに自動的に振り分けられます。データ参照時には、オプティマイザがクエリから必要なパーティションを判断し、該当するパーティションのみにアクセスします。これ

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.2.6.2 INSERT ... ON DUPLICATE KEY UPDATE ステートメント

    SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント

  • Monty が MySQL ユーザに支援要請 - sakaikの日々雑感~(T)編

    オラクルのサン買収に関し、MySQLのオリジナル開発者の Monty こと Michael Widenius 氏が、MySQLユーザに向け、支援を要請するメッセージを出しました。 http://monty-says.blogspot.com/2009/12/help-saving-mysql.html (1)これまでに起こったこと(要約) (2)オラクルが約束「しなかったもの」は何か (3)これまでのオラクルの、オープンソースへのふるまい (4)この情報を広めて欲しい (5)EUへの email のサンプル が書かれています。 オラクルによるサン買収が発表された後、これまでにも何度となくメッセージを発信してきた Monty ですが、今回のメッセージはこれまでになく強いメッセージであるという印象を受けました。 以下簡単ですがまとめてみます。あくまで参考程度にしていただくことにして、正確なこと

    Monty が MySQL ユーザに支援要請 - sakaikの日々雑感~(T)編