SlideShare a Scribd company logo
1 of 43
© 2022 NTT DATA Corporation
【B1】 速習!論理レプリケーション ~基礎から最新動向まで~
2022年11月11日 PostgreSQL Conference Japan 2022
株式会社NTTデータ 技術開発本部先進コンピューティング技術センタ
鳥越 淳 @atorik_shi
© 2022 NTT DATA Corporation 2
自己紹介
• 鳥越 淳(とりこし あつし) @atorik_shi
• 2008年頃からオープンソースソフトウェア、近年はPostgreSQLを扱っています
• 『PostgreSQL徹底入門 第4版』(翔泳社)8~13章執筆
• 『LPI-JAPAN OSS-DB道場 PostgreSQLの新機能 バージョン10以降』執筆/監修
https://oss-db.jp/dojo
• Kubernetesはじめました
• 『@IT Kubernetesでもデータベースを本格運用
―― 「PostgreSQL Operator PGO」を使い倒す』 執筆
https://atmarkit.itmedia.co.jp/ait/articles/2208/10/news007.html
© 2022 NTT DATA Corporation 3
目次
v.10で導入された論理レプリケーションの基本、仕組み、v.15までの進化、
今後についてご紹介します
• 論理レプリケーションの概要
• 論理レプリケーションの仕組み
• 論理レプリケーションのこれから
新機能は
随時ご紹介
© 2022 NTT DATA Corporation 4
© 2022 NTT DATA Corporation 4
論理レプリケーションの概要
© 2022 NTT DATA Corporation 5
論理レプリケーションの前に.. 物理レプリケーションの復習
• 概要: 全DBのレプリケーション
• 仕組み: WAL転送・リカバリ
• DBクラスタの一部レプリケーションは不可 例.×特定のテーブルのみレプリケーション
• PostgreSQLのメジャーバージョンは同じである必要
• 下流側は参照のみ可能
• ユースケース: HA, 参照分散
上流
DB1
DB2
下流
上流のWAL
を転送
レプリケーション対象
DB2
〇参照, ×更新
DB1
© 2022 NTT DATA Corporation 6
論理レプリケーション
• 概要: DB単位以下の粒度でレプリケーションの対象を指定できるレプリケーション
• 仕組み: WALをデコードして送信
• 対象や操作を絞ったレプリケーションが可能 例. テーブルAのINSERTだけレプリケーション
• 異なるメジャーバージョン間でのレプリケーションも可能
• 下流側でも更新が可能
上流
DB1
DB2
table2
下流
DB2
table1
2.下流側へ送信
table1 table3
table2
1.WALを
デコード
レプリケーション対象
〇参照, 〇更新
© 2022 NTT DATA Corporation 7
論理レプリケーションでできること・ユースケース
• 様々な構成がとれるが、後述のコンフリクトなどに注意が必要
• DBの一部のみレプリケーション
• 複数のDBのデータを単一DBに集約
A B A B
PG15 PG14
• DBの一部の共有
• 異なるメジャーバージョン・プラットフォーム間での
レプリケーション
© 2022 NTT DATA Corporation 8
論理レプリケーションの例 ~上流の設定
t1, t2テーブルを作成、t1のみレプリケーションする。
• 設定
• 上流側のwal_levelをlogicalに変更
• テーブル作成
(pub)=# CREATE TABLE t1 (i INT PRIMARY KEY, t TEXT);
(pub)=# CREATE TABLE t2 (i INT PRIMARY KEY, t TEXT);
• 初期データ投入
(pub)=# INSERT INTO t1 VALUES (0, 'initial’);
• PUBLICATIONの作成
(pub)=# CREATE PUBLICATION pub1 FOR TABLE t1;
t1 t2 t1
UPDATE、DELETEをレプリケーションするには、
更新対象行を特定するためにREPLICA
IDENTITYの定義が必要。
デフォルトでは主キーがREPLICA IDENTITY
© 2022 NTT DATA Corporation 9
論理レプリケーションの例 ~上流の設定確認
• PUBLICATIONの確認
(pub)=# ¥dRp+
Publication pub1
-[ RECORD 1 ]--------
Owner | atorik
All tables | f
Inserts | t
Updates | t
Deletes | t
Truncates | t
Via root | f
Tables:
"public.t1"
INSERT、UPDATE、DELETE、
TRUNCATEのうちどれを
レプリケーションするか指定可能。
デフォルトは全てが対象
PUBLICATIONの対象テーブルはt1
© 2022 NTT DATA Corporation 10
論理レプリケーションの例 ~上流の確認から見る機能追加
• PUBLICATIONの確認
(pub)=# ¥dRp+
Publication pub1
-[ RECORD 1 ]--------
Owner | atorik
All tables | f
Inserts | t
Updates | t
Deletes | t
Truncates | t
Via root | f
Tables:
"public.t1"
v.11
v.13
TRUNCATEをレプリケーション対象に指定可能
パーティションテーブルも指定可能(後述)
© 2022 NTT DATA Corporation 11
論理レプリケーションの例 ~下流の設定
• テーブル作成
(sub)=# CREATE TABLE t1 (i INT PRIMARY KEY, t TEXT);
(sub)=# CREATE TABLE t2 (i INT PRIMARY KEY, t TEXT);
• SUBSCRIPTIONの作成
(sub)=# CREATE SUBSCRIPTION sub1
-# CONNECTION 'host=192.168.1.10 dbname=postgres' PUBLICATION pub1;
© 2022 NTT DATA Corporation 12
論理レプリケーションの例 ~下流の確認
• SUBSCRIPTIONの確認
(sub)=# ¥dRs+
List of subscriptions
-[ RECORD 1 ]------+--------------------------------
Name | sub1
Owner | atorik
Enabled | t
Publication | {pub1}
Binary | f
Streaming | f
Two-phase commit | d
Disable on error | f
Synchronous commit | off
Conninfo | host=192.168.1.10 dbname=postgres
Skip LSN | 0/0
PUBLICATION”pub1”を利用
SUBSCRIPTIONが有効化
© 2022 NTT DATA Corporation 13
論理レプリケーションの例 ~下流の確認から見る機能追加
• SUBSCRIPTIONの確認
(sub)=# ¥dRs+
List of subscriptions
-[ RECORD 1 ]------+--------------------------------------
Name | sub1
Owner | atorik
Enabled | t
Publication | {pub1}
Binary | f
Streaming | f
Two-phase commit | d
Disable on error | f
Synchronous commit | off
Conninfo | host=192.168.1.10 dbname=atorik
Skip LSN | 0/0
v.15
v.15
v.14
v.14
バイナリ転送モード。
データ型にバイナリ型への変換関数が定義され
ている場合、それを利用してレプリケーション
ストリーミング転送。後述
2PCの有効化
エラー発生時にレプリケーションを無効化。後述
© 2022 NTT DATA Corporation 14
論理レプリケーションの例 ~レプリケーションの確認
• 上流側に最初からあったデータは初期同期される
(sub)=# SELECT * FROM t1;
i | t
---+---------
0 | initial
(1 row)
• SUBSCRIPTIONのオプションcopy_dataをfalseにすることで、同期させないことも可能
• PUBLICATIONの対象テーブルだけレプリケーションされる
(pub)=# INSERT INTO t1 VALUES (1, ‘aaa’);
(pub)=# INSERT INTO t2 VALUES (1, 'aaa’);
(sub)=# SELECT * FROM t1;
i | t
---+---------
0 | initial
1 | aaa
(2 rows)
(sub)=# SELECT * FROM t2;
i | t
---+---
(0 rows)
© 2022 NTT DATA Corporation 15
柔軟なレプリケーション対象の指定
• 行フィルタ
• PUBLICATION定義にWHERE句を指定し、レプリケーション対象行を選択可能
(pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 WHERE (i > 3);
• UPDATE、DELETEをレプリケーションする場合、WHERE句はREPLICA IDENTITYのみ指定可
(pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 WHERE (i > 3 AND t = 'aaa');
(pub)=# UPDATE t1 SET i = 6 WHERE i = 5;
ERROR: cannot update table "t1"
DETAIL: Column used in the publication WHERE expression is not
part of the replica identity.
• WHERE句内では単純な式のみ利用可。ユーザ定義関数などは利用不可
v.15
© 2022 NTT DATA Corporation 16
柔軟なレプリケーション対象の指定
• カラムリスト
• PUBLICATION定義にレプリケーション対象列を指定可能
(pub)=# CREATE PUBLICATION pub1 FOR TABLE t1(i);
• UPDATE、DELETEをレプリケーションする場合、対象のカラムはREPLICA IDENTITYを含める必要
(pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 (t);
(pub)=# UPDATE t1 SET i = 6 WHERE i = 5;
ERROR: cannot update table "t1"
DETAIL: Column list used by the publication does not cover the replica identity.
v.15
© 2022 NTT DATA Corporation 17
柔軟なレプリケーション対象の指定
• パーティションテーブル
• PUBLICATION定義にパーティションテーブルを指定可能
• v.12まではパーティションの親テーブルをPUBLICATION対象に指定するとERRORになっていた
(pub_v10)=# CREATE PUBLICATION "pub1" FOR TABLE “parent";
ERROR: “parent" is a partitioned table
DETAIL: Adding partitioned tables to publications is not supported.
v.13
© 2022 NTT DATA Corporation 18
柔軟なレプリケーション対象の指定
• パーティションテーブル(続き)
• デフォルトでは、子テーブル側の情報を使って変更をWALに記録するため、上流と同様の定義の
子テーブルが下流側にも必要。存在しない場合SUBSCRIPTION作成に失敗
• 例えば、下流側のparentテーブルが通常のテーブルの場合、SUBSCRIPTIONの作成に失敗
(sub)=# CREATE SUBSCRIPTION sub1
-# CONNECTION 'host=192.168.1.10 dbname=postgres' PUBLICATION pub1;
ERROR: relation “public.child1” does not exist.
子 子
子
親
子 子
子
親
子テーブルの情報を
WALに記録するので..
同様の定義の
子テーブルが必要
© 2022 NTT DATA Corporation 19
柔軟なレプリケーション対象の指定
• パーティションテーブル(続き)
• publish_via_partition_rootオプションをonにすることで、親テーブル側の情報を使うよう変更可能。
この場合、下流側に親テーブルと同様の定義のテーブルがあればレプリケーションが可能
(pub)=# CREATE PUBLICATION "pub1" FOR TABLE “parent“
-# WITH (publish_via_partition_root = true);
子 子
子
親
通常のテーブル
親テーブルの情報を
WALに記録するので..
同様の定義の子
テーブルがなくても
レプリケーション可能
子
子
親
© 2022 NTT DATA Corporation 20
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
1. (2, ‘bbb’)を
挿入
client
client
© 2022 NTT DATA Corporation 21
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
2 ‘xxx’
client
2. (2, ‘xxx’)
を挿入
client
© 2022 NTT DATA Corporation 22
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
2 ‘xxx’
client
client
3. (2, ‘xxx’)を
レプリケーション
© 2022 NTT DATA Corporation 23
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
2 ‘xxx’
client
client
4. 一意性制約違反によりレプリ
ケーション停止。
デフォルトではリトライを繰り返し、
エラー出力が継続
© 2022 NTT DATA Corporation 24
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
2 ‘xxx’
client
client
=# SELECT * FROM
pg_stat_subscription_stats;
-[ RECORD 1 ]-----+-------
subid | 16651
subname | sub1
apply_error_count | 12
sync_error_count | 0
stats_reset | [NULL]
pg_stat_subscription_statsビュー
からエラーの発生回数が確認可能
v.15
初期同期時のエラー回数
初期同期後のエラー回数
© 2022 NTT DATA Corporation 25
コンフリクト
• 論理レプリケーションでは下流側も更新可能
• 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗
• 例) 一意性制約違反
上流 下流
i(主キー) t
1 ‘aaa’
2 ‘bbb’
i(主キー) t
1 ‘aaa’
2 ‘xxx’
client
client
SUBSCRIPTIONのオプション
DISABLE_ON_ERRORを有効
にすると、自動で
SUBSCRIPTIONを無効化可能
v.15
© 2022 NTT DATA Corporation 26
コンフリクト
• コンフリクトを自動で解決する仕組みは提供されていない
• コンフリクト解決方法
• ①下流側でコンフリクトしているデータを変更する
(sub)=# DELETE FROM t1 WHERE i = 2;
• ②レプリケーションをスキップ
• ALTER SUBSCRIPTION SKIPが扱いやすい。LSNは、エラーメッセージに出力されているものを指定
すればOK
CONTEXT: processing remote data for replication origin "pg_16605"
during message type "INSERT" for replication target relation
"public.t1" in transaction 888, finished at 0/7CE99D58
(sub)=# ALTER SUBSCRIPTION sub1 SKIP ( LSN = '0/7CE99D58’);
• コンフリクトするデータだけでなく、トランザクション単位でスキップする点に注意
v.15
© 2022 NTT DATA Corporation 27
© 2022 NTT DATA Corporation 27
論理レプリケーションのしくみ
© 2022 NTT DATA Corporation 28
アーキテクチャの概要
• 上流
• walsender: WALの読み取り・デコード、データを送信
• 下流
• logical replication worker: データを受信、適用
上流
walsender
WAL
1. WAL読込
下流
logical replication worker
2. デコード
3. データ送信 4. データ受信
5. データ適用
© 2022 NTT DATA Corporation 29
初期同期
• レプリケーション開始時に上流側にあったデータをCOPYする
• 初期同期用のwalsender, logical replication workerが起動
• SUBSCRIPTION1つあたり同時に実行できるワーカー数:max_sync_workers_per_subscription
上流
walsender
WAL
下流
logical replication worker
初期データを
COPY
walsender logical replication worker sync
logical replication worker sync
walsender
max_sync_workers_per_subscription
max_logical_replication_workers
© 2022 NTT DATA Corporation 30
上流
walsender
初期同期後のレプリケーション
• 上流側でWALを読み込み、デコードした内容をトランザクション単位で変更を管理
WAL
1. WAL読込
下流
logical replication worker
begin_cb
change_cb
…
commit_cb
outputプラグイン。論理レプリケーションでは
pgoutput
ReorderBuffer
INSERT..
DELETE..
INSERT..
UPDATE..
INSERT..
© 2022 NTT DATA Corporation 31
上流
walsender
初期同期後のレプリケーション
• 上流側でWALを読み込み、デコードした内容をトランザクション単位で変更を管理
WAL
下流
logical replication worker
begin_cb
change_cb
…
commit_cb
outputプラグイン。論理レプリケーションでは
pgoutput
ReorderBuffer
INSERT..
UPDATE..
DELETE..
INSERT..
UPDATE..
INSERT..
2. デコードし、トランザ
クション単位で管理
© 2022 NTT DATA Corporation 32
上流
walsender
初期同期後のレプリケーション
• COMMITをデコードすると、下流側に送信
WAL
下流
logical replication worker
begin_cb
change_cb
…
commit_cb
3. COMMITされると、各
種コールバック関数が実
行され、下流への送信
outputプラグイン。論理レプリケーションでは
pgoutput
ReorderBuffer
INSERT..
UPDATE..
COMMIT
DELETE..
INSERT..
UPDATE..
INSERT..
© 2022 NTT DATA Corporation 33
変更量の大きいトランザクションの扱い(SUBSCRIPTIONのオプションstreaming=offの場合)
• 1レプリケーションが使用するメモリ量がlogical_decoding_work_memを超過した場合、
ファイルに変更を出力し、メモリ逼迫を予防
• 書き出すのは、最もメモリ使用量が大きいトランザクション
上流
walsender
WAL
下流
logical replication worker
outputプラグイン。論理レプリケーションでは
pgoutput
ReorderBuffer
INSERT..
UPDATE..
DELETE..
INSERT..
.spill
2. PGDATA/pg_replslot
以下に出力
begin_cb
change_cb
…
commit_cb
DELETE..
INSERT..
DELETE..
INSERT..
1.メモリ使用量が増加し、
Logical_decoding_work_mem
を超過
v.13
© 2022 NTT DATA Corporation 34
変更量の大きいトランザクションの扱い(SUBSCRIPTIONのオプションstreaming=onの場合)
• 1レプリケーションが使用するメモリ量がlogical_decoding_work_memを超過した場合、
下流側に送信
• streaming = offの場合に比べ、変更量の大きいトランザクションの下流側への反映が遅延しにくい
• ただし、ABORTされた場合は下流側へ送信されたデータは利用されない
上流
walsender
WAL
下流
logical replication worker
outputプラグイン。論理レプリケーションでは
pgoutput
ReorderBuffer
INSERT..
UPDATE..
DELETE..
INSERT..
Stream用のコールバック
関数が呼び出され、下
流側へ送信
DELETE..
INSERT..
DELETE..
INSERT..
1.メモリ使用量が増加し、
logical_decoding_work
_memを超過
stream_start_cb
stream_stop_cb
…
stream_commit_cb
v.14
© 2022 NTT DATA Corporation 35
レプリケーションスロット
• レプリケーションスロットでレプリケーションの進捗状況などを管理
• 物理レプリケーションではスロットの利用は任意だが、論理レプリケーションでは必須
• 下流側へのレプリケーションが行われないと、上流側のWALが蓄積され続け、ディスクフル・PANIC終了
となるため注意
=# SELECT * FROM pg_replication_slots;
-[ RECORD 1 ]-------+-----------
slot_name | sub1
plugin | pgoutput
slot_type | logical
datoid | 5
database | postgres
temporary | f
active | t
active_pid | 4477
xmin | [NULL]
catalog_xmin | 849
restart_lsn | 0/4816C1E8
confirmed_flush_lsn | 0/4816C220
wal_status | reserved
safe_wal_size | [NULL]
two_phase | f
上流
walsender
WAL
walsender
walsender
replication
slot
replication
slot
replication
slot
レプリケースロットでレプリケーションの
進捗状況などを管理
© 2022 NTT DATA Corporation 36
pg_stat_replication_slotビュー
• ファイルへの書き出し・ストリーム処理の回数、量などが確認可能
=# SELECT * FROM pg_stat_replication_slots;
-[ RECORD 1 ]+--------
slot_name | sub1
spill_txns | 0
spill_count | 0
spill_bytes | 0
stream_txns | 1
stream_count | 22
stream_bytes | 1444410
total_txns | 12
total_bytes | 1444410
stats_reset | [NULL]
ファイルへ書き出した
トランザクション数、
回数、
バイト数
ストリーム処理された
トランザクション数、
回数、
バイト数
v.14
© 2022 NTT DATA Corporation 37
© 2022 NTT DATA Corporation 37
論理レプリケーションのこれから
© 2022 NTT DATA Corporation 38
レプリケーション対象の追加
• v.15時点ではCREATE TABLEなどDDLはレプリケーション対象外
• 初期同期は、 pg_dump --schema-onlyなどで対応可能
• 運用中にテーブルのスキーマを変更する場合、同じDDLを上流・下流両方で実行するなど対応が必要
• DDLもレプリケーション対象にするパッチ提案あり
• v.15時点ではシーケンスオブジェクトはレプリケーション対象外
• シーケンスオブジェクトから生成されるデータはレプリケーション対象だが、シーケンス自体は
レプリケーションされない
• シーケンスオブジェクトもレプリケーション対象にするパッチ提案あり
© 2022 NTT DATA Corporation 39
物理レプリケーションとの連携
• 想定構成: 物理レプリケーションを利用してHA構成をとったDBを上流として、下流に論理レ
プリケーション
• レプリケーションスロットはレプリケーションされないため、物理レプリケーションのスタンバイが昇格
した場合、論理レプリケーションは継続できない
上流(プライマリ)
上流(スタンバイ)
物理レプリケーション 下流
論理レプリケーション
上流(旧プライマリ)
上流(新プライマリ)
下流
論理レプリケーション
スロット
×
スロット
×
© 2022 NTT DATA Corporation 40
物理レプリケーションとの連携(続き)
• 対応はコミュニティで議論中
• PostgreSQL周辺の製品では、独自に対応を実装しているものもあり
© 2022 NTT DATA Corporation 41
© 2022 NTT DATA Corporation 41
まとめ
© 2022 NTT DATA Corporation 42
まとめ
• 論理レプリケーションでは、柔軟なレプリケーションが可能
• 近年の機能開発で、レプリケーション対象・方式などについて、より柔軟になった
• コンフリクトなど設計・運用に注意が必要な内容もあり
• DDLレプリケーションなどニーズが多い機能もコミュニティで開発中
© 2022 NTT DATA Corporation 43
その他、記載されている会社名、商品名、又はサービス名は、
各社の登録商標又は商標です。

More Related Content

What's hot

PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...NTT DATA Technology & Innovation
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
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
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)NTT DATA Technology & Innovation
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceToru Makabe
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性Ohyama Masanori
 

What's hot (20)

PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
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 ハンズオン資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 

Similar to 速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)

PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...NTT DATA Technology & Innovation
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)Tomoyuki Oota
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...yoshimotot
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太Insight Technology, Inc.
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介Satoshi Hirata
 
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)オラクルエンジニア通信
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現QlikPresalesJapan
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...griddb
 
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用QlikPresalesJapan
 
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!QlikPresalesJapan
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFWTomoya Hibi
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集Couchbase Japan KK
 

Similar to 速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料) (20)

PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介PostgreSQL 9.5 新機能紹介
PostgreSQL 9.5 新機能紹介
 
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon201510大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
[db tech showcase Tokyo 2015] D35:高トランザクションを実現するスケーラブルRDBMS技術 by 日本電気株式会社 並木悠太
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介PostgreSQL13 新機能紹介
PostgreSQL13 新機能紹介
 
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)
ほんとに使える?Big Data SQL検証結果から見る、その有益性(性能編)
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
TECHTALK 20210218 Qlikデータ統合製品によるSAPデータのリアルタイムDWHの実現
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
 
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用Microsoft Azure SQLマネージド インスタンスのソースとしての利用
Microsoft Azure SQLマネージド インスタンスのソースとしての利用
 
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!
Hybrid Data Deliveryを活用してオンプレミスデータをQlik Cloudでリアルタイム活用!
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
Lagopusで試すFW
Lagopusで試すFWLagopusで試すFW
Lagopusで試すFW
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 

