SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
第4回 PostgreSQLアンカンファレンス2014/09/06 
9.4新機能 
レプリケーション・スロットの使いどころ 
株式会社アシスト 喜田 紘介 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 1
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 2 
自己紹介 
● 名前 
● 喜田 紘介(きだ こうすけ) 
● 所属 
● 株式会社アシスト データベース技術本部 
● 日本PostgreSQLユーザ会 広報・企画担当 
● 近況 
● 仕事では、新規構築するシステムのDBをどうすべきか?というRDBMS選択支援や、 
商用DBからOSSへの移行の前段階として、オブジェクトやSQL差異のレクチャーや、 
データベースの診断・評価を行う 移行アセスメント支援 を主に担当しています。 
● 2014年度より、JPUGの理事になりました。こちらもよろしくお願いします。 
● この夏やりたいことやったこと 
PG9.4の検証、マラソンとトライアスロンの練習、歌とギターの練習(初心者)
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 3 
本日お話すること 
● PostgreSQL 9.4で追加されたレプリケーション・スロットの概要 
● レプリケーション・スロットに期待されること 
● レプリケーション・スロットがあるとこう変わる! 
● みなさんの意見をきかせてください
レプリケーション・スロットの概要 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 4 
● レプリケーション・スロット 
● 新しいDB内のオブジェクトでもあるし、レプリケーションスロットという考え方、ともとれる 
● ストリーミング・レプリケーションのマスタ側に存在し、スレーブの状態を管理している 
slot1 
slot2 
slot3 
wal_sender 
wal_reciever
レプリケーション・スロットの概要 
止まってるな~ 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 5 
● スレーブの状態 とは? 
● スレーブが生きているかどうか、転送がどこまで完了しているか 
● スロットの先には、何らかのアプリケーション(それが、スレーブだったり、logical walを見る人) 
slot1 
slot2 
slot3 
wal_sender 
wal_reciever 
遅れてるな~ 
よし!正常!
レプリケーション・スロットの概要 
postgres=# SELECT * FROM pg_create_physical_replication_slot('slot1'); 
slot_name | xlog_position 
-------------+--------------- 
slot1 | 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 6 
● もう少し現実的な画面 
● レプリケーション・スロットの作成 
● スロットの中身をみると 
■スロットからデータを受け取るもの(=スレーブ)がいないとき 
postgres=# SELECT * FROM pg_replication_slots; 
slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn 
-------------+--------+-----------+--------+----------+--------+------+--------------+------------- 
slot1 | | physical | | | f | | | 
■スロットからデータを受け取るもの(=スレーブ)がいるとき 
postgres=# select * from pg_replication_slots ; 
slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn 
-------------+--------+-----------+--------+----------+--------+------+--------------+------------- 
slot1 | | physical | | | t ★ | | | 0/27E5D6E0 
クラスタ内で 
スロットが 
スロットの先(=スレーブ) 
転送済みの 
ロジカル・スロットの場合に入る項目 
一意の 
使われてるか 
で実行されてる最古の 
lsnアドレス 
「どのプラグインで、どのDBを見てるよ」 
スロット名 
否か 
トランザクションID 
(walの位置)
レプリケーション・スロットに期待される効果 
● logical_decodingを実現するための要素(9.4新機能) 
● logical decodingは、walを読み取れる状態で吐く機能で、今後様々な拡張の基盤に   
logical decodingは外部ツールに 
データを渡せる機能なので 
「誰」が「いつ」「何回」取りに来るかは 
外部ツールの作り次第 
update 給与 set 月給*1.1 
where 喜田 ; 
update 給与 set 月給*1.1 
where 喜田 ; 
update 給与 set 月給*1.1 
where 喜田 ; 
もっと 
ちょーだい 
え、さっき 
ログスイッチ 
しちゃった 
泣 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 7 
なるとされている。 
● レプリケーション・スロットがあれば、postgres側で↓を発生させないようにできる。 
● こんなlogical decodingはイヤだ 
update 給与 set 月給*1.1 where 喜田 ; 
ブラックボックスな 
ツール 
ぐへへ 
もっと 
俺も! 僕もほしい 
いや 
俺でしょ 
はい 
どうぞ 
しゃーないな 
みんなにデータあげちゃう欲しいデータが消えちゃってる何度でもデータあげちゃう
レプリケーション・スロットに期待される効果 
● これまでのストリーミング・レプリケーションの課題を解決 
● レプリケーション競合の発生 
● wal_keep_segments もしくは アーカイブ転送を考慮 
②ロング 
トランザクション 
walファイル 
wal_keep_seg分 
まで持っておける 
wal_sender 
アーカイブファイル 
最悪の場合に備え、 
スタンバイに転送または領域を共有 
ファイルコピー 
など 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 8 
①更新が伝搬 
③vacuum ④vacuumも 
 伝搬②’失敗!!! 
