タグ

MySQLに関するdrivejpnのブックマーク (63)

  • Phoronix Test Suite

    The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available that provides an extensible framework for which new tests can be easily added. The Phoronix Test Suite is designed to effectively carry out both benchmarks in a clean, reproducible, and easy-to-use manner. Features Easy-To-UseExtensible ArchitectureStatistical AccuracySystem MonitoringMulti-PlatformAutono

  • MySQL 5.4!! MySQL Cluster 7.0!!

    Oracleによる買収の報道とちょうど時期が重なってしまったのだが、実は今MySQL Conference & Expoの真っ最中なのである。買収のニュースのインパクトが大きすぎて霞んでしまいそうになるが、MySQL Conference & Expoにおいてなんと新しいバージョンのMySQLが発表された。MySQL 5.4である。次期バージョンは6.0とされていただけに驚いた人も多いだろうが、5.4は5.1から性能を改善し、6.0の機能をちょっとだけ先取りしたバージョンなのである。(そのバージョン番号の通り、5.1と6.0の中間的なバージョンというわけである。) MySQL 5.4の新規機能は次の通り。 InnoDBのスケーラビリティ改善(Googleの貢献!) SHOW ENGINE INNODB STATUSの拡張。(さらなる情報の表示) DTrace用Probeの追加(Solari

    MySQL 5.4!! MySQL Cluster 7.0!!
  • SDC SQUARE April 2009

    昨年12月8日、MySQL5.1がリリースされました。一般提供開始後わずか10日で25万ダウンロードを記録し、デベロッパーの関心がひときわ高い製品です。今回、MySQLのパフォーマンスチューニングのポイントを、サン・マイクロシステムズ株式会社の島拓也さんと奥野幹也さんにうかがいました。(取材:SDC編集局) 編集局:現在のお仕事について教えてください。 奥野さん:私はMySQLの有償版のサポート業務に携わっています。お客様からいただくいろいろな問い合わせ、たとえば、MySQLの使い方や仕様・動作の細かい質問にお答えしています。トラブルシューティングやパフォーマンスチューニングなども含まれます。 島さん:私はx86サーバの販売を担当しています。x86サーバの差別化要因としてMySQLなどの上位のアプリケーションを含めたソリューションのご提案が主な仕事の内容となります。 編集局:サポートチーム

  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
  • Distribution Awareness - MySQL Clusterにおけるスキーマチューニングの定石

    MySQL Clusterはデータノードが増えると性能が低下する??? そのような噂を聞いたことがないだろうか。この噂は事実を含んでいる面もあるが、殆どの場合は適切にスキーマを設計していないことが原因で起きる。実はMySQL Clusterはその性能を遺憾なく発揮するためにはスキーマの設計が非常に大事なのである。 MySQL Clusterは複数のデータノード(ノードグループ)に対して主キーの値に基づいて行単位で分散されている。主キーに偏りがなければ各データノードに格納される行数は均等になる。つまり、MySQL ClusterはSharding(アプリケーションパーティショニング/Level2分散)を自ら行っていると言えるだろう。 MySQL Clusterでは主キーによるルックアップは、どのデータノードにデータが格納されているかが主キーから分かるため非常に高速である。逆に、主キー以外のキ

    Distribution Awareness - MySQL Clusterにおけるスキーマチューニングの定石
  • ハードディスク速度評価 | Carpe Diem

    今までコストと容量を重視して、SATA 7200RPM のハードディスクだけを使っていたけれど、試しに SAS 15000RPM のハードディスクのサーバを導入してみることにした。用途は、Flickr のパクリで Slave データベースサーバとして使う。 今回比較した s1 と s2 のスペックは、次のとおり。 s1: DELL R300, Xeon L5410  @ 2.33GHz, 8GB RAM, SAS 300GB 15000RPM s2: DELL R200, Xeon L3210  @ 2.13GHz, 4GB RAM, SATA 160GB 7200RPM 来なら同じスペックのマシンで比較したところが仕方がない。 bonnie++ で速度面を評価してみた結果は、次のとおり。 s1 SATA Version 1.03e       ——Sequential Output——

  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • MySQLのEXPLAINを徹底解説!!

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

    MySQLのEXPLAINを徹底解説!!
  • MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」

    サーバのチューニングをする上でかなりやっかいなのがデータベース系。特にログファイルの量が膨大になると後から中身を見て問題を分析するのも一苦労という場合が。そんなときにこのMySQLtopコマンド「mytop」を使えば一体何が起きているのかがすぐにわかるので問題点の把握が容易になります。ベンチマークするときに併用すればかなり効率が良くなるのではないかと。 インストールと使い方は以下の通り。 まずは「mytop」から。以下が公式サイト。 mytop - a top clone for MySQL http://jeremy.zawodny.com/mysql/mytop/ マニュアルは以下にあります。 mytop - display MySQL server performance info like `top' インストールするにはSSHなどを使ってrootでログイン後、wgetでファイル

    MySQLの状態がリアルタイムでわかるMySQL用topコマンド「mytop」と「innotop」
  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • MySQL Clusterへの接続方法

    どうやってたくさんあるSQLノードに接続すればいいんだ? ロードバランスは? フェイルオーバーは? ということがあると思う。このテーマを扱ったドキュメントはありそうだちょうど良いものが見あたらない。おそらくこの点が明確でないために「よし、最近サイトのトラフィックも増えてきたことだし、いっちょMySQL Clusterを試してみようか!」という気にならず、多くの人が利用を躊躇ってしまっているのではないだろうか?なので今日はこの点について5パターンのソリューションを紹介したいと思う。 その前に、「MySQL Clusterって何だ?シラネーヨ!」って人は、MySQL Clusterの特徴やセットアップ方法などを以前にThinkITへ投稿したのでそちらを参照して貰いたい。 http://www.thinkit.co.jp/article/95/ では題。 1. mysqldをアプリと共存恐らく

    MySQL Clusterへの接続方法
  • MySQL Proxy in Launchpad

    *** NOTE *** We are no longer publishing MySQL Proxy source code on Launchpad. As of July 2015 we are publishing on GitHub: https://github.com/mysql/mysql-proxy *** END NOTE *** MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication. Its flexibility allows for a wide variety of uses, including: - load balancing -

  • SSD, XFS, LVM, fsync, write cache, barrier and lost transactions

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

    drivejpn
    drivejpn 2009/03/08
    後で実験
  • 最強のMySQL HA化手法 - Semi-Synchronous Replication

    MySQL 6.0で搭載される予定の機能の一つに、Semi-Synchronous Replicationというものがある。コイツを使うととんでもなく凄いHA化ができるので、今日はその方法を紹介しよう。 まずはSemi-Synchronous Replicationの機能説明から。そもそもSemi-Synchrounousってナニ?どうして完全な同期でもなく非同期でもなくSemi-Synchronousなの?という疑問をまずは解消したいと思う。さっそく次の図を見て欲しい。 これはSemi-Synchronous Replicationの動作を図で表したものである。図だけではなんだかよく分からないと思うので、以下に各ステップの詳細を説明する。 アプリケーション(クライアント)からトランザクションをCOMMIT要求を出す。 バイナリログを更新する。 ストレージエンジン(テーブル)を更新する。

    最強のMySQL HA化手法 - Semi-Synchronous Replication
  • 高速SSDの落とし穴。データベースで利用するときはご注意を!

    今年はSSDの台頭がめざましい。価格の低下、大容量化、そして高速化、さらには低電力化まで期待できるというからもうHDDの出番はなくなるんじゃないだろうかというぐらいの勢いである。しかしそんなSSDもデータベースで利用する時には気をつけてもらいたい。 MySQL Performance Blogでインテル製SSDを使って検証した結果がレポートされている。 インテル製SSDはめっぽう早い。彼らのテストでは一秒間に5250回もの書き込みが出来たそうだ。しかしそれはライトバックキャッシュが有効になっているときの話であって、ライトバックキャッシュを無効にすると書き込みは秒間1200回まで低下したらしい。(それでも高速だが。) で、このインテル製SSDのライトバックキャッシュはくせ者で、バッテリー等で保護されていない。つまり、ライトバックキャッシュにダーティな(まだディスクへの書き出しが完了していない

    高速SSDの落とし穴。データベースで利用するときはご注意を!
  • さらにMySQLを高速化する7つの方法

    MySQLを高速化する10の方法という記事がとても好評だったようである。記事を読んで頂いた皆さん、ありがとう。 この記事に対する便乗(?)でWeb屋のネタ帳: PostgreSQLを高速化する16のポイントという記事を書いて頂いたようだが、そちらの方もかなり人気だったようである。他人が作ったソフトウェアに改良を加えるというフリーソフトウェアやオープンソースソフトウェアの精神も基は便乗であるので、便乗については大いに賛成したいというかむしろ取り上げてくれてありがとう!!と思うわけであるが、ここでさらに俺はこう考える。 と。 Web屋のネタ帳さんの記事では16のポイントが紹介されているが、漢(オトコ)のコンピュータ道の記事は10の方法だったのであと6つ足りない。オトコは数で勝負!!というわけで今日はネタを振り絞ってさらに7つのMySQL高速化テクニックを紹介しよう。 1. インテルコンパイラ

    さらにMySQLを高速化する7つの方法
  • お父さんのお小遣いでクラスタリング

    オトコもサーバーもダウンタイムは許されない。 サーバーにおいて手軽にダウンタイムを低減するための仕組みと言えばクラスタリングである。しかしながらクラスタリングはかつて、それなりに高価なソリューションであった。なぜならば、以下のような理由があるからだ。 メインフレームの置き換えとして利用するパターンが多いので客層がいい。(お金をたくさん持っている。) 共有ストレージ(主にSCSIやファイバーチャネルのRAIDアレイ装置)が必要である。 市販のクラスタリングソフトはライセンス料が高い。 しかし月日はながれ、最近はこういった事情は変わりつつある。事情を変えたのはズバリ、フリーオープンソースソフトウェア(FOSS)によるクラスタリングソフトであるHeartbeat、および共有ディスクを必要としない共有ストレージソリューションであるDRBDだ。今日はDRBDについて少し語ってみたいと思う。いつもの調

    お父さんのお小遣いでクラスタリング
  • http://www.mysqlpracticewiki.com/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8

  • HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか

    HowFriendFeedUsesMySqlToStoreSchemaLessData - FriendFeed では MySQL を使いどのようにスキーマレスのデータを保存しているのか 目次 この記事について FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか 背景 概観 詳細 一貫性と原子性 性能 FriendFeed? では MySQL を使いどのようにスキーマレスのデータを保存しているのか この記事について "How FriendFeed? uses MySQL to store schema-less data" の日語訳です http://bret.appspot.com/entry/how-friendfeed-uses-mysql CC 2.5 でライセンスされています: http://creativecommons.org/