More from NTT DATA Technology & Innovation

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
YugabyteDBの拡張機能(YugabyteDB Meetup #2 発表資料)
 

Recently uploaded

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Recently uploaded (9)

論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)

  • 1. © 2022 NTT DATA Corporation 【B1】 速習!論理レプリケーション ~基礎から最新動向まで~ 2022年11月11日 PostgreSQL Conference Japan 2022 株式会社NTTデータ 技術開発本部先進コンピューティング技術センタ 鳥越 淳 @atorik_shi
  • 2. © 2022 NTT DATA Corporation 2 自己紹介 • 鳥越 淳(とりこし あつし) @atorik_shi • 2008年頃からオープンソースソフトウェア、近年はPostgreSQLを扱っています • 『PostgreSQL徹底入門 第4版』(翔泳社)8~13章執筆 • 『LPI-JAPAN OSS-DB道場 PostgreSQLの新機能 バージョン10以降』執筆/監修 https://oss-db.jp/dojo • Kubernetesはじめました • 『@IT Kubernetesでもデータベースを本格運用 ―― 「PostgreSQL Operator PGO」を使い倒す』 執筆 https://atmarkit.itmedia.co.jp/ait/articles/2208/10/news007.html
  • 3. © 2022 NTT DATA Corporation 3 目次 v.10で導入された論理レプリケーションの基本、仕組み、v.15までの進化、 今後についてご紹介します • 論理レプリケーションの概要 • 論理レプリケーションの仕組み • 論理レプリケーションのこれから 新機能は 随時ご紹介
  • 4. © 2022 NTT DATA Corporation 4 © 2022 NTT DATA Corporation 4 論理レプリケーションの概要
  • 5. © 2022 NTT DATA Corporation 5 論理レプリケーションの前に.. 物理レプリケーションの復習 • 概要: 全DBのレプリケーション • 仕組み: WAL転送・リカバリ • DBクラスタの一部レプリケーションは不可 例.×特定のテーブルのみレプリケーション • PostgreSQLのメジャーバージョンは同じである必要 • 下流側は参照のみ可能 • ユースケース: HA, 参照分散 上流 DB1 DB2 下流 上流のWAL を転送 レプリケーション対象 DB2 〇参照, ×更新 DB1
  • 6. © 2022 NTT DATA Corporation 6 論理レプリケーション • 概要: DB単位以下の粒度でレプリケーションの対象を指定できるレプリケーション • 仕組み: WALをデコードして送信 • 対象や操作を絞ったレプリケーションが可能 例. テーブルAのINSERTだけレプリケーション • 異なるメジャーバージョン間でのレプリケーションも可能 • 下流側でも更新が可能 上流 DB1 DB2 table2 下流 DB2 table1 2.下流側へ送信 table1 table3 table2 1.WALを デコード レプリケーション対象 〇参照, 〇更新
  • 7. © 2022 NTT DATA Corporation 7 論理レプリケーションでできること・ユースケース • 様々な構成がとれるが、後述のコンフリクトなどに注意が必要 • DBの一部のみレプリケーション • 複数のDBのデータを単一DBに集約 A B A B PG15 PG14 • DBの一部の共有 • 異なるメジャーバージョン・プラットフォーム間での レプリケーション
  • 8. © 2022 NTT DATA Corporation 8 論理レプリケーションの例 ~上流の設定 t1, t2テーブルを作成、t1のみレプリケーションする。 • 設定 • 上流側のwal_levelをlogicalに変更 • テーブル作成 (pub)=# CREATE TABLE t1 (i INT PRIMARY KEY, t TEXT); (pub)=# CREATE TABLE t2 (i INT PRIMARY KEY, t TEXT); • 初期データ投入 (pub)=# INSERT INTO t1 VALUES (0, 'initial’); • PUBLICATIONの作成 (pub)=# CREATE PUBLICATION pub1 FOR TABLE t1; t1 t2 t1 UPDATE、DELETEをレプリケーションするには、 更新対象行を特定するためにREPLICA IDENTITYの定義が必要。 デフォルトでは主キーがREPLICA IDENTITY
  • 9. © 2022 NTT DATA Corporation 9 論理レプリケーションの例 ~上流の設定確認 • PUBLICATIONの確認 (pub)=# ¥dRp+ Publication pub1 -[ RECORD 1 ]-------- Owner | atorik All tables | f Inserts | t Updates | t Deletes | t Truncates | t Via root | f Tables: "public.t1" INSERT、UPDATE、DELETE、 TRUNCATEのうちどれを レプリケーションするか指定可能。 デフォルトは全てが対象 PUBLICATIONの対象テーブルはt1
  • 10. © 2022 NTT DATA Corporation 10 論理レプリケーションの例 ~上流の確認から見る機能追加 • PUBLICATIONの確認 (pub)=# ¥dRp+ Publication pub1 -[ RECORD 1 ]-------- Owner | atorik All tables | f Inserts | t Updates | t Deletes | t Truncates | t Via root | f Tables: "public.t1" v.11 v.13 TRUNCATEをレプリケーション対象に指定可能 パーティションテーブルも指定可能(後述)
  • 11. © 2022 NTT DATA Corporation 11 論理レプリケーションの例 ~下流の設定 • テーブル作成 (sub)=# CREATE TABLE t1 (i INT PRIMARY KEY, t TEXT); (sub)=# CREATE TABLE t2 (i INT PRIMARY KEY, t TEXT); • SUBSCRIPTIONの作成 (sub)=# CREATE SUBSCRIPTION sub1 -# CONNECTION 'host=192.168.1.10 dbname=postgres' PUBLICATION pub1;
  • 12. © 2022 NTT DATA Corporation 12 論理レプリケーションの例 ~下流の確認 • SUBSCRIPTIONの確認 (sub)=# ¥dRs+ List of subscriptions -[ RECORD 1 ]------+-------------------------------- Name | sub1 Owner | atorik Enabled | t Publication | {pub1} Binary | f Streaming | f Two-phase commit | d Disable on error | f Synchronous commit | off Conninfo | host=192.168.1.10 dbname=postgres Skip LSN | 0/0 PUBLICATION”pub1”を利用 SUBSCRIPTIONが有効化
  • 13. © 2022 NTT DATA Corporation 13 論理レプリケーションの例 ~下流の確認から見る機能追加 • SUBSCRIPTIONの確認 (sub)=# ¥dRs+ List of subscriptions -[ RECORD 1 ]------+-------------------------------------- Name | sub1 Owner | atorik Enabled | t Publication | {pub1} Binary | f Streaming | f Two-phase commit | d Disable on error | f Synchronous commit | off Conninfo | host=192.168.1.10 dbname=atorik Skip LSN | 0/0 v.15 v.15 v.14 v.14 バイナリ転送モード。 データ型にバイナリ型への変換関数が定義され ている場合、それを利用してレプリケーション ストリーミング転送。後述 2PCの有効化 エラー発生時にレプリケーションを無効化。後述
  • 14. © 2022 NTT DATA Corporation 14 論理レプリケーションの例 ~レプリケーションの確認 • 上流側に最初からあったデータは初期同期される (sub)=# SELECT * FROM t1; i | t ---+--------- 0 | initial (1 row) • SUBSCRIPTIONのオプションcopy_dataをfalseにすることで、同期させないことも可能 • PUBLICATIONの対象テーブルだけレプリケーションされる (pub)=# INSERT INTO t1 VALUES (1, ‘aaa’); (pub)=# INSERT INTO t2 VALUES (1, 'aaa’); (sub)=# SELECT * FROM t1; i | t ---+--------- 0 | initial 1 | aaa (2 rows) (sub)=# SELECT * FROM t2; i | t ---+--- (0 rows)
  • 15. © 2022 NTT DATA Corporation 15 柔軟なレプリケーション対象の指定 • 行フィルタ • PUBLICATION定義にWHERE句を指定し、レプリケーション対象行を選択可能 (pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 WHERE (i > 3); • UPDATE、DELETEをレプリケーションする場合、WHERE句はREPLICA IDENTITYのみ指定可 (pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 WHERE (i > 3 AND t = 'aaa'); (pub)=# UPDATE t1 SET i = 6 WHERE i = 5; ERROR: cannot update table "t1" DETAIL: Column used in the publication WHERE expression is not part of the replica identity. • WHERE句内では単純な式のみ利用可。ユーザ定義関数などは利用不可 v.15
  • 16. © 2022 NTT DATA Corporation 16 柔軟なレプリケーション対象の指定 • カラムリスト • PUBLICATION定義にレプリケーション対象列を指定可能 (pub)=# CREATE PUBLICATION pub1 FOR TABLE t1(i); • UPDATE、DELETEをレプリケーションする場合、対象のカラムはREPLICA IDENTITYを含める必要 (pub)=# CREATE PUBLICATION pub1 FOR TABLE t1 (t); (pub)=# UPDATE t1 SET i = 6 WHERE i = 5; ERROR: cannot update table "t1" DETAIL: Column list used by the publication does not cover the replica identity. v.15
  • 17. © 2022 NTT DATA Corporation 17 柔軟なレプリケーション対象の指定 • パーティションテーブル • PUBLICATION定義にパーティションテーブルを指定可能 • v.12まではパーティションの親テーブルをPUBLICATION対象に指定するとERRORになっていた (pub_v10)=# CREATE PUBLICATION "pub1" FOR TABLE “parent"; ERROR: “parent" is a partitioned table DETAIL: Adding partitioned tables to publications is not supported. v.13
  • 18. © 2022 NTT DATA Corporation 18 柔軟なレプリケーション対象の指定 • パーティションテーブル(続き) • デフォルトでは、子テーブル側の情報を使って変更をWALに記録するため、上流と同様の定義の 子テーブルが下流側にも必要。存在しない場合SUBSCRIPTION作成に失敗 • 例えば、下流側のparentテーブルが通常のテーブルの場合、SUBSCRIPTIONの作成に失敗 (sub)=# CREATE SUBSCRIPTION sub1 -# CONNECTION 'host=192.168.1.10 dbname=postgres' PUBLICATION pub1; ERROR: relation “public.child1” does not exist. 子 子 子 親 子 子 子 親 子テーブルの情報を WALに記録するので.. 同様の定義の 子テーブルが必要
  • 19. © 2022 NTT DATA Corporation 19 柔軟なレプリケーション対象の指定 • パーティションテーブル(続き) • publish_via_partition_rootオプションをonにすることで、親テーブル側の情報を使うよう変更可能。 この場合、下流側に親テーブルと同様の定義のテーブルがあればレプリケーションが可能 (pub)=# CREATE PUBLICATION "pub1" FOR TABLE “parent“ -# WITH (publish_via_partition_root = true); 子 子 子 親 通常のテーブル 親テーブルの情報を WALに記録するので.. 同様の定義の子 テーブルがなくても レプリケーション可能 子 子 親
  • 20. © 2022 NTT DATA Corporation 20 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 1. (2, ‘bbb’)を 挿入 client client
  • 21. © 2022 NTT DATA Corporation 21 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 2 ‘xxx’ client 2. (2, ‘xxx’) を挿入 client
  • 22. © 2022 NTT DATA Corporation 22 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 2 ‘xxx’ client client 3. (2, ‘xxx’)を レプリケーション
  • 23. © 2022 NTT DATA Corporation 23 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 2 ‘xxx’ client client 4. 一意性制約違反によりレプリ ケーション停止。 デフォルトではリトライを繰り返し、 エラー出力が継続
  • 24. © 2022 NTT DATA Corporation 24 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 2 ‘xxx’ client client =# SELECT * FROM pg_stat_subscription_stats; -[ RECORD 1 ]-----+------- subid | 16651 subname | sub1 apply_error_count | 12 sync_error_count | 0 stats_reset | [NULL] pg_stat_subscription_statsビュー からエラーの発生回数が確認可能 v.15 初期同期時のエラー回数 初期同期後のエラー回数
  • 25. © 2022 NTT DATA Corporation 25 コンフリクト • 論理レプリケーションでは下流側も更新可能 • 上流が送ったデータが下流でエラーを起こすと、コンフリクトが発生し、レプリケーションが失敗 • 例) 一意性制約違反 上流 下流 i(主キー) t 1 ‘aaa’ 2 ‘bbb’ i(主キー) t 1 ‘aaa’ 2 ‘xxx’ client client SUBSCRIPTIONのオプション DISABLE_ON_ERRORを有効 にすると、自動で SUBSCRIPTIONを無効化可能 v.15
  • 26. © 2022 NTT DATA Corporation 26 コンフリクト • コンフリクトを自動で解決する仕組みは提供されていない • コンフリクト解決方法 • ①下流側でコンフリクトしているデータを変更する (sub)=# DELETE FROM t1 WHERE i = 2; • ②レプリケーションをスキップ • ALTER SUBSCRIPTION SKIPが扱いやすい。LSNは、エラーメッセージに出力されているものを指定 すればOK CONTEXT: processing remote data for replication origin "pg_16605" during message type "INSERT" for replication target relation "public.t1" in transaction 888, finished at 0/7CE99D58 (sub)=# ALTER SUBSCRIPTION sub1 SKIP ( LSN = '0/7CE99D58’); • コンフリクトするデータだけでなく、トランザクション単位でスキップする点に注意 v.15
  • 27. © 2022 NTT DATA Corporation 27 © 2022 NTT DATA Corporation 27 論理レプリケーションのしくみ
  • 28. © 2022 NTT DATA Corporation 28 アーキテクチャの概要 • 上流 • walsender: WALの読み取り・デコード、データを送信 • 下流 • logical replication worker: データを受信、適用 上流 walsender WAL 1. WAL読込 下流 logical replication worker 2. デコード 3. データ送信 4. データ受信 5. データ適用
  • 29. © 2022 NTT DATA Corporation 29 初期同期 • レプリケーション開始時に上流側にあったデータをCOPYする • 初期同期用のwalsender, logical replication workerが起動 • SUBSCRIPTION1つあたり同時に実行できるワーカー数:max_sync_workers_per_subscription 上流 walsender WAL 下流 logical replication worker 初期データを COPY walsender logical replication worker sync logical replication worker sync walsender max_sync_workers_per_subscription max_logical_replication_workers
  • 30. © 2022 NTT DATA Corporation 30 上流 walsender 初期同期後のレプリケーション • 上流側でWALを読み込み、デコードした内容をトランザクション単位で変更を管理 WAL 1. WAL読込 下流 logical replication worker begin_cb change_cb … commit_cb outputプラグイン。論理レプリケーションでは pgoutput ReorderBuffer INSERT.. DELETE.. INSERT.. UPDATE.. INSERT..
  • 31. © 2022 NTT DATA Corporation 31 上流 walsender 初期同期後のレプリケーション • 上流側でWALを読み込み、デコードした内容をトランザクション単位で変更を管理 WAL 下流 logical replication worker begin_cb change_cb … commit_cb outputプラグイン。論理レプリケーションでは pgoutput ReorderBuffer INSERT.. UPDATE.. DELETE.. INSERT.. UPDATE.. INSERT.. 2. デコードし、トランザ クション単位で管理
  • 32. © 2022 NTT DATA Corporation 32 上流 walsender 初期同期後のレプリケーション • COMMITをデコードすると、下流側に送信 WAL 下流 logical replication worker begin_cb change_cb … commit_cb 3. COMMITされると、各 種コールバック関数が実 行され、下流への送信 outputプラグイン。論理レプリケーションでは pgoutput ReorderBuffer INSERT.. UPDATE.. COMMIT DELETE.. INSERT.. UPDATE.. INSERT..
  • 33. © 2022 NTT DATA Corporation 33 変更量の大きいトランザクションの扱い(SUBSCRIPTIONのオプションstreaming=offの場合) • 1レプリケーションが使用するメモリ量がlogical_decoding_work_memを超過した場合、 ファイルに変更を出力し、メモリ逼迫を予防 • 書き出すのは、最もメモリ使用量が大きいトランザクション 上流 walsender WAL 下流 logical replication worker outputプラグイン。論理レプリケーションでは pgoutput ReorderBuffer INSERT.. UPDATE.. DELETE.. INSERT.. .spill 2. PGDATA/pg_replslot 以下に出力 begin_cb change_cb … commit_cb DELETE.. INSERT.. DELETE.. INSERT.. 1.メモリ使用量が増加し、 Logical_decoding_work_mem を超過 v.13
  • 34. © 2022 NTT DATA Corporation 34 変更量の大きいトランザクションの扱い(SUBSCRIPTIONのオプションstreaming=onの場合) • 1レプリケーションが使用するメモリ量がlogical_decoding_work_memを超過した場合、 下流側に送信 • streaming = offの場合に比べ、変更量の大きいトランザクションの下流側への反映が遅延しにくい • ただし、ABORTされた場合は下流側へ送信されたデータは利用されない 上流 walsender WAL 下流 logical replication worker outputプラグイン。論理レプリケーションでは pgoutput ReorderBuffer INSERT.. UPDATE.. DELETE.. INSERT.. Stream用のコールバック 関数が呼び出され、下 流側へ送信 DELETE.. INSERT.. DELETE.. INSERT.. 1.メモリ使用量が増加し、 logical_decoding_work _memを超過 stream_start_cb stream_stop_cb … stream_commit_cb v.14
  • 35. © 2022 NTT DATA Corporation 35 レプリケーションスロット • レプリケーションスロットでレプリケーションの進捗状況などを管理 • 物理レプリケーションではスロットの利用は任意だが、論理レプリケーションでは必須 • 下流側へのレプリケーションが行われないと、上流側のWALが蓄積され続け、ディスクフル・PANIC終了 となるため注意 =# SELECT * FROM pg_replication_slots; -[ RECORD 1 ]-------+----------- slot_name | sub1 plugin | pgoutput slot_type | logical datoid | 5 database | postgres temporary | f active | t active_pid | 4477 xmin | [NULL] catalog_xmin | 849 restart_lsn | 0/4816C1E8 confirmed_flush_lsn | 0/4816C220 wal_status | reserved safe_wal_size | [NULL] two_phase | f 上流 walsender WAL walsender walsender replication slot replication slot replication slot レプリケースロットでレプリケーションの 進捗状況などを管理
  • 36. © 2022 NTT DATA Corporation 36 pg_stat_replication_slotビュー • ファイルへの書き出し・ストリーム処理の回数、量などが確認可能 =# SELECT * FROM pg_stat_replication_slots; -[ RECORD 1 ]+-------- slot_name | sub1 spill_txns | 0 spill_count | 0 spill_bytes | 0 stream_txns | 1 stream_count | 22 stream_bytes | 1444410 total_txns | 12 total_bytes | 1444410 stats_reset | [NULL] ファイルへ書き出した トランザクション数、 回数、 バイト数 ストリーム処理された トランザクション数、 回数、 バイト数 v.14
  • 37. © 2022 NTT DATA Corporation 37 © 2022 NTT DATA Corporation 37 論理レプリケーションのこれから
  • 38. © 2022 NTT DATA Corporation 38 レプリケーション対象の追加 • v.15時点ではCREATE TABLEなどDDLはレプリケーション対象外 • 初期同期は、 pg_dump --schema-onlyなどで対応可能 • 運用中にテーブルのスキーマを変更する場合、同じDDLを上流・下流両方で実行するなど対応が必要 • DDLもレプリケーション対象にするパッチ提案あり • v.15時点ではシーケンスオブジェクトはレプリケーション対象外 • シーケンスオブジェクトから生成されるデータはレプリケーション対象だが、シーケンス自体は レプリケーションされない • シーケンスオブジェクトもレプリケーション対象にするパッチ提案あり
  • 39. © 2022 NTT DATA Corporation 39 物理レプリケーションとの連携 • 想定構成: 物理レプリケーションを利用してHA構成をとったDBを上流として、下流に論理レ プリケーション • レプリケーションスロットはレプリケーションされないため、物理レプリケーションのスタンバイが昇格 した場合、論理レプリケーションは継続できない 上流(プライマリ) 上流(スタンバイ) 物理レプリケーション 下流 論理レプリケーション 上流(旧プライマリ) 上流(新プライマリ) 下流 論理レプリケーション スロット × スロット ×
  • 40. © 2022 NTT DATA Corporation 40 物理レプリケーションとの連携(続き) • 対応はコミュニティで議論中 • PostgreSQL周辺の製品では、独自に対応を実装しているものもあり
  • 41. © 2022 NTT DATA Corporation 41 © 2022 NTT DATA Corporation 41 まとめ
  • 42. © 2022 NTT DATA Corporation 42 まとめ • 論理レプリケーションでは、柔軟なレプリケーションが可能 • 近年の機能開発で、レプリケーション対象・方式などについて、より柔軟になった • コンフリクトなど設計・運用に注意が必要な内容もあり • DDLレプリケーションなどニーズが多い機能もコミュニティで開発中
  • 43. © 2022 NTT DATA Corporation 43 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。