レプリケーション競合walの消失に備えて対策を検討
ここまでは、マニュアルレベル 
●従来の方法でもレプリケーションは 
組むことができる。 
●では、スロットの活用シーンは? 
● logicalは、まだ実用段階ではないので 
ここではストリーミングレプリを考えます。 
● 競合の解消?他には? 
● 皆さんの案もお聞きしたいです。 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 9
活用シーン1 複数台のスレーブがある場合(追記) 
● wal_keep_segmentsの設定が困難なことが、きっとある 
● もしくは、ホットスタンバイ用に全スレーブにアーカイブを転送する? 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 10 
wal_sender 
wal_reciever 
貧弱なマシンだから 
バッチとかの同期に 
時間がかかる 
この2台は同期が 
追いついてるのに 
walファイル 
wal_keep_seg分 
まで持っておける 
    の都合によりwal_keep_segを多めに 
設定しておかなければならない。最適値の検討が 
けっこう大変。 
アンカンファレンス参加者や、自身の経験でも、wal_keep_segmentsの 
不適切な設定により必要なwalが消失し、レプリケーションが崩れていた 
という問題が確認でき、このような点ではスロットが活きると考えられる。 
2014/09/09追記
活用シーン2 遅延レプリケーションの場合(追記) 
● 9.4の新機能で、レプリケーションの同期タイミングを遅らせることが可能 
● 障害時、スレーブに障害が伝搬する前に対処が可能となるため、 
バックアップとしての利用などが期待される 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 11 
wal_sender 
wal_reciever 
遅延なしでレプリケーション 
30分間の遅延を設定 
walファイル 
wal_keep_seg分 
まで持っておける 
    更新量にばらつきがある場合、walファイル 
の数ではなく、30分という遅延時間内で必要とする 
walが消失しないような管理機構が必要 
=>スロットで実現 
遅延レプリケーションは、スレーブ側でWAL適用する際の設定であり、 
マスターからスレーブに対するWAL転送までは遅延無く行われる。 
つまり、本スライドに記載していたようなマスタ側でwal消失を防ぐことの 
効果は薄く、遅延レプリケーション設定と、レプリケーション・スロットの 
直接的な関連は少ないと考えられる。 
2014/09/09追記 
間違いなので注意!
1対1のレプリケーションの場合、どうする? 
● 従来の方法でOK (喜田の案) 
● 最終的にアーカイブファイルでやり取りしていたほうが、安心感があるような。 
● レプリケーション・スロットを使用した際のWALディレクトリの肥大化が問題になりそう。 
● ただし、スロットの方が設定はシンプルのように見える。 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 12
wal_sender / wal_recieverの動作は変わる?(追記) 
● どこまで送ったか、スロットに入ってはいるが。。。 
● これまでのレプリケーションでは、recieverが次のwalを要求 
● →senderが必要なwalを送る 
● スロットは、必要なwalをpg_xlogに残しておくだけの設定であり、 
sender/recieverの動きは変わらない? 
正確な情報が確認でき次第、追記予定。 
発表は以上です。ありがとうございました。 
2014/09/09追記 
Copyright © 2014 K.K.Ashisuto All Rights Reserved. 13

Mais conteúdo relacionado

Mais procurados

祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそうTakatoshi Matsuo
 
PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化についてSoudai Sone
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』健太 松浦
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化kazuhcurry
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 

Mais procurados (20)

祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
 
Pacemakerを使いこなそう
Pacemakerを使いこなそうPacemakerを使いこなそう
Pacemakerを使いこなそう
 
