Suche senden
Hochladen
20110809 mysql casual talks vol2
•
Als PPTX, PDF herunterladen
•
2 gefällt mir
•
4,932 views
do_aki
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 29
Jetzt herunterladen
Empfohlen
超カジュアルに使うMySQL @ MySQL Casual Talks #2
超カジュアルに使うMySQL @ MySQL Casual Talks #2
Tasuku Suenaga
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
oranie Narut
MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例
Kazuhiro Oinuma
Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)
Yoshinori Matsunobu
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何か
do_aki
続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方
do_aki
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
Empfohlen
超カジュアルに使うMySQL @ MySQL Casual Talks #2
超カジュアルに使うMySQL @ MySQL Casual Talks #2
Tasuku Suenaga
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
oranie Narut
MySQLでNoSQL - アメーバピグでのNoSQLの実例
MySQLでNoSQL - アメーバピグでのNoSQLの実例
Kazuhiro Oinuma
Introducing MySQL MHA (JP/LT)
Introducing MySQL MHA (JP/LT)
Yoshinori Matsunobu
signal の話 或いは Zend Signals とは何か
signal の話 或いは Zend Signals とは何か
do_aki
続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方
do_aki
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
MySQL 5.7の次のMySQL 8.0はどんなものになるだろう
yoku0825
Tritonn から Elasticsearch への移行話
Tritonn から Elasticsearch への移行話
do_aki
php-src の歩き方
php-src の歩き方
do_aki
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
PHPとシグナル、その裏側
PHPとシグナル、その裏側
do_aki
再考:列挙型
再考:列挙型
do_aki
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)
do_aki
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Writing php extensions in golang
Writing php extensions in golang
do_aki
php7's ast
php7's ast
do_aki
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
do_aki
20150212 プレゼンテーションzen
20150212 プレゼンテーションzen
do_aki
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
do_aki
20141017 introduce razor
20141017 introduce razor
do_aki
20141011 mastering mysqlnd
20141011 mastering mysqlnd
do_aki
php in ruby
php in ruby
do_aki
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
do_aki
N:1 Replication meets MHA
N:1 Replication meets MHA
do_aki
Php radomize
Php radomize
do_aki
php and sapi and zendengine2 and...
php and sapi and zendengine2 and...
do_aki
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
do_aki
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Weitere ähnliche Inhalte
Mehr von do_aki
Tritonn から Elasticsearch への移行話
Tritonn から Elasticsearch への移行話
do_aki
php-src の歩き方
php-src の歩き方
do_aki
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
PHPとシグナル、その裏側
PHPとシグナル、その裏側
do_aki
再考:列挙型
再考:列挙型
do_aki
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)
do_aki
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Writing php extensions in golang
Writing php extensions in golang
do_aki
php7's ast
php7's ast
do_aki
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
do_aki
20150212 プレゼンテーションzen
20150212 プレゼンテーションzen
do_aki
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
do_aki
20141017 introduce razor
20141017 introduce razor
do_aki
20141011 mastering mysqlnd
20141011 mastering mysqlnd
do_aki
php in ruby
php in ruby
do_aki
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
do_aki
N:1 Replication meets MHA
N:1 Replication meets MHA
do_aki
Php radomize
Php radomize
do_aki
php and sapi and zendengine2 and...
php and sapi and zendengine2 and...
do_aki
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
do_aki
Mehr von do_aki
(20)
Tritonn から Elasticsearch への移行話
Tritonn から Elasticsearch への移行話
php-src の歩き方
php-src の歩き方
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
PHPとシグナル、その裏側
PHPとシグナル、その裏側
再考:列挙型
再考:列挙型
PHP AST 徹底解説(補遺)
PHP AST 徹底解説(補遺)
PHP AST 徹底解説
PHP AST 徹底解説
Writing php extensions in golang
Writing php extensions in golang
php7's ast
php7's ast
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
20150212 プレゼンテーションzen
20150212 プレゼンテーションzen
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」
20141017 introduce razor
20141017 introduce razor
20141011 mastering mysqlnd
20141011 mastering mysqlnd
php in ruby
php in ruby
PHP から Groonga を使うにはこんなコードになるよ!
PHP から Groonga を使うにはこんなコードになるよ!
N:1 Replication meets MHA
N:1 Replication meets MHA
Php radomize
Php radomize
php and sapi and zendengine2 and...
php and sapi and zendengine2 and...
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
Kürzlich hochgeladen
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Kürzlich hochgeladen
(8)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
20110809 mysql casual talks vol2
1.
マスタn 対 スレーブ1
レプリケーションの作り方 2011/08/09 do_aki
2.
自己紹介 識別:do_aki(どぅーあき) 所属:(株)もしも
生態:インフラ兼Webアプリケーションエンジニア サーバラッキング・ケーブリング ネットワーク/ミドルウェア構築 WAF/ Library / Webアプリ / GUI アプリ ( #isucon参加します )
3.
レプリケーション
4.
一般的なレプリケーション Master 1:n
Slave:2 Slave:1 Slave:n ……
5.
n:1 レプリケーション Master
A Master B A と B 両方の データが格納 Slave AB
6.
なぜ作ろうと思ったか
7.
シャーディング アプリケーション 水平分割
Master A Master B Slave:1 A Slave:2 A Slave:3 B Slave:4 B
8.
横断的なSQL が発行できない
9.
アプリケーション JOINの壁 Master
A Master B 1:n 1:n Slave:1 A Slave:2 A Slave:3 B Slave:4 B
10.
n:1 レプリケーション Master
A Master B JOIN 可能! Slave AB
11.
CHANGE MASTER TO
12.
Master を切り替え Master
A Master B Slave AB
13.
Master を切り替え Master
A Master B Slave AB
14.
Master を切り替え Master
A Master B Slave AB
15.
16.
Duplicate entry... データ不整合
orz
17.
レプリケーション(スレーブ) Slave Master
から IO SQL data relay log エキスパートのための MySQL運用+管理 トラブルシューティング ガイド より
18.
レプリケーション(スレーブ) Slave Master
から IO SQL CHANGE MASTER で消される data relay log エキスパートのための MySQL運用+管理 トラブルシューティング ガイド より
19.
binlogの 位置(SHOW SLAVE
STATUS) IO thread: Master_Log_FileRead_Master_Log_Pos SQL thread : Relay_Master_Log_FileExec_Master_Log_Pos
20.
SQL thread の位置を利用すると
同じデータを再度取得 ネットワーク帯域 マスタへの負荷 切り替え時間が短いと進まない? -> 却下
21.
IO thread の位置まで待つ
MASTER_POS_WAIT(log_name,log_pos[,timeout]) この関数は、マスター / スレーブの同期化のコントロールに役立ちます。スレーブがマスターログで指定された位置まで読み取り、すべてのアップデートを適用するまでブロックします。戻り値は、指定の位置まで進むまでスレーブが待たなければいけないログ イベントの数です。この関数は、スレーブ SQL スレッドが開始されていない、スレーブのマスター情報が初期化されていない、引数が正しくない、またはエラーが発生、という場合は NULL を戻します。タイムアウトの時間を越えると -1 が戻されます。MASTER_POS_WAIT() の待機中にスレーブ SQL スレッドが停止すると、関数は NULL を戻します。スレーブが指定の位置を過ぎたら、関数はただちに戻しを行います。(以下略) http://dev.mysql.com/doc/refman/5.1/ja/miscellaneous-functions.html#function_master-pos-wait
22.
MASTER_POS_WAIT 指定したバイナリログの位置まで処理をブロック
23.
START SLAVE Seconds_Behind_Master
が 0 になるまで待つ STOP SLAVE IO_THREAD IO thread が読み取った位置まで実行 MASTER_POS_WAIT() STOP SLAVE CHANGE MASTER
24.
START SLAVE Seconds_Behind_Master
が 0 になるまで待つ STOP SLAVE IO_THREAD 原因不明の停止 MASTER_POS_WAIT() STOP SLAVE CHANGE MASTER
25.
STOP SLAVE IO_THREAD
時 IO thread:トランザクション途中でも停止する SQL thread:トランザクション毎に実行してる
26.
START SLAVE Seconds_Behind_Master
が 0 になるまで待つ STOP SLAVE IO_THREAD MASTER_POS_WAIT() Timeout? Yes START SLAVE IO_THREAD No STOP SLAVE CHANGE MASTER
27.
稼働実績 3秒ごとの切り替え 1ヶ月近く安定稼働
目に見えるマスタの負荷はなし
28.
まとめ n:1 レプリケーションは実現可能
遅延は必ず発生してしまう 集計に便利 実際にやってみると躓くことって結構ある ソースコードはgithubにあります(https://github.com/do-aki/SwitchMaster )
29.
おしまい かなり端折ったので 伝わりにくかったら
ごめんなさい
Jetzt herunterladen