SlideShare a Scribd company logo
N:1 レプリケーション
~進捗どうですか?~
2014/12/12
MySQL Casual Talks vol.7
do_aki
@do_aki
@do_aki
http://do-aki.net/
I
PHP
これまでの
あらすじ
Master A
table hoge
table fuga
Slave
A1
Slave
A2
Slave
B1
Master B
table piyo
table hage
Slave
B2
Master
A
Slave
A1
Slave
A2
Slave
B1
Master
B
Slave
B2
Application
JOIN
できない!
Master
A
Slave
A1
Slave
A2
Slave
B1
Master
B
Slave
B2
Slave
A+B
N:1 レプリケーション
N:1 レプリケーション (1)
• 複数台のマスタにあるテーブルを一つの
スレーブに集約する仕組み
• https://github.com/do-aki/N1Repl
• 詳しくは過去のスライドを
– http://www.slideshare.net/do_aki/20110809-my-sql-casual-
talks-vol2
– http://www.slideshare.net/do_aki/n1-replication-meets-mha
N:1 レプリケーション (2)
• 結構昔から挑んでいる人はちらほら
• MariaDB では マルチソースレプリケー
ションという名前で実装された
• MySQL labs にもあった (今もある?)
– MySQL Optimizer/InnoDB/Replication ?
前回
• N:1 レプリケーションのプログラム刷新
したよ-
• テスト書いたよー
• レプリケーション対象のマスタを動的に
入れ替えることが出来るようにしたよ-
MHA 対応?
レプリケーション対象のマスタが
切り替わったら自動で追随とか
できたら幸せダヨネー
進捗ダメです
以上
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
Raspberry Pi
と
MySQL
2014/12/12
MySQL Casual Talks vol.7
do_aki
Raspberry Pi Model B+
RELEASE: 2014/06
CPU: ARM11(v6) / 700 MHz
MEMORY: 512MB
NETWORK: 10/100 Mbps Ethernet
USB: 2.0 * 4
POWER
ratings: 600 mA (3.0 W)
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL 動く!
• apt-get install mysql-server
• Respbian は Debian ベースだし
N:1 レプリケーションとか
• 当然動く
$ sudo apt-get install 
git libdbd-mysql-perl libyaml-tiny-perl
$ git clone 
https://github.com/do-aki/N1Repl.git n1repl
$ cd n1repl
$ perl n1repl_manager.pl 
--conf=data/config.yaml
そうだ、コンパイルしてみよう
$ apt-get install cmake libncurses5-dev
$ time mysql-build -v 5.6.22
~/opt/mysql/5.6.22
(出力略)
real 509m36.082s
user 483m31.200s
sys 14m38.120s
Raspberry Pi で何が出来るか
• Cluster とかもうやってるひとが居る
• なんかアイディアあれば
まとめ
• N:1 レプリケーション進捗ない
• Raspberry Pi 面白いYo
• Raspberry Pi x MySQL で面白いことで
きないかなー?

More Related Content

PPTX
N対1 レプリケーション + Optimizer Hint
PPTX
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
PPTX
続マスタN対スレーブ1レプリケーションの作り方
PDF
Rails解説セミナー: Railsのアップグレード編
PDF
Rails解説セミナー: リリースノート解説編
PPTX
Past ABAP, ABAP to the Future(jp)
PDF
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
N対1 レプリケーション + Optimizer Hint
マスタN対スレーブ1レプリケーションの作り方 ~あれから~
続マスタN対スレーブ1レプリケーションの作り方
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: リリースノート解説編
Past ABAP, ABAP to the Future(jp)
AWS Black Belt Online Seminar 2017 Amazon EC2 Systems Manager
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした

More from do_aki (20)

PPTX
Tritonn から Elasticsearch への移行話
PPTX
php-src の歩き方
PPTX
PHP と SAPI と ZendEngine3 と
PPTX
PHPとシグナル、その裏側
PPTX
再考:列挙型
PPTX
signal の話 或いは Zend Signals とは何か
PPTX
PHP AST 徹底解説(補遺)
PPTX
PHP AST 徹底解説
PPTX
Writing php extensions in golang
PPTX
php7's ast
PPTX
20150212 プレゼンテーションzen
PPTX
20141017 introduce razor
PPTX
20141011 mastering mysqlnd
PPTX
php in ruby
PPTX
PHP から Groonga を使うにはこんなコードになるよ!
PPTX
N:1 Replication meets MHA
PDF
Php radomize
PPTX
php and sapi and zendengine2 and...
PPTX
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
PPTX
Immortal
Tritonn から Elasticsearch への移行話
php-src の歩き方
PHP と SAPI と ZendEngine3 と
PHPとシグナル、その裏側
再考:列挙型
signal の話 或いは Zend Signals とは何か
PHP AST 徹底解説(補遺)
PHP AST 徹底解説
Writing php extensions in golang
php7's ast
20150212 プレゼンテーションzen
20141017 introduce razor
20141011 mastering mysqlnd
php in ruby
PHP から Groonga を使うにはこんなコードになるよ!
N:1 Replication meets MHA
Php radomize
php and sapi and zendengine2 and...
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
Immortal
Ad

MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」

Editor's Notes

  • #4: PHP を愛するしがないぺちぱー
  • #6: むかしむかしあるところにカジュアルに垂直分割してしまった2台のマスタがいました
  • #7: この2台のマスタは、アプリケーションからは論理的に結合できるのですが、 JOIN 句を利用した SQL を発行できないという欠点がありました
  • #8: JOIN ができないなら、スレーブに集約すればいいじゃない という
  • #13: オフィス移転とか、サーバ移設とか、 PHP 5.2 -> 5.5
  • #24: 8時間以上!