SlideShare a Scribd company logo
1 of 28
Download to read offline
PostgreSQL
レプリケーション
【T1】 SQLの基本
【T2】 PostgreSQLチューニング
【T3】 データベース監視の基本
【T4】 PostgreSQLレプリケーション解説
PostgreSQL Conference Japan 2017 2017.11.3
株式会社アシスト データベース技術本部
日本PostgreSQLユーザ会
喜田 紘介
【T4】PostgreSQLレプリケーション
Japan PostgreSQL User's Group 2
 セッションテーマ
安定稼働を使命とするデータベースでは、障害が発生した場合もすぐに再稼働で
きるよう様々な工夫を凝らして設計されます。このような高可用システムを実現
する機能としてPostgreSQLではレプリケーションが用いられます。
 内容、対象者
PostgreSQLのレプリケーション機能の解説と、実機でレプリケーションを構築
するデモをご覧いただきます。インフラ担当や高可用システムの設計を担当する
方を対象に、PostgreSQLで何ができるかを解説します。
株式会社アシスト
日本PostgreSQLユーザ会 理事 喜田 紘介氏
入社時よりOracle Databaseの構築、運用、サポート等を経験。
2011年よりPostgreSQLチームに所属し「EDB Postgres」担当と
してユーザー自身で活用できるデータベースを目指して技術支援
や情報発信に務めています。
日本PostgreSQLユーザ会にも所属し、PostgreSQLやデータベー
ス技術の普及に向けて積極的な活動を心がけています。
アジェンダ
データベースの安定稼働について考える
データベースをとりまくいろいろな「可用性」
複製(レプリケーション)でDBの障害に備えよう
PostgreSQLのレプリケーション機能解説
レプリケーション構築実践(デモ)
Japan PostgreSQL User's Group 3
DBに期待する「安定稼働」
アプリケーションの要求に対して結果を返す
Japan PostgreSQL User's Group 4
データベースに期待する機能とは?
Click!
DBへの問合せ
DBに期待する「安定稼働」
アプリケーションの要求に対して結果を返す
Japan PostgreSQL User's Group 5
データベースに期待する機能とは?
Click!
DBへの問合せ
応答が
ありません
サービスは年間●●時間しか停止できないという要件があり、
データベースにアクセスできない状態(=DBの障害)は
その時間にさらに余裕を持たせ、対策されなければいけません。
DBに期待する「安定稼働」
アプリケーションの要求に対して結果を返す
Japan PostgreSQL User's Group 6
データベースに期待する機能とは?
Click!
DBへの問合せ
応答が
ありません
サービスは年間●●時間しか停止できないという要件があり、
データベースにアクセスできない状態(=DBの障害)は
その時間にさらに余裕を持たせ、対策されなければいけません。
可用性とは
・年間で1日停止して良いシステム
364日/365日=99.7%の稼働率
・1時間しか停止を許さないシステム
8759時間/8760時間=99.998%
(99.999%なら約50分)
DBに期待する「安定稼働」
複数のアプリケーションが共通のデータを利用
Japan PostgreSQL User's Group 7
もうひとつの可用性
DBへの問合せ
DBに期待する「安定稼働」
複数のアプリケーションが共通のデータを利用
Japan PostgreSQL User's Group 8
もうひとつの可用性
DBへの問合せ
一部分の障害に対して、
他のサービスは継続して
動き続けるように保つ。
複製(レプリケーション)
システムの構成要素は必ず故障しうるものとして対策
機器の二重化など
ではデータは?
Japan PostgreSQL User's Group 9
データベースの障害に備えるには
Click!
DBへの問合せ
?
複製(レプリケーション)
システムの構成要素は必ず故障しうるものとして対策
機器の二重化など
ではデータは?
Japan PostgreSQL User's Group 10
データベースの障害に備えるには
Click!
DBへの問合せ
? 複数のユーザーが
リアルタイムに更新を
かけ続けるDBは、
完全に同じ状態の複製を
用意することが難しい
複製(レプリケーション)
システムの構成要素は必ず故障しうるものとして対策
機器の二重化など
ではデータは?
Japan PostgreSQL User's Group 11
データベースの障害に備えるには
Click!
DBへの問合せ
全ての更新を担当する
プライマリ(マスター)
ノード
プライマリから更新を
受け取るスタンバイ
(スレーブ)ノード
PostgreSQLでは
「ストリーミングレプリケーション」
で実現
複製(レプリケーション)
平常時の参照負荷分散
数秒遅れでも構わないRead Onlyな処理
アプリ側でスタンバイノードに問合せ
障害時に新マスターに昇格
データベースに対し
「昇格」を指示
アプリの向き先を変更
仮想IP
DNSの書き換え
アプリの接続先修正
Japan PostgreSQL User's Group 12
「よくある」レプリケーションで実現できる機能
参照・更新が可能
参照のみ可能
数秒のタイムラグを許容
アジェンダ
データベースの安定稼働について考える
PostgreSQLのレプリケーション機能解説
バックアップと変更履歴(WAL)について
変更履歴を伝播するレプリケーション
レプリケーションスロット
レプリケーション構築実践(デモ)
Japan PostgreSQL User's Group 13
前提知識
リアルタイムなバックアップは難しい
常に更新されるDBは「ある時点」のバックアップが前提
バックアップ以降の更新を「変更履歴」として保持
変更履歴を適用するリカバリの考え方
Japan PostgreSQL User's Group 14
バックアップと変更履歴(WAL)の役割を知っておく
時間
表
表
表
UPDATE
表 表
バックアップ領域
・・・
ある時点のバックアップ バックアップ以降の連続したWALファイル
表
レプリケーションの仕組み
ある時点のバックアップに変更履歴をリアルタイムに適用
基本的な考え方はリカバリと同じ
WAL送受信用のプロセスが起動(≠ファイル単位のコピー)
Japan PostgreSQL User's Group 15
変更履歴を順次適用するレプリケーション
startup
WALを送信
WALを要求
recovery.conf
ーーーーーーーー
※起動時に存在すると
startupプロセスによる
リカバリモードで起動
・standby_mode = on
・primary_conninfo
= マスターへの接続情報
参照・更新 参照のみ
WAL適用
(リカバリ)
wal sender wal reciever
レプリケーションの仕組み
スタンバイが停止した場合の問題
受信者がいない変更履歴をいつまで貯める?
無限に持つ :ディスク容量を消費
一定量で削除:復旧後に変更履歴が繋がらない
レプリケーションスロットで、適用済みの(不要な)
WALを判断し、自動で削除することができる
Japan PostgreSQL User's Group 16
レプリケーションスロットを使ったスタンバイの状態管理
startup
WALを送信
WALを要求
参照・更新 参照のみ
wal sender wal reciever
slot
xxx番まで
適用完了したよ
アジェンダ
データベースの安定稼働について考える
PostgreSQLのレプリケーション機能解説
レプリケーション構築実践(デモ)
レプリケーションの作成自体はとても簡単
実機でレプリケーションの動作を見てみましょう
Japan PostgreSQL User's Group 17
デモ環境
PostgreSQLのインストール(両ノードで実施)
データベース作成(プライマリのみ)
Japan PostgreSQL User's Group 18
2台のCentOSにyumでPostgreSQL 10.0を導入済み
$ sudo yum install wget
$ wget https://download.postgresql.org/pub/repos/yum/testing/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
$ sudo rpm -ivh pgdg-centos10-10-2.noarch.rpm
$ sudo yum install postgresql10 postgresql10-server postgresql10-contrib postgresql10-devel
$ sudo vi /usr/lib/systemd/system/postgresql-10.service
$ su - postgres
$ vi .bash_profile
$ sudo systemctl start postgresql-10.service
$ sudo systemctl status postgresql-10.service
$ su – postgres
$ createuser -d -r -l -P demo
$ createdb -O demo demodb
# Location of database directory
# Environment=PGDATA=/var/lib/pgsql/10/data/
Environment=PGDATA=/home/postgres/data/
### edit for PostgreSQL10
export PGDATA=/home/postgres/data
export PATH=/usr/pgsql-10/bin:.:$PATH
サンプルテーブルも作成
$ psql -U demo demodb
demodb=> create table sample (a int,b text);
demodb=> insert into sample values (1,'test1');
プライマリ側の設定
ユーザー作成
$PGDATA/pg_hba.confの編集
Japan PostgreSQL User's Group 19
①レプリケーション用のユーザーを作成
$ createuser --replication rep_user
$ vi $PGDATA/pg_hba.conf
TYPE DB USER CIDR-ADDRESS METHOD
host replication rep_user 192.168.10.0/24 trust
host all rep_user 0.0.0.0/0 reject
プライマリ側の設定
$PGDATA/postgresql.confの編集
Japan PostgreSQL User's Group 20
②レプリケーション用のパラメータ設定
$ vi $PGDATA/postgresql.conf
パラメータ 設定 説明
listen_addresses * (通常はDB作成後にほぼ必須で実施)
wal_level replica レプリケーションに必要なWAL情報を生成
max_wal_senders 10 起動可能なwal senderプロセスの上限
max_replication_slots 10 作成可能なレプリケーションスロットの上限
synchronous_standby_names 任意 同期スタンバイの名前を指定
synchronous_commit on 同期レベルを指定
hot_standby on 自身がスタンバイの時に参照可能とする
hot_standby_feedback on 自身の情報をプライマリに送信
wal sender
slot ※ここまで進んだら再起動しておく
$ sudo systemctl start postgresql-10.service
プライマリ側の設定
$PGDATA/recovery.conf.node1の作成
Japan PostgreSQL User's Group 21
③自身がスタンバイになる際のrecovery.confを作成
$ vi $PGDATA/recovery.conf.node1
パラメータ 設定 説明
standby_mode on 起動時にスタンバイモードになる
primary_conninfo プライマリへの接続情報
primary_slot_name slot2 プライマリのレプリケーションスロット名
recovery_target_timeline latest 最新のマスターに追従する設定
wal reciever
host port user application_name
node2 5432 rep_user node1
wal sender
slot2
recovery.conf
自身がスタンバイになる際の
相手への接続情報
スタンバイの作成
pg_basebackupで$PGDATA配下を一括取得
Japan PostgreSQL User's Group 22
①プライマリのバックアップを取得
$ pg_basebackup -U rep_user -h <node1_ip> -p 5432 -D /home/postgres/data
$ ls -ltr $PGDATA
drwx------. 3 postgres postgres 60 Oct 28 15:44 pg_wal
drwx------. 6 postgres postgres 54 Oct 28 15:44 base
drwx------. 2 postgres postgres 4096 Oct 28 15:44 global
drwx------. 2 postgres postgres 32 Oct 28 15:44 log
-rw-------. 1 postgres postgres 22844 Oct 28 15:44 postgresql.conf
-rw-------. 1 postgres postgres 88 Oct 28 15:44 postgresql.auto.conf
-rw-rw-r--. 1 postgres postgres 169 Oct 28 15:44 recovery.conf.node1
-rw-------. 1 postgres postgres 4760 Oct 28 15:44 pg_hba.conf
pg_hba.conf
postgresql.conf
recovery.conf.node1
pg_basebackup pg_hba.conf
postgresql.conf
recovery.conf.node1 ※slot以外をコピー
スタンバイの作成
$PGDATA/recovery.confを作成
Japan PostgreSQL User's Group 23
②recovery.confを作成(コピーしたものを編集)
$ cp $PGDATA/recovery.conf.node1 $PGDATA/recovery.conf.node2
$ vi $PGDATA/recovery.conf.node2
$ cp $PGDATA/recovery.conf.node2 $PGDATA/recovery.conf
wal reciever
pg_hba.conf
postgresql.conf
recovery.conf.node1
パラメータ 設定 説明
standby_mode on 起動時にスタンバイモードになる
primary_conninfo プライマリへの接続情報
primary_slot_name slot1 プライマリのレプリケーションスロット名
recovery_target_timeline latest 最新のマスターに追従する設定
host port user application_name
node1 5432 rep_user node2
スタンバイ側の設定
プライマリでレプリケーションスロットを作成
systemctlでスタンバイを起動
Japan PostgreSQL User's Group 24
③スタンバイを起動
$ sudo systemctl start postgresql-10.service
$ su - postgres
$ ps x
11089 ? Ss 0:00 /usr/pgsql-10/bin/postmaster -D /home/postgres/data/
11093 ? Ss 0:00 postgres: startup process recovering 000000010000000000000005
11097 ? Ss 0:00 postgres: wal receiver process streaming 0/5000140
:
wal reciever
recovery.conf
wal sender
slot1
WALを送信
WALを要求
$ su - postgres
$ psql -h <node1_ip> -U postgres postgres
postgres=# select pg_create_physical_replication_slot('slot1');
デモ
プライマリを正常停止
スタンバイを新プライマリに昇格
旧プライマリを新スタンバイとしてクラスタに参加
Japan PostgreSQL User's Group 25
スイッチオーバー
$ su - postgres
$ pg_ctl promote
$ psql -U postgres postgres
postgres=# select pg_create_physical_replication_slot('slot2');
$ sudo systemctl stop postgresql-10.service
$ su - postgres
$ cp $PGDATA/recovery.conf.node1 $PGDATA/recovery.conf
$ exit
$ sudo systemctl start postgresql-10.service
$ su - postgres
$ psql -U postgres postgres
postgres=# select pg_drop_replication_slot('slot1'); -- 旧スロットを削除
デモ
スタンバイを強制的に新プライマリに昇格
旧プライマリを停止、削除
「スタンバイの作成」からやり直し
新プライマリのバックアップ取得
recovery.confは上記でコピーしておいたものを再利用
新スタンバイを起動
Japan PostgreSQL User's Group 26
フェイルオーバー
$ su - postgres
$ pg_ctl promote
$ psql -U postgres postgres
postgres=# select pg_create_physical_replication_slot('slot1');
$ sudo systemctl stop postgresql-10.service
$ su - postgres
$ cp $PGDATA/recovery.conf.node2 /home/postgres/recovery.conf.node2
$ rm -rf $PGDATA
想定Q&A
Japan PostgreSQL User's Group 27
今日のデモ+どこまでやれば実用レベルになる?
Question Answer
基本の作り方はわかったけど、
この後どうしたら実用レベルになるの?
・レプリ関連パラメータを全部ちゃんと読みこむ
・pg_hba.confやpostgresql.confはちゃんと設定する
(レプリ関連では本資料で紹介したものでOK)
・フェイルオーバー/スイッチオーバーをたくさん練習する
フェイルオーバー後はバックアップから
取り直し?
その通り。バックアップの取り直しが必要
上記の「練習」でリアルな所要時間まで把握すること
pg_rewindを使えると救えるケースもある(要事前設定)
完全同期レプリケーションが出来るって
聞いたんだけど
※完全同期=スタンバイで参照した
結果がマスターと完全に同じ
完全同期、準同期(2段階)、非同期が選択可能
以下の2つのパラメーターの組合せで指定する
・synchronous_commit
・synchronous_standby_names
フェイルオーバーの自動化はできる? Pgpool-IIやpacemakerなどのツールと組み合わせて実現
主に「死活監視」「マスター昇格or障害ノード切り離し」
「仮想IPなどを制御しアプリの向き先変更」の要素が必要
ロジカルレプリケーションが出来るって
聞いたんだけど
PostgreSQL10からロジカルレプリケーションが可能
WALベースであることは同じだが、設定方法や用途は異なる
テーブル単位で作成する
【T4】PostgreSQLレプリケーション
Japan PostgreSQL User's Group 28
 セッションテーマ
