[[MySQL]]
#contents
* Percona XtraDB とは? [#b72034e6]
Percona社が作っている、MySQLのInnoDBを拡張した派生プロダクトが「XtraDB」です。
http://www.percona.com/
* リンク [#d6ec3599]
**XtraDBとは? [#off9aca7]
[[MySQLの新ストレージエンジン Percona XtraDB とは!? : Yorozuyah.com>http://a23187.yorozuyah.com/blog/?p=214]]
>12月 24, 2008
MySQL 5.1GA版が先日リリースされましたが、新機能の一つとしてストレージエンジンのプラグイン化が挙げられます。
早速、その機能を利用し、ロシアのMySQLコンサルティング会社、Perconaより、新ストレージエンジン「XtraDB」がリリースされました。
[[Announcing Percona XtraDB Storage Engine: a Drop-in Replacement for Standard InnoDB>http://www.mysqlperformanceblog.com/2008/12/16/announcing-percona-xtradb-storage-engine-a-drop-in-replacement-for-standard-innodb/]]
以下、概要をまとめてみました。
XtraDBはInnoDBストレージエンジンをベースに開発されたものであり、互換性があるため現在の環境を引き継ぐことができます。
また、最近のハードウェア環境に特化した仕様になっています。
(マルチコアプロセッサや複数ディスクを使用したRAID環境でより有意に動作する!?)
GPL v2ライセンスの元にリリースされており、Sun Microsystems社とは無関係なため、サポートを受ける場合はPercona社と契約することになります。
I/Oスレッドのマルチ化や、RW-lock、Buffer poolなどのロック機構の修正により、既存のInnoDBより、マルチコアプロセッサ環境でより性能が向上するようになっています。
以下のリンク先を確認すると、ディスクI/Oが多く発生する環境や、CPU使用率が高い環境で、「従来のInnoDB」、「プラグイン化InnoDB」、「XtraDB」の3者で性能を比較した場合、より有意に動作していることがわかります。
[[XtraDB benchmarks – 1.5X gain in IO-bound load>http://www.mysqlperformanceblog.com/2008/12/18/xtradb-benchmarks-15x-gain/]]
[[XtraDB in CPU-bound benchmark>http://www.mysqlperformanceblog.com/2008/12/18/xtradb-in-cpu-bound-benchmark/]]
注意する点としては、説明文にも書かれていますが、XtraDBはマルチコア・マルチディスク環境でより高性能を発揮します。
逆に言うと、コアが少なく、ディスクも1本しか使っていないような環境ではInnoDBと比較してもおそらく性能に差が見られないと思われますので、注意が必要です。
今後、6ヵ月に1度の更新がなされるようなので、さらなる機能追加・性能向上に期待です。
入手先は、リンク先の
Percona XtraDB available
を参照してください。
こうした、サードパーティによるプラグイン開発は今後も継続して行われると思います。
ユーザとしては取捨選択の重要性が増してくると思いますが、より素晴らしいプラグインがリリースされることを期待します。
[[InnoDB - Wikipedia>http://ja.wikipedia.org/wiki/InnoDB]]
>OurDelta.orgではGoogle社、Percona社等によるInnoDBへのパッチを含むMySQLバイナリを頒布している。
2008年12月26日にPercona社はInnoDBの分岐であるXtraDBを発表した。
- http://ourdelta.org/
- http://ourdelta.org/patches
**XtraDBによるホットバックアップ [#d94fc9d0]
[[Percona Xtra BackupによるInnoDBホットバックアップ>http://dtx.co.jp/archives/321]]
>InnoDBのホットバックアップが可能なバックアップツールとしては、InnoDB Hot Backup が有名ですが、無償で利用出来るツールに、Percona Xtra Backup があります。
Percona Xtra Backup の主な特徴は以下の通りです。
・InnoDBのホットバックアップ
・バックアップしたファイルをtar形式で圧縮し、リモートホストへ転送
・指定したテーブルのみバックアップ
・差分バックアップは、以前のバックアップとマージする
今回、プロジェクトのDBバックアップツールとしてインストールすることにしました。
以下がインストールメモです。
環境
・CentOS5.5 i386
・mysql5.1
前提条件
mysql_user: mysql
mysql_root_dir: /usr/local/mysql
mysql_data_dir: /usr/local/mysql/var
my.conf: /etc/my.conf
backup_dir: /var/backup
rootユーザにて作業
#code{{
su root
cd /usr/local/src
wget http://www.percona.com/downloads/XtraBackup/XtraBackup-1.2/Linux/binary/i686/xtrabackup-1.2.tar.gz
}}
環境によってDLするファイルを変更してください。 http://www.percona.com/downloads/
#code{{
tar zxf xtrabackup-1.2.tar.gz
chown -R mysql.mysql xtrabackup-1.2/bin/
cp xtrabackup-1.2/bin/* /usr/local/mysql/bin
}}
mysql/binディレクトリにコピー
#code{{
cp /usr/local/mysql/bin/innobackupex-1.5.1 /usr/local/mysql/bin/innobackupex
}}
vi /etc/my.cnf
[mysqld]に
datadir=/usr/local/mysql/var
を追加
バックアップディレクトリ作成
#code{{
mkdir -p /var/backup
}}
バックアップ実行
#code{{
/usr/local/mysql/bin/innobackupex-1.5.1 --user={mysql_user_name} --password={mysql_user_password} /var/backup
}}
バックアップは、 /var/backup/{backup_date} に作成されます。
''リストア方法''
mysql停止
#code{{
/etc/init.d/mysql stop
}}
data_dirの退避
#code{{
cd /usr/local/mysql
mv var var.bk
}}
リストア実行
#code{{
/usr/local/mysql/bin/innobackupex-1.5.1 --user={mysql_user_name} --password={mysql_user_password} --copy-back /var/backup/{backup_date}/
}}
所有者変更
#code{{
chown -R mysql.mysql /usr/local/mysql/var
}}
mysql起動
#code{{
/etc/init.d/mysql start
}}