タグ

MySQLに関するkopugのブックマーク (113)

  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
    kopug
    kopug 2014/05/22
  • Spiderってなんじゃ?(tpcc-mysqlでベンチマークをとってみた)

    久しぶりのSpiderの話題です。 今回はtpcc-mysqlというベンチマークツールを使ってSpiderのベンチマークをとってみました。 mysqlにかぎらずDBのベンチマークツールの多くは、TPCという団体の定めたベンチマーク仕様に基いて実装されていて、トランザクションやアクセスなどのDB用途によっていくつかのベンチマークタイプに分かれていて、OLTP向けのTPC-Eや意思決定システム向けのTPC-HやTPC-DSなど色々あるようです。 http://www.tpc.org/information/benchmarks.asp その中で、TPC-Cというのが複数ユーザーのトランザクションが発生するベンチマーク仕様で、顧客が商品を注文し在庫チェックと発送などをシュミレートするもののようです。 そして、このTPC-C仕様をmysqlのベンチマークとして実装したものが、tpcc-mysql

    Spiderってなんじゃ?(tpcc-mysqlでベンチマークをとってみた)
  • Mroongaを使って全文検索Webサービスを作ったときにはまったこと(第1回) - CreateField Blog

    前回のエントリに書いたように、1年半ほどをかけて、独学で特許の全文検索サービスを開発しました。 PatentField | 無料特許検索 最初は、MySQLを使ったこともない状態だったこともあり、かなり紆余曲折しました。Groonga開発チームの懇切な対応もあって、専用サーバ1台で最大で1千万レコード超、400GiB以上のサイズのテキストデータを高速に検索できるようになりました。 今後、何回かにわけて、Mroonga(Groonga)を使って全文検索Webサービスを作ったときにはまったこと、学んだことを全て書き出したいと思います。 全文検索エンジンMroongaとは? Mroongaは全文検索エンジンであるGroongaをベースとしたMySQL用のストレージエンジンです。Mroongaは、MySQLが使える人であれば、簡単に高速な全文検索機能が使えます。MariaDB10.0系にもバンドル

    Mroongaを使って全文検索Webサービスを作ったときにはまったこと(第1回) - CreateField Blog
  • cloudpackブログ - EC2でMySQL(Spider編1 Spiderってなんじゃ?)

    今回はEC2上での、MySQLとSpiderについての記事になります。 MySQLでの負荷分散となるとレプリケーションが主でしたが、参照系の負荷は分散できても更新処理は分散することが難しく、それがボトルネックになっていましたが、このSpiderを利用すると、更新も参照も負荷分散することができます。 Spiderは斯波健徳さんが開発したMySQLのストレージエンジンで、MySQLでのシャーディングという、データを分散して保存することで負荷を分散する処理を行うことができます。 尚、Spiderには以下の機能と特徴があります。 異なるMySQLインスタンスのテーブルを同一インスタンスのテーブルのように扱うことが可能になります。 XAトランザクションを含むトランザクションをサポートしているため、更新系DBのクラスタリングに 利用することが可能です。 テーブルパーティショニングをサポートしているため

    cloudpackブログ - EC2でMySQL(Spider編1 Spiderってなんじゃ?)
  • MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記

    もしかしたら使うかもしれないので調べてみた。 shard 日語に訳すと(ガラスや貝殻の) 「破片」といったような意味 データベースをshardに分解して複数のサーバに分散して運用するのがDB sharding データベースパーティショニングとも言えるのかしら? 単一のサーバのDBテーブルを複数のファイルに分割するのをパーティショニングとも呼ぶが、「パーティショニング」という言葉を使ってDB shardingのことを言っているブログ等もちらほら見かけます。 より突っ込んでみたい人は「shared nothing」でぐぐってネ。 なぜデータベースを分散処理するのか 横軸にはサービス運用開始からの時間経過を設定し、縦軸には「DBの応答時間」、「DBへの問い合わせ数」、「DBサイズ」の各数量をとります。サービスが順調に利用されていっているものとし、「DBサイズ」や「DBへの問い合わせ数」は時間経

    MySQL Spiderエンジンを使ってみた。〜データベースシャーディング(sharding)とは〜 - 気ままに書いてみました日記
  • Spiderをバイナリパッケージからインストール - かみぽわーる

    今日はDeNA Technology Seminar #2ですが、皆さんSpiderの予習復習は大丈夫でしょうか。 Spiderのチュートリアルといえば@nippondanjiさんのエントリーを見るのが一番だと思いますが、ちょっと試してみたいときにmysqlのコンパイルから始めるのは大変なので、linux用のバイナリパッケージでさくっと環境構築しちゃいましょう。 mkdir -p ~/local/src cd ~/local/src wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.44-linux-x86_64-glibc23.tar.gz wget http://launchpad.net/spiderformysql/spider-2.x/2.21-for-5.1.44/+download/spider-2.21

    Spiderをバイナリパッケージからインストール - かみぽわーる
    kopug
    kopug 2014/02/07
    [MySQL::Sandbox]
  • MySQL::Sandbox を使ってみる - jitsu102's blog

    WEB+DB PRESS Vol.74 を読んでいて、そろそろ MySQL 5.6 系使ってみるかなと思ったので、お試し環境構築。 いまさらながら、MySQL::Sandbox を使ってみました。 環境 OS: CentOS 6.4 Perl: plenv でインストールした 5.16.3、cpanm もインストール MySQL::Sandbox のインストールと環境設定 cpanm でインストールします。 $ cpanm MySQL::Sandbox MySQL をインストールするためのディレクトリを作成します。 $ mkdir -p $HOME/opt $ mkdir -p $HOME/opt/mysql MySQL のインストール この辺りからインストールするバイナリをダウンロードして、解凍します。 ディレクトリ名が長いので、適当にリネームします。 $ cd $HOME/opt/my

    MySQL::Sandbox を使ってみる - jitsu102's blog
    kopug
    kopug 2014/02/07
    [MySQL::Sandbox]
  • MySQLをインストールしたら、必ず確認すべき10の設定 | Yakst

    MySQL Performance Blogの翻訳。インストール後に必ず設定を確認しなければならない設定パラメータ10つを挙げ、その意味を解説する。MySQLの設定変更時の、一般的な注意点も合わせて。 January 28, 2014 By Stephane Combaudon 我々がパフォーマンス監査の仕事をする時には、MySQLの設定のレビューと改善提案を求められる。大抵の場合、たくさんのオプションがある中でほんのいくつかの設定しか変更するように提案しないことに、多くの顧客は驚く。この記事のゴールは、もっとも重要な設定をいくつか挙げてみることにある。 既にこういった提案は過去にもしているが数年前のもので、それ以来MySQLの世界ではたくさんの変化があったのだ。 話の前に 熟練した人でも、重大なトラブルを引き起こすミスをしでかすことがある。従って、ここに挙げたものを盲目的に適用する前に、

    MySQLをインストールしたら、必ず確認すべき10の設定 | Yakst
  • 快適mysqlコマンド★カスタマイズの決定版 - (ひ)メモ

    この記事は MySQL Casual Advent Calendar 2013 の25日目の記事です。 自分の過去のブログも含めて、mysqlコマンドのカスタマイズについていろいろな情報がありますが、わたしがオススメの秘伝のタレをまとめたいと思います。是非、ご参考に。 定型文(SQL)のショートカット入力 「show create table TABLENAME\G」とか「select user,host,password from mysql.user order by user,host;」とか、よく実行するけど長くて入力するのがめんどうなのがありますよね。それをショートカットで入力できるようにする方法です。 mysqlコマンドで行編集ができるのは、readlineやlibeditをリンクしているおかげです。 従来の公式バイナリ配布物に含まれるmysqlコマンドはreadlineでした

    快適mysqlコマンド★カスタマイズの決定版 - (ひ)メモ
  • MySQLを使ったアプリケーションを作るエンジニアが知るべきMySQLの内部構造とは? | Yakst

    MySQLを使ったアプリケーションを作るエンジニアが知るべきMySQLの内部構造について、データベースコンサルティング会社PalominoDBを経営するLaine Campbell氏による回答。MySQLを知るためには何をポイントに学習すればよいのかがよくわかる、DBAや開発者にとっても役立つ内容。 1. ストレージエンジン ストレージエンジンと、永続性、ロック機構、トランザクション処理の振る舞いや分離レベルといったストレージエンジンの基礎となる動きについての理解なしに、MySQL自体やモデルデータのコードをいじるべきでない。それに加えて、InnoDBのクラスタ化されたプライマリキーや、MyISAMの全文検索インデックスのようなコア要素も、極めて重要な情報だ。 2. インデックスのコンセプト 特に以下のような点について。 カバリングインデックス 連結インデックス インデックスを使ったソート

  • #6「Shardingマジ怖い」tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog

    最近子供が産まれたaraga(@ken39arg)です。 このエントリはtech.kayac.com Advent Calendar 2012 6日目の記事です。 テーマは「私の中のマイイノベーション 2012」 2日目の記事を見て、条件反射的に僕もおっぱいについての記事を書こうと思いましたが、 産まれた子供が「お父さんはいつもおっぱいのことばっかり考えていて気持ち悪い」と思ってしまったらと思うと、こんな危険な橋を渡るわけには行かず、 実際いつもおっぱいのことばかり考えているんですけど、おっぱいのことなんて全然興味ないです。 息子よ、父さんはいつだってまじめに働いているよ! というわけで今年作った"まじめな"ツールのMySQL::Sharding::Clientを自画自賛したいと思います。 MySQL::Sharding::Client MySQL::Sharding::Clientは一言

    #6「Shardingマジ怖い」tech.kayac.com Advent Calendar 2012 - KAYAC Engineers' Blog
  • MySQL のチューニング (ボトルネックの検出) : Figure out!! -ドリコムエンジニアブログ

    こんにちは! onk です。 SAPさんが各社とも「ソーシャルアプリは負荷対策が大事」って言っていますね。弊社でも mixi アプリ(PC),mixi アプリモバイルをリリースしたときはお祭り状態だったので,ふりかえりも兼ねて MySQL のボトルネックを調べる方法を書いてみました。(幸い,モバゲーオープンゲームのリリース時はこれらの経験が役に立ったので何ともなかったです) といっても 9 割方 そもそもサーバの設定がおかしい 更新が多いテーブルなのに MyISAM エンジン for 文の中でクエリを発行 INDEX 張ってない データ量がえらいことになってる 辺りなんですけどねー。 基は下から まず,ボトルネックを調べるときは下の層から上がっていくのが基です。たぶん。 なので ssh でサーバに入って (LoadAverage 300 ぐらいまでならなんとか入れますね) 以下のコマン

  • MySQL を MHA + HAProxy で冗長化してみよう

    斎藤です。こんにちは。 今日は、MySQLにてレプリケーション構成において、マスタサーバのフェイルオーバーを司るmysql-master-ha(以下、MHA)を用いる際、マスタサーバ接続先の切り替えにHAProxyを使ってみようというお話です。 ※MHAは0.53.0(公式パッケージ)、MySQLは5.5.25a(Oracle公式パッケージ)、HAProxyは1.4.22(CentOS6標準パッケージ)、OSはCentOS 6.3 x86_64を用いました。 ※MHAによる冗長化およびHAProxyによるMySQLの負荷分散の設定を経験された事がある前提で記述します。 記事では、次の流れで話題を展開します。 フェイルオーバー時の接続先切り替え方法 構成(参考) なぜHAProxyなのか 切り替え方 2台構成の問題点 その他 コツ 設定(参考) 主にMHA+HAProxyによるフェイルオー

    MySQL を MHA + HAProxy で冗長化してみよう
  • MySQL 5.6正式リリース!! #mysql56

    待望のMySQL 5.6が正式にリリースされた。正式版の最初のバージョンは5.6.10である。コミュニティ版(MySQL Community Server)は下記のページからダウンロードできるので、ぜひ今すぐダウンロードして頂きたい。 MySQL Downloads MySQL 5.6のリリースにあわせて、GUIツールであるMySQL Workbenchやドライバも新しいバージョンがリリースされており、MySQL 5.6対応となっている。それらの周辺ソフトウェアもチェックして頂けると幸いである。 新機能について正式版の機能はリリース候補版の頃から特に変更はない。(リリース候補版まで到達したということは、正式版の機能セットは固まったということであり、大きな機能の変更はないことを意味するからだ。)なので新機能については、リリース候補版が出たときに書いたエントリを参照して頂きたい。 漢(オトコ)

    MySQL 5.6正式リリース!! #mysql56
    kopug
    kopug 2013/02/06
    ついにきたーーー!!!
  • Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立

    Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立 Linuxのおもなディストリビューションの1つであるFedora Projectは、これまで標準のデータベースとして採用していたMySQLの代わりに、Fedora 19からはMariaDBを採用するとして作業を進めています。 同プロジェクトのページ「Features/ReplaceMySQLwithMariaDB」には、その理由が次のように記されています。 Recent changes made by Oracle indicate they are moving the MySQL project to be more closed. They are no longer publishing any usef

    Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立
  • Fedora 19ではMySQLに代えてMariaDBを採用 | スラド IT

    5月にリリースが予定されているFedora 19では、MySQLに代えてMariaDBがデフォルトとなる。MariaDBMySQLのオリジナル開発者の一部がフォークしたプロジェクトで、既にMageia version 2で採用されており、3月リリース予定のopenSUSE 12.3にも採用されることが決まっている( Fedora ProjectのWiki、 The H Openの記事)。 現状MySQLとMariaDBには完全な互換性があるため、ユーザーにとっては特に影響は発生しない。ただし、今後開発が進むにつれて互換性が低下する可能性がある。FedoraでMariaDBが採用されることで、将来的にはRed Hat Enterprise LinuxでもMariaDBが採用されることになるかもしれない。

  • [MySQL] サイト無停止で ALTER TABLE を可能にする pt-online-schema-change | バシャログ。

    早く沖縄オフィス作ってくれないかなー寒くて仕事にならないよ!みなさんこんにちは nakamura です。 ローンチ後もサイトの運用を受け持っているとどうしても機能追加などで DB のテーブル構成を変えなきゃいけないって事あると思います。データ量がさほど多くなければ問題にならないかもしれませんが、MySQL の ALTER TABLE はテーブル全体に対して書き込みロックをかけてしまうため、サイズの大きなテーブルの場合結構な時間サイトを止める必要が出てきてしまったり。。。いい加減なんとかならないのかよ!と思って探していたら中々いい感じのツールを見つけたので今回はそのご紹介です。 Percona Toolkit pt-online-schema-change は Percona Toolkit という MySQL を使う上での便利機能をまとめたツール群に含まれています。pt-online-sc

    [MySQL] サイト無停止で ALTER TABLE を可能にする pt-online-schema-change | バシャログ。
    kopug
    kopug 2013/01/30
  • MySQL ロック競合の解析手順

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    MySQL ロック競合の解析手順
  • cicindela2 - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • ALTER TABLEを上手に使いこなそう。

    テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn

    ALTER TABLEを上手に使いこなそう。