安定稼働を使命とするデータベースでは、障害が発生した場合もすぐに再稼働で
きるよう様々な工夫を凝らして設計されます。このような高可用システムを実現
する機能としてPostgreSQLではレプリケーションが用いられます。
 まとめ
システムを構成する機器は故障しうることを前提に対策をするべき。
常に更新されているデータベース層を守るには、リアルタイムに
変更履歴を伝播する「レプリケーション」が簡単・確実
startup
WALを送信
WALを要求
参照・更新 参照のみ
WAL適用
(リカバリ)
wal sender wal reciever

More Related Content

What's hot

Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgresKosuke Kida
 
[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方Kosuke Kida
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料Chika SATO
 
JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)Chika SATO
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめKosuke Kida
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpugYasuhiro Matsuo
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料Chika SATO
 
外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張Shigeru Hanada
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-Yoshinori Nakanishi
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
Osc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatypeOsc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatypeToshi Harada
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめOhyama Masanori
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方Soudai Sone
 
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014Shigeru Hanada
 
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQLPostgreSQLとPythonとSQL
PostgreSQLとPythonとSQLSatoshi Yamada
 

What's hot (20)

Oss x user_meeting_6_postgres
Oss x user_meeting_6_postgresOss x user_meeting_6_postgres
Oss x user_meeting_6_postgres
 
