Submit Search
Upload
CakePHP2でMySQL Replication
•
3 likes
•
2,867 views
Yoshihiro Ohsuka
Follow
CakePHP2で、レプリケーションスレーブからデータを取得する
Read less
Read more
Technology
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
Recommended
MHA on AWS+Rails
MHA on AWS+Rails
Sugawara Genki
mysqlcasual6-fabric
mysqlcasual6-fabric
doublemarket
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ken Sawada
Mysql casial01
Mysql casial01
matsuo kenji
おすすめ gem
おすすめ gem
chocoby
CentOS7で統合バックアップBacula7.4を使ってみよう
CentOS7で統合バックアップBacula7.4を使ってみよう
Ken Sawada
CentOS7で統合バックアップBacula7.0を使ってみよう
CentOS7で統合バックアップBacula7.0を使ってみよう
Ken Sawada
Recommended
MHA on AWS+Rails
MHA on AWS+Rails
Sugawara Genki
mysqlcasual6-fabric
mysqlcasual6-fabric
doublemarket
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
学 松崎
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ansibleを使ってサーバ100台にBaculaクライアントを簡単インストール
Ken Sawada
Mysql casial01
Mysql casial01
matsuo kenji
おすすめ gem
おすすめ gem
chocoby
CentOS7で統合バックアップBacula7.4を使ってみよう
CentOS7で統合バックアップBacula7.4を使ってみよう
Ken Sawada
CentOS7で統合バックアップBacula7.0を使ってみよう
CentOS7で統合バックアップBacula7.0を使ってみよう
Ken Sawada
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
Ken Sawada
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介
Ryo RKTM
シンプルなシステム構成フレームワークalnair
シンプルなシステム構成フレームワークalnair
Naoya Inada
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄った
Akihiro Kitada
Ubuntu14.04で統合バックアップBaculaを使ってみよう
Ubuntu14.04で統合バックアップBaculaを使ってみよう
Ken Sawada
System4 comment h
System4 comment h
Jun Chiba
Ansible入門
Ansible入門
Daiki Hayakawa
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA ONLINE, Inc.
Mysql casual talks vol4
Mysql casual talks vol4
matsuo kenji
Webサーバ勉強会#1_prefork_8-15
Webサーバ勉強会#1_prefork_8-15
mashan94
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
統合バックアップbaculaを使ってみよう(GUI編)
統合バックアップbaculaを使ってみよう(GUI編)
Ken Sawada
Zabbixを2分でインストール
Zabbixを2分でインストール
真乙 九龍
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
Masahiro NAKAYAMA
おしべめしべ
おしべめしべ
puriketu99 --
私とmysqlとROLE
私とmysqlとROLE
lhfukamachi 深町
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Ibm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコード
K Kimura
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
kunit
reluxの開発体制 - weekdayランサーズ勉強会 -
reluxの開発体制 - weekdayランサーズ勉強会 -
Yoshihiro Ohsuka
More Related Content
What's hot
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
Ken Sawada
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介
Ryo RKTM
シンプルなシステム構成フレームワークalnair
シンプルなシステム構成フレームワークalnair
Naoya Inada
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄った
Akihiro Kitada
Ubuntu14.04で統合バックアップBaculaを使ってみよう
Ubuntu14.04で統合バックアップBaculaを使ってみよう
Ken Sawada
System4 comment h
System4 comment h
Jun Chiba
Ansible入門
Ansible入門
Daiki Hayakawa
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA ONLINE, Inc.
Mysql casual talks vol4
Mysql casual talks vol4
matsuo kenji
Webサーバ勉強会#1_prefork_8-15
Webサーバ勉強会#1_prefork_8-15
mashan94
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
統合バックアップbaculaを使ってみよう(GUI編)
統合バックアップbaculaを使ってみよう(GUI編)
Ken Sawada
Zabbixを2分でインストール
Zabbixを2分でインストール
真乙 九龍
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
Masahiro NAKAYAMA
おしべめしべ
おしべめしべ
puriketu99 --
私とmysqlとROLE
私とmysqlとROLE
lhfukamachi 深町
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Sea Mountain
Ibm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコード
K Kimura
What's hot
(20)
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
170311【bacula】cent os7で統合バックアップbacula7.4を使ってみよう
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介
シンプルなシステム構成フレームワークalnair
シンプルなシステム構成フレームワークalnair
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄った
Ubuntu14.04で統合バックアップBaculaを使ってみよう
Ubuntu14.04で統合バックアップBaculaを使ってみよう
System4 comment h
System4 comment h
Ansible入門
Ansible入門
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Mysql casual talks vol4
Mysql casual talks vol4
Webサーバ勉強会#1_prefork_8-15
Webサーバ勉強会#1_prefork_8-15
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
統合バックアップbaculaを使ってみよう(GUI編)
統合バックアップbaculaを使ってみよう(GUI編)
Zabbixを2分でインストール
Zabbixを2分でインストール
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
おしべめしべ
おしべめしべ
私とmysqlとROLE
私とmysqlとROLE
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
Ibm worklight デモ環境とサンプルコード
Ibm worklight デモ環境とサンプルコード
Viewers also liked
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
kunit
reluxの開発体制 - weekdayランサーズ勉強会 -
reluxの開発体制 - weekdayランサーズ勉強会 -
Yoshihiro Ohsuka
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
Yoshihiro Ohsuka
PHPという概念が存在しない退屈な世界
PHPという概念が存在しない退屈な世界
Yoshihiro Ohsuka
MySQL負荷分散の方法
MySQL負荷分散の方法
佐久本正太
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 Security
Mikiya Okuno
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
Mikiya Okuno
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
Takanori Sejima
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
Viewers also liked
(9)
BigQueryのちょっとした話 #phpblt
BigQueryのちょっとした話 #phpblt
reluxの開発体制 - weekdayランサーズ勉強会 -
reluxの開発体制 - weekdayランサーズ勉強会 -
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
PHPという概念が存在しない退屈な世界 - AWS LambdaでWebAPP編
PHPという概念が存在しない退屈な世界
PHPという概念が存在しない退屈な世界
MySQL負荷分散の方法
MySQL負荷分散の方法
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 Replication
What's New in MySQL 5.7 Replication
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
Similar to CakePHP2でMySQL Replication
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
ichikaway
test
test
a1yama1123
Webサーバのチューニング
Webサーバのチューニング
Yu Komiya
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル
Hirokazu Nishi
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
今日から使い始めるChef
今日から使い始めるChef
Masahiro NAKAYAMA
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
Tomohiro Ohtake
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
靖 小田島
Img select hint_for_h
Img select hint_for_h
Jun Chiba
20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo
ichikaway
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
System select hint_for_h2
System select hint_for_h2
Jun Chiba
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
Hisashi HATAKEYAMA
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
swooleを試してみた
swooleを試してみた
Yukihiro Katsumi
Similar to CakePHP2でMySQL Replication
(20)
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
CakePHP 1 to 2 Migration tips 100
CakePHP 1 to 2 Migration tips 100
test
test
Webサーバのチューニング
Webサーバのチューニング
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
第4回Magento Cafe Plus〜Rewriteと独自テーブル
第4回Magento Cafe Plus〜Rewriteと独自テーブル
Web技術勉強会 20100925
Web技術勉強会 20100925
今日から使い始めるChef
今日から使い始めるChef
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
Img select hint_for_h
Img select hint_for_h
20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
System select hint_for_h2
System select hint_for_h2
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
20091030cakephphandson 01
20091030cakephphandson 01
Customization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
恋に落ちるデプロイツール
恋に落ちるデプロイツール
swooleを試してみた
swooleを試してみた
Recently uploaded
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
Recently uploaded
(8)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CakePHP2でMySQL Replication
1.
CakePHP2 + MySQL Replication 株式会社 LocoPartners 大須賀
義浩
2.
Replication
3.
Replication
4.
Replication
5.
メリット • 更新系と参照系を分けることによって、負荷を 分散できる • Masterがダウンした時に、SlaveをMasterに昇格 することができる
6.
注意点 • 完全同期ではない(タイムラグがある) • Slaveはバックアップではない
7.
Replicationの作り方 • Search Google
8.
CakePHP2で MasterとSlaveを使い分ける
9.
// app/Config/database.php class DATABASE_CONFIG
{ ! public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'master.mysql.host', 'login' => 'mysql_username', 'password' => 'mysql_password', 'database' => 'schema_name', 'prefix' => '', 'encoding' => 'utf8', ); ! public $replica = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'slave.mysql.host', 'login' => 'mysql_username', 'password' => 'mysql_password', 'database' => 'schema_name', 'prefix' => '', 'encoding' => 'utf8', ); }
10.
// app/Model/AppModel.php class AppModel
extends Model { ! public $useReplica = false; ! public function beforeFind($queryData) { if ($this->useReplica) { $this->useDbConfig = 'replica'; foreach ($this->belongsTo as $btModelName => $btModelData) { $this->{$btModelName}->useDbConfig = 'replica'; } } return $queryData; } ! public function afterFind($results, $primary = false) { if ($this->useReplica) { $this->useDbConfig = 'default'; foreach ($this->belongsTo as $btModelName => $btModelData) { $this->{$btModelName}->useDbConfig = 'default'; } } return $results; } }
11.
// app/Model/Hoge.php class Hoge
extends AppModel { public $useReplica = true; public $belongsTo = array( 'Fuga', 'Foo', 'Bar', ); } ! ! ! // app/Controller/HogesController.php class HogesController extends AppController { ! public function index() { $this->set('hoge', $this->Hoge->find('all')); } }
12.
もっと良い実装方法をご存知 でしたら教えてください
Download now