日本の衆議院選挙が間近に迫っていますが、昨年米国で行われた大統領選において、オバマ陣営がIT技術を駆使したという話はよく知られています。MySQLももちろん使われていました。今年4月にサンタクララで開催されたMySQL
Conference & Expo 2009というイベントでは、最終日のキーノートにおいて、Obama Tech
Teamの方々より、大統領選においてMySQLがいかに使われたかという発表が行われました。
…
It is a well-known fact that the bottlenecks of MySQL does not exist in its storage engines, but rather in the core, for example, its parser and execution planner. Last weekend I started to wonder how fast MySQL could be if those bottlenecks were skipped. Not being able to stop my curiousity, I started adding memcached proctol support to MySQL as a UDF. And that is Mycached.
From what I understand, there are two advantages of using mycached (or the memcached protocol, in general) over using SQL. One is faster access. The QPS (queries per second) of mycached is roughly 2x compared to using SQL. The other is higher concurrency. As can be seen in the chart below, mycached can handle thousands of connections simultaneously.
…
[さらに読む]
ちょっと古い話になるが、先々月に松信氏と一緒にMySQLのパフォーマンスチューニングのセミナーを行ったときのホワイトペーパーがダウンロードできる(要登録)ので、もし興味のある方はこちらからどうぞ。インタビュー記事(宣伝だけどね!)もぜひご一読を。
http://www.itmedia.co.jp/enterprise/articles/0906/29/news003.html
なぜ直ぐにブログで宣伝しなかったのか?という理由は、マーケの人に止められていたから。
Spiderストレージエンジンのバージョン 2.0(beta)をリリースしました。
http://spiderformysql.com/
これ以降は、1.xが安定版、2.xが開発版となります。
今回の主な変更は以下です。
・テーブルパラメータに「semi_table_lock_connection」を追加しました。
・サーバパラメータに「spider_semi_table_lock_connection」を追加しました。
…
世の中ではたくさんの人が独自にベンチマークを行ない、独自に情報発信がされています。そのベンチマークの中には、非常に参考になるものもあれば、現実性に大きく欠けるものもあります。競合他社が、ライバル社の製品にとって不利な条件でベンチマークを行い、それを発信することも日常的に行われています。ベンチマークの結果を鵜呑みにすることは危険で、結果の意味を判断するスキルを持つことが重要です。これはプロジェクトにおいて負荷テストを行う場合にも重要です。負荷テストの条件設定が正しいかどうかを判断できるようになるためです。
ここでは、私がDBサーバのベンチマーク/負荷テストを行ったり結果を読んだりする上で、心がけているポイントを10個ほど紹介したいと思います。
…
Spiderストレージエンジンのバージョン 1.0をリリースしました。
このバージョンからGAとなります。
http://spiderformysql.com/
今回からLinux x86_64用の共有ライブラリをリリースしています。
リリースにあたっては、以下の記事を参考にさせていただきました。
http://d.hatena.ne.jp/kazuhooku/20080831/1220144671
kazuhoさんありがとうございます。
それ以外の変更については、ダウンロードドキュメント中の「99_change_logs.txt」をご確認下さい。
MySQL5.1のGA版が出てから8ヶ月余りが経過しましたが、まだ5.0(あるいはそれ以前)をメインで使っている方も多いのではないでしょうか。5.1の何が良いのかいまいち分からないという方も多いかもしれません。そんな方にとって分かりやすい例の1つが、「5.1でInnoDBのAUTO_INCREMENT性能が大幅に改善された」という点です。私は仕事柄Web系の技術者の方と話をする機会もよくありますが、意外と知られていない改善なので(まさにトラフィックと同時接続数の多いWeb系システムのための改善なのに…)この機会に取り上げることにします。
…
Spiderストレージエンジンのバージョン 0.18をリリースしました。
http://spiderformysql.com/
今回の主な変更は以下です。
・テーブルパラメータに「use_pushdown_udf」を追加しました。
・サーバパラメータに「spider_use_pushdown_udf」を追加しました。
「use_pushdown_udf」「spider_use_pushdown_udf」は、engine_condition_pushdown利用時、where句で利用したUDFをリモートサーバに発行するSQLの検索条件に加えるかどうかを設定することができます。
今回からテーブルパラメータの空白として、改行が利用できるようになりました。
藤尾さん、ご報告ありがとうございます。
…
ありそでなさそな内容だったのでメモ。
Connector/Netを使うとC#からMySQLのデータを扱えますが、これ自体は.Net providerなので、.Net
Frameworkが扱えるところから利用することができます。今回はWindowsで利用できるPowerShellから扱ってみます。以下の環境で試してみます。
PowerShell: 1.0
Connector/Net: 6.0.4
まずアセンブリをロードします。
PS C:¥>
[reflection.assembly]::LoadWithPartialName("MySQL.Data")
GAC Version Location
--- ------- --------
True v2.0.50727
C:¥WINDOWS¥assembly¥GAC_MSIL¥MySQL.Data¥6.0.4.0__c5687fc88969c44d¥MySQL.Data.dll
接続文字列を準備して、接続します。
PS C:¥> $connStr =
"server=127.0.0.1;port=3306;uid=root;database=test;Pooling=False"
PS C:¥> $conn = New-Object …
DBチューニングにおいて、気を配るべきところは数多くありますが、中でも真っ先に見るべきところはディスクI/Oでしょう。なぜかというと、メモリアクセスに比べてHDDの方が圧倒的に遅く、最もパフォーマンス阻害要因になりやすいためです。ディスクI/Oネックの解決方法を探っていくと、「テーブル/インデックス設計やSQL文の見直し」に行き着くこともまた多いです。これらが不適切だと、結果として大量のレコードをアクセスすることになり、ディスクI/Oが多く発生してしまうためです。根本的な原因はディスクI/Oにあります(CPUネックになることもありますが、その例は別の機会に取り上げます)。
…