[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方[9.5新機能]追加されたgroupbyの使い方
[9.5新機能]追加されたgroupbyの使い方
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料
 
JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpugAmazon RDS for PostgreSQL ( JPUG 2014夏セミナー)  #jpug
Amazon RDS for PostgreSQL ( JPUG 2014夏セミナー) #jpug
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料
 
外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
Osc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatypeOsc2015 hokkaido postgresql-semi-stuructured-datatype
Osc2015 hokkaido postgresql-semi-stuructured-datatype
 
JSONBはPostgreSQL9.5でいかに改善されたのか
JSONBはPostgreSQL9.5でいかに改善されたのかJSONBはPostgreSQL9.5でいかに改善されたのか
JSONBはPostgreSQL9.5でいかに改善されたのか
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
Webで役立つRDBの使い方
Webで役立つRDBの使い方Webで役立つRDBの使い方
Webで役立つRDBの使い方
 
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
 
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQLPostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 

Viewers also liked

まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングKosuke Kida
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 
Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析Kazutaka Tomita
 
モバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイントモバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイントNaoya Kaneko
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャKohei KaiGai
 
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustSystems Corporation
 
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行PHP Version Up と AWS への移行
PHP Version Up と AWS への移行gree_tech
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話Shohei Okada
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用JustSystems Corporation
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則Hiroshi Tokumaru
 
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)akira6592
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略yoku0825
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化真乙 九龍
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版Kouhei Sutou
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムKouhei Sutou
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜JustSystems Corporation
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017Yusuke Suzuki
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 