PostgreSQLの冗長化について
PostgreSQLの冗長化についてPostgreSQLの冗長化について
PostgreSQLの冗長化について
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』試して覚えるPacemaker入門 『リソース設定編』
試して覚えるPacemaker入門 『リソース設定編』
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 

Destaque

モバイルゲームの全世界オンライン対戦を実現する方法を考察する
モバイルゲームの全世界オンライン対戦を実現する方法を考察するモバイルゲームの全世界オンライン対戦を実現する方法を考察する
モバイルゲームの全世界オンライン対戦を実現する方法を考察するCROOZ, inc.
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgresKosuke Kida
 
Jpug study-pq 20170121
Jpug study-pq 20170121Jpug study-pq 20170121
Jpug study-pq 20170121Kosuke Kida
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介Masao Fujii
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshimaKosuke Kida
 
プロが解説!Hinemosによる運用管理テクニック!
プロが解説!Hinemosによる運用管理テクニック!プロが解説!Hinemosによる運用管理テクニック!
プロが解説!Hinemosによる運用管理テクニック!hinemos_atomitech
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門Yoshiyuki Asaba
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorMasahiko Sawada
 
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門Kosuke Kida
 
[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方Kosuke Kida
 
ランナーから見た糖質
ランナーから見た糖質ランナーから見た糖質
ランナーから見た糖質Kosuke Kida
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo NagataInsight Technology, Inc.
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめKosuke Kida
 

Destaque (20)

モバイルゲームの全世界オンライン対戦を実現する方法を考察する
モバイルゲームの全世界オンライン対戦を実現する方法を考察するモバイルゲームの全世界オンライン対戦を実現する方法を考察する
モバイルゲームの全世界オンライン対戦を実現する方法を考察する
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgres
 
Jpug study-pq 20170121
Jpug study-pq 20170121Jpug study-pq 20170121
Jpug study-pq 20170121
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
Oratopostgres-hiroshima
Oratopostgres-hiroshimaOratopostgres-hiroshima
Oratopostgres-hiroshima
 
プロが解説!Hinemosによる運用管理テクニック!
プロが解説!Hinemosによる運用管理テクニック!プロが解説!Hinemosによる運用管理テクニック!
プロが解説!Hinemosによる運用管理テクニック!
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門
 
時系列の世界の時系列データ
時系列の世界の時系列データ時系列の世界の時系列データ
時系列の世界の時系列データ
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
 
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
 
Chugokudb18_2
Chugokudb18_2Chugokudb18_2
Chugokudb18_2
 
[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方
 
Chugokudb18_1
Chugokudb18_1Chugokudb18_1
Chugokudb18_1
 
ランナーから見た糖質
ランナーから見た糖質ランナーから見た糖質
ランナーから見た糖質
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
 

Semelhante a [Postgre sql9.4新機能]レプリケーション・スロットの活用

[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki TokuharaInsight Technology, Inc.
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)NTT DATA Technology & Innovation
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦Insight Technology, Inc.
 
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide HanataniInsight Technology, Inc.
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)NTT DATA OSS Professional Services
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020Daisuke Masubuchi
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようDaisuke Masubuchi
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜Ryo Sasaki
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃Teruo Adachi
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudyTakahiro Iwase
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...Insight Technology, Inc.
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えてSATOSHI TAGOMORI
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナーKazuko Itoda
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏Insight Technology, Inc.
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】NTT DATA OSS Professional Services
 

Semelhante a [Postgre sql9.4新機能]レプリケーション・スロットの活用 (20)

[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
 
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
[D24] あなたのビジネスを変えるInfiniDBケーススタディ by Toshihide Hanatani
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
 
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
PDF版 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう Db tech showcase2020
 
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみようPPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
PPT Full version: 世界中のゲーム分析をしてきたPlayFabが大進化!一緒に裏側の最新データ探索の仕組みを覗いてみよう
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
 
20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy20110519 okuyama tokyo_linuxstudy
20110519 okuyama tokyo_linuxstudy
 
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて
 
2018 07-23
2018 07-232018 07-23
2018 07-23
 
20130203 oss-db-lpi
20130203 oss-db-lpi20130203 oss-db-lpi
20130203 oss-db-lpi
 
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
 
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】SQL on Hadoop 比較検証 【2014月11日における検証レポート】
SQL on Hadoop 比較検証 【2014月11日における検証レポート】
 

[Postgre sql9.4新機能]レプリケーション・スロットの活用

  • 1. 第4回 PostgreSQLアンカンファレンス2014/09/06 9.4新機能 レプリケーション・スロットの使いどころ 株式会社アシスト 喜田 紘介 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 1
  • 2. Copyright © 2014 K.K.Ashisuto All Rights Reserved. 2 自己紹介 ● 名前 ● 喜田 紘介(きだ こうすけ) ● 所属 ● 株式会社アシスト データベース技術本部 ● 日本PostgreSQLユーザ会 広報・企画担当 ● 近況 ● 仕事では、新規構築するシステムのDBをどうすべきか?というRDBMS選択支援や、 商用DBからOSSへの移行の前段階として、オブジェクトやSQL差異のレクチャーや、 データベースの診断・評価を行う 移行アセスメント支援 を主に担当しています。 ● 2014年度より、JPUGの理事になりました。こちらもよろしくお願いします。 ● この夏やりたいことやったこと PG9.4の検証、マラソンとトライアスロンの練習、歌とギターの練習(初心者)
  • 3. Copyright © 2014 K.K.Ashisuto All Rights Reserved. 3 本日お話すること ● PostgreSQL 9.4で追加されたレプリケーション・スロットの概要 ● レプリケーション・スロットに期待されること ● レプリケーション・スロットがあるとこう変わる! ● みなさんの意見をきかせてください
  • 4. レプリケーション・スロットの概要 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 4 ● レプリケーション・スロット ● 新しいDB内のオブジェクトでもあるし、レプリケーションスロットという考え方、ともとれる ● ストリーミング・レプリケーションのマスタ側に存在し、スレーブの状態を管理している slot1 slot2 slot3 wal_sender wal_reciever
  • 5. レプリケーション・スロットの概要 止まってるな~ Copyright © 2014 K.K.Ashisuto All Rights Reserved. 5 ● スレーブの状態 とは? ● スレーブが生きているかどうか、転送がどこまで完了しているか ● スロットの先には、何らかのアプリケーション(それが、スレーブだったり、logical walを見る人) slot1 slot2 slot3 wal_sender wal_reciever 遅れてるな~ よし!正常!
  • 6. レプリケーション・スロットの概要 postgres=# SELECT * FROM pg_create_physical_replication_slot('slot1'); slot_name | xlog_position -------------+--------------- slot1 | Copyright © 2014 K.K.Ashisuto All Rights Reserved. 6 ● もう少し現実的な画面 ● レプリケーション・スロットの作成 ● スロットの中身をみると ■スロットからデータを受け取るもの(=スレーブ)がいないとき postgres=# SELECT * FROM pg_replication_slots; slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn -------------+--------+-----------+--------+----------+--------+------+--------------+------------- slot1 | | physical | | | f | | | ■スロットからデータを受け取るもの(=スレーブ)がいるとき postgres=# select * from pg_replication_slots ; slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn -------------+--------+-----------+--------+----------+--------+------+--------------+------------- slot1 | | physical | | | t ★ | | | 0/27E5D6E0 クラスタ内で スロットが スロットの先(=スレーブ) 転送済みの ロジカル・スロットの場合に入る項目 一意の 使われてるか で実行されてる最古の lsnアドレス 「どのプラグインで、どのDBを見てるよ」 スロット名 否か トランザクションID (walの位置)
  • 7. レプリケーション・スロットに期待される効果 ● logical_decodingを実現するための要素(9.4新機能) ● logical decodingは、walを読み取れる状態で吐く機能で、今後様々な拡張の基盤に   logical decodingは外部ツールに データを渡せる機能なので 「誰」が「いつ」「何回」取りに来るかは 外部ツールの作り次第 update 給与 set 月給*1.1 where 喜田 ; update 給与 set 月給*1.1 where 喜田 ; update 給与 set 月給*1.1 where 喜田 ; もっと ちょーだい え、さっき ログスイッチ しちゃった 泣 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 7 なるとされている。 ● レプリケーション・スロットがあれば、postgres側で↓を発生させないようにできる。 ● こんなlogical decodingはイヤだ update 給与 set 月給*1.1 where 喜田 ; ブラックボックスな ツール ぐへへ もっと 俺も! 僕もほしい いや 俺でしょ はい どうぞ しゃーないな みんなにデータあげちゃう欲しいデータが消えちゃってる何度でもデータあげちゃう
  • 8. レプリケーション・スロットに期待される効果 ● これまでのストリーミング・レプリケーションの課題を解決 ● レプリケーション競合の発生 ● wal_keep_segments もしくは アーカイブ転送を考慮 ②ロング トランザクション walファイル wal_keep_seg分 まで持っておける wal_sender アーカイブファイル 最悪の場合に備え、 スタンバイに転送または領域を共有 ファイルコピー など Copyright © 2014 K.K.Ashisuto All Rights Reserved. 8 ①更新が伝搬 ③vacuum ④vacuumも  伝搬②’失敗!!! レプリケーション競合walの消失に備えて対策を検討
  • 9. ここまでは、マニュアルレベル ●従来の方法でもレプリケーションは 組むことができる。 ●では、スロットの活用シーンは? ● logicalは、まだ実用段階ではないので ここではストリーミングレプリを考えます。 ● 競合の解消?他には? ● 皆さんの案もお聞きしたいです。 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 9
  • 10. 活用シーン1 複数台のスレーブがある場合(追記) ● wal_keep_segmentsの設定が困難なことが、きっとある ● もしくは、ホットスタンバイ用に全スレーブにアーカイブを転送する? Copyright © 2014 K.K.Ashisuto All Rights Reserved. 10 wal_sender wal_reciever 貧弱なマシンだから バッチとかの同期に 時間がかかる この2台は同期が 追いついてるのに walファイル wal_keep_seg分 まで持っておける     の都合によりwal_keep_segを多めに 設定しておかなければならない。最適値の検討が けっこう大変。 アンカンファレンス参加者や、自身の経験でも、wal_keep_segmentsの 不適切な設定により必要なwalが消失し、レプリケーションが崩れていた という問題が確認でき、このような点ではスロットが活きると考えられる。 2014/09/09追記
  • 11. 活用シーン2 遅延レプリケーションの場合(追記) ● 9.4の新機能で、レプリケーションの同期タイミングを遅らせることが可能 ● 障害時、スレーブに障害が伝搬する前に対処が可能となるため、 バックアップとしての利用などが期待される Copyright © 2014 K.K.Ashisuto All Rights Reserved. 11 wal_sender wal_reciever 遅延なしでレプリケーション 30分間の遅延を設定 walファイル wal_keep_seg分 まで持っておける     更新量にばらつきがある場合、walファイル の数ではなく、30分という遅延時間内で必要とする walが消失しないような管理機構が必要 =>スロットで実現 遅延レプリケーションは、スレーブ側でWAL適用する際の設定であり、 マスターからスレーブに対するWAL転送までは遅延無く行われる。 つまり、本スライドに記載していたようなマスタ側でwal消失を防ぐことの 効果は薄く、遅延レプリケーション設定と、レプリケーション・スロットの 直接的な関連は少ないと考えられる。 2014/09/09追記 間違いなので注意!
  • 12. 1対1のレプリケーションの場合、どうする? ● 従来の方法でOK (喜田の案) ● 最終的にアーカイブファイルでやり取りしていたほうが、安心感があるような。 ● レプリケーション・スロットを使用した際のWALディレクトリの肥大化が問題になりそう。 ● ただし、スロットの方が設定はシンプルのように見える。 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 12
  • 13. wal_sender / wal_recieverの動作は変わる?(追記) ● どこまで送ったか、スロットに入ってはいるが。。。 ● これまでのレプリケーションでは、recieverが次のwalを要求 ● →senderが必要なwalを送る ● スロットは、必要なwalをpg_xlogに残しておくだけの設定であり、 sender/recieverの動きは変わらない? 正確な情報が確認でき次第、追記予定。 発表は以上です。ありがとうございました。 2014/09/09追記 Copyright © 2014 K.K.Ashisuto All Rights Reserved. 13