Viewers also liked (20)

まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 
Java SE 9 のススメ
Java SE 9 のススメJava SE 9 のススメ
Java SE 9 のススメ
 
Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析Apache sparkとapache cassandraで行うテキスト解析
Apache sparkとapache cassandraで行うテキスト解析
 
モバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイントモバイルするハニーポット無線LANアクセスポイント
モバイルするハニーポット無線LANアクセスポイント
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
 
JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例JustTechTalk#10windowsアプリでのテスト自動化事例
JustTechTalk#10windowsアプリでのテスト自動化事例
 
PHP Version Up と AWS への移行
PHP Version Up と AWS への移行PHP Version Up と AWS への移行
PHP Version Up と AWS への移行
 
プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話プロダクトに 1 から Vue.js を導入した話
プロダクトに 1 から Vue.js を導入した話
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用AWS運用における最適パターンの徹底活用
AWS運用における最適パターンの徹底活用
 
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
著名PHPアプリの脆弱性に学ぶセキュアコーディングの原則
 
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)ネットワーク自動化ツール紹介(Ansible・NAPALM編)
ネットワーク自動化ツール紹介(Ansible・NAPALM編)
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版PGroonga 2 - PostgreSQLでの全文検索の決定版
PGroonga 2 - PostgreSQLでの全文検索の決定版
 
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システムPostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
PostgreSQLとPGroongaで作るPHPマニュアル高速全文検索システム
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 

Similar to PostgreSQLレプリケーション(pgcon17j_t4)

PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo NagataInsight Technology, Inc.
 
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg1220190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12Toshi Harada
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...NTT DATA Technology & Innovation
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】Kohei KaiGai
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Kosuke Kida
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...Insight Technology, Inc.
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]Kohei KaiGai
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JPKohei KaiGai
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Toshi Harada
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstromKohei KaiGai
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化Takatoshi Matsuo
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoShigeru Hanada
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubToshi Harada
 

Similar to PostgreSQLレプリケーション(pgcon17j_t4) (20)

PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
20190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg1220190518 27th-chugoku db-lt-pg12
20190518 27th-chugoku db-lt-pg12
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
 
Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1Jjugccc2017spring-postgres-ccc_m1
Jjugccc2017spring-postgres-ccc_m1
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
 
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化HAクラスタで PostgreSQLレプリケーション構成の 高可用化
HAクラスタで PostgreSQLレプリケーション構成の 高可用化
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
 

PostgreSQLレプリケーション(pgcon17j_t4)