課題検討WG 2016年度活動報告
PostgreSQLデータ連携大全- PostgreSQL間の連携から異種データベースとの連携まで -PostgreSQL エンタープライズ・コンソーシアム
WG3(課題検討WG)(株)アシスト 竹内／ NTTテクノクロス(株) 原田
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

アジェンダ WG3の紹介

 レプリケーション
 ストリーミングレプリケーション、Bi-Directional Replication(BDR)

 異種DB間連携
 外部データラッパ、ロジカルデコーディング、DB同期ツール、ETLツール

 クロージング
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

2

WG3(課題検討WG)の紹介

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

3

活動テーマの推移
2016年度の活動テーマ
レプリケーション
 異種データベース連携

昨年度までの「設計運用WG」から活動範囲を広げるため「課題検討WG」に改名した。
課題領域

概要

性能

性能評価手法、性能向上手法、チューニングなど

可用性

高可用性クラスタ、BCP

保守性

保守サポート、トレーサビリティ

運用性

バックアップ運用、監視運用

セキュリティ

監査、認証、アクセス制御、暗号化

互換性

データ、スキーマ、SQL
ストアドプロシージャ

接続性

他ソフトウエアとの連携

2013

2014

2015

2016

ツール

可用性全般

レプリケー
ション

SR(BCP)

バックアップ
監視

ツール
セキュリ
ティ

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

セキュリ
ティ

異種ＤＢ連携4

WG3 2016年度活動テーマ
 レプリケーション
 ストリーミングレプリケーション(SR)PostgreSQL 9.6時点における、ストリーミングレプリケーションの各種注目機能や運用ポイントを整理
 BDR(Bi-Directional Replication)

マルチマスタ・レプリケーションシステムであるBDRの、アーキテ
クチャの解説、設定例、競合解消方法、注意点について調査
 異種データベース連携
データベース連携手法のうち外部データラッパ、ロジカルデコーデ
ィング、DB同期ツール、ETLツールの4種類を取り上げ比較調査
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

5

WG3 2016年度の活動成果
 「2016年度WG3活動報告書」として、PGEConsのサイトにドキュメントを公開中
PGECons

レプリケーション調査編

検索

異種DB間連携 連携方式調査編

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

6

WG3 2016年度活動体制
レプリケーション班 (SR および BDRを担当)
 株式会社アシスト【主査】
 株式会社オージス総研
 TIS株式会社【副査】
 日本電信電話株式会社
 株式会社富士通ソーシアルサイエンスラボラトリ


異種データベース連携班
 NTTテクノクロス株式会社【副査】

 日本電気株式会社
 株式会社日立製作所
 株式会社日立ソリューションズ
 富士通株式会社（企業名50音順・敬略称）
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

7

レプリケーション成果紹介
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

8

レプリケーション：活動目的

設定/監視など運用に必要なノウハウを整理する。また今後も新機能やツールが追加されるため、定点観測として続ける。

今まで
 2013年と2014年にレプリケーションについて調査→現在、レプリケーションの機能追加や新ツールの開発が進行

2016年度 ストリーミングレプリケーションの既存情報整理と最新機能検証
 マルチマスタ・レプリケーションシステムのBDRの調査

 実例や注意点を含め、基本的な設定と運用が分かるドキュメントを作成
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

9

レプリケーションとは何か複数のデータベース・サーバ間で、可用性や性能の向上を目的に一貫性を保ちながら内容を複製する手法を指す。
 冗長化による可用性向上

 スケールアウトによる性能向上

更新参照

同一のデータを持つサーバへ接続することでサービスを継続

アプリケーションの要求を複数サーバに分散し負荷軽減

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

10レプリケーションとは何かデータの一貫性が保証されやすい シングルマスタ

マスタ マルチマスタ

更新操作の負荷を分散できるが、データの同期が困難

更新参照

更新参照

同期

同期

同期

同期

スレーブ

スレーブ

PostgreSQLの機能である
ストリーミングレプリケーションにより実現

マスタ

マスタ

マスタ

BDRが論理レプリケーションを用いて実現

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

11

レプリケーション
成果紹介- ストリーミングレプリケーション Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

12

PostgreSQLのストリーミングレプリケーション
マスタの更新情報(WALレコード)をスレーブに送信し、データを複製するシングルマスタ構成の1つ。
アプリケーション
アプリケーション○ 特徴参照参照

更新

適用
マスタサーバ
PostgreSQL

WAL
ファイル

スレーブサーバ
WAL送信

WAL受信

PostgreSQL

WAL
ファイル

WAL送信
wal sender

wal receiver

・受信サーバ側に送信サーバと同一のデータベースを複製可能
・送信側サーバでコミット済みのデータを、受信側へ確実に反映できるため、データ保護に適切・参照負荷分散が可能! 注意点
・特定の表のみの複製不可
・メジャーバージョンが異なる
PostgreSQL間では利用不可 今年の活動で調査・検証した、特に注目していただきたい
3つの機能とその注意点を紹介します。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

13

(1)レプリケーションスロットの設定
マスタ側がスレーブへ未送信のWALを保持することで、レプリケーションの同期を保証する。
マスタサーバスレーブサーバ
レプリケーションスロット

PostgreSQL

PostgreSQL

WAL
ファイル

WAL
ファイル

WAL
ファイル

⑥

⑦

⑧
wal sender

…

WAL送信

WAL
ファイル

WALファイル⑤⑥

wal receiver

レプリケーションスロットが未送信のWALを把握している。
→スレーブに必要なWALが循環によって消失することを防止する。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

14

(1)レプリケーションスロットの注意点！ スイッチバックで正常にマスタ/スレーブを切り替えた際に、新スレーブに旧マスタ時代のスロットが残る。

新スレーブサーバ
旧レプリケーションスロット

新マスタサーバ

PostgreSQL

PostgreSQL

WAL
ファイル

WAL
ファイル

WAL
ファイル

WAL
ファイル

WAL
ファイル

WAL
ファイル

①

②

③

②

③

④

WAL送信

wal receiver

wal sender

送信先がないため、旧レプリケーションスロットがWALを保持し続け、ディスクを圧迫する
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

15

(2)ストリーミングレプリケーションの同期レベル
synchronous_commitに目的に応じた値を指定する。
マスタ54

スレーブ

PostgreSQL

PostgreSQL

wal writer

startup
WALWALWAL送信

wal sender

①②③④⑤

1

Memorywal receiver

データ参照時、マスタとスレーブでデータが一致する。

23
スレーブにデータが送信されたことを保証する。

remote_apply ： スレーブ側へのデータ適用まで保証
on： 送信したWALのディスク書き込みまで保証
remote_write ： 送信したWALのメモリ書き込みまで保証
local(非同期)： ローカルへの書き込みまで保証
off： ローカルへの書き込みも保証しない ※非推奨設定
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

16

(2)ストリーミングレプリケーションの同期レベル！ 同期レベルと更新性能はトレードオフ

非同期(synchronous_commit = local)の値を1.00とした相対値

1.200

TPS of OLTP

1.100
1.000
0.900

0.800
0.700

1.00

0.600
0.500
0.400

0.74

0.78

 ベンチマークツールにはpgbenchを使用
 100セッション 25ワーカスレッド

0.58

0.300
0.200
0.100
0.000

local

remote_applyonremote_write

4

12

3

 軽量のトランザクションを大量に実行している。
→性能影響を受けやすい
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

17

(3)pg_rewindによる巻き戻し

マスタ/スレーブの再構築(9.4以前)
フルバックアップの再取得が必要なため時間を要する。
1.フェールオーバ発生により、スレーブが新マスタに昇格

スレーブ

マスタ

マスタ

B

A
タイムラインID:1

2.旧マスタは新マスタとの関係性が失われたため廃棄する。

Apg_basebackup
3.pg_basebackupにより新マスタのフルバックアップを取得し、新スレーブを構築する。
新マスタ

新スレーブ

AB

タイムラインID:2
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

18

(3)pg_rewindによる巻き戻し

マスタ/スレーブの再構築(9.5以降)
pg_rewindにより障害が発生した旧マスタを巻き戻し、新スレーブとして再構築する。
1.フェールオーバ発生により、スレーブが新マスタに昇格

スレーブ

マスタ

旧マスタ

マスタ

BA

2.pg_rewind実行のため旧マスタを再起動後、正常停止

タイムラインID:1

AA

4.新スレーブに新マスタのWALを適用し、新マスタへ追い付く

3.pg_rewindによる巻き返し
新マスタ

新スレーブ

AB

タイムラインID:2
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

19

ストリーミングレプリケーション：まとめと今後
PostgreSQLのストリーミングレプリケーション機能は年々追加されているため、既存情報の整理と新機能を調査した。
 この発表資料では注目していただきたい事項として3つの機能を取り上げた。
①②③

レプリケーションスロット
同期レベルpg_rewind： 基本動作と注意点： 同期レベル毎のパフォーマンス
： 従来手法と比べた優位点

次期メジャーバージョンのPostgreSQL 10でもレプリケーション機能の拡充が予定されているので、重要分野と位置づけ、新機能検証を継続する。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

20

レプリケーション
成果紹介- Bi-Directional Replication Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

21

BDR概要「2ndQuadrant」によって開発されたオープンソース（PostgreSQL License）のマルチマスタ・レプリケーションシステム。
双方向の非同期論理レプリケーションを使用し、地理的に分散したクラスタで使用するために設計されている。
サポートについては以下が存在。

No.

1

2サポート

概要

無償サポート

BDRコミュニティへのメール、BDRのGoogleグループが存在
email: bdr-list@2ndQuadrant.comGoogleグループ:
https://groups.google.com/a/2ndQuadrant.com/forum/#!forum/bdr-list

有償サポート

2ndQuadrant社によるサポートを受けることが可能※ 2ndQuadrant社について
BDRの製造元で、PostgreSQLの専門家（コミッター等）が多数在籍する企業です。
PostgreSQLのコンサルティングサービス等を提供。
https://2ndquadrant.com/en/

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

22

ユースケースBDRは以下に該当する場合に有用である。
遠隔地や高レイテンシ環境でクラスタを構成している場合
2. 各ノードが書き込み処理を実施する場合
3. クラスタ間でデータが非同期であることを許容できる場合
1.



例としては以下のようにレスポンスを向上させるために各地でアプリケーション及びDBを動作させるようなケースが考えられる。
レプリケーション

AppAppDBApp

東京支店
DBDB

大阪支店

NY支店
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

23整合性

マルチマスタ構成を取る場合、各ノードが持つ情報に不整合が発生しないように管理する仕組みが必要となる。
BDRでは結果整合性（Eventual Consistency）と呼ばれる一貫性モデルを採用し、整合性を確保。
 デフォルトでは競合が発生した場合、最後の更新処理が適用される。（last_update_wins）
 競合結果はテーブル「bdr.bdr_conflict_history」で確認可能。

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

24

実機検証環境構成図


BDRの機能や性能向上を確認するために、下図のようなマルチマスタ環境を構築し、実機検証を実施した。
項目

説明

PostgreSQLバージョン

9.4.10

BDRバージョン

1.0.2

OSCentOS 7.1

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

25

実機検証結果 （1/2）


実機検証の結果は下記の通り。

項番
1

2

3

検証項目

概要

ノードの追加/切り離し既存のマルチマスタ環境に対するノード追加/切り離し手順を明確にする。

更新処理競合時の動作確認

各ノードで実施された、更新処理が競合した場合の挙動を確認する。

ノード毎のシーケンスの独立

ノード毎に払い出されるシーケンス番号を独立させ、シーケンス番号の競合が抑止できるか確認する。

凡例(結果) :○ : 問題なし△ : 利用時に問題になるケースがある
× : 対応していない。事実上使えない

結果

実施結果補足△ノード切り離す場合に、システムカタログを操作する必要がある。
また、ノード追加時には、トランザクションの停止が必要。

△

基本的には最後に実行された更新処理が反映される。
ただし、いくつかの競合パターンで、予期せぬエラーが発生する。

○

ノード毎にシーケンス番号を発行し、競合を防ぐことが可能

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

26

実機検証結果 （2/2）


実機検証の結果は下記の通り。

項番

45

6

7

凡例(結果) :○ : 問題なし△ : 利用時に問題になるケースがある
× : 対応していない。事実上使えない

検証項目

概要

結果

実施結果補足選択的レプリケーション

データベース内の一部のテーブルのみをレプリケーション対象とする手順を確認する。

○

テーブル毎に柔軟なレプリケーション設定が可能

ノード障害時の挙動確認

複数ノードで構成されるクラスタ環境内の1ノードに障害が発生した場合の挙動を確認する。

○

他ノードで実行中のトランザクションに影響が及ばない障害ノードの復旧確認

障害が発生したノードをクラスタ環境に復旧させる手順を確認する。

△

ノード追加時には、トランザクションの停止が必要。
また、システムカタログの操作が必要。

○

遠隔地や帯域幅が細い等の高レイテンシ（遅延）環境では、BDRを利用することによって、レスポンスタイム及びTPSを大幅に向上させることができる。（日本-シンガポール間の環境を擬似した結果は5.4倍向上）

性能検証

遠隔地間のデータレプリケーションを想定し、レスポンスタイムが改善するか確認する。

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

27

Bi-Directional Replication：まとめと今後

BDRを用いることで、SRでは実現できないマルチマスタ・レプリケーションや、選択的レプリケーション(テーブル単位のレプリケーション)を実現できることを確認できた。


選択的レプリケーションを用いて柔軟なデータ連携(データ集約等)が実現可能



性能試験において、BDRのユースケースで想定している「遠距離拠点間で双方向に更新する」場合にレスポンスタイムの低減と処理向上につながることが確認できた。

一方、本検証で利用したBDR バージョン 1.0.2では更新処理が競合するパターンでは、意図しない動作が発生する場合が確認された。
BDRを適用する場合、競合が発生しないようなアプリケーション設計が必要と考えられる。
例) 更新するテーブルを拠点ごとに分ける等



ノード障害時の運用においても、一般的でないシステムカタログの操作を必要とするといった、今後の改善が必要と思われる結果が確認された。

BDRの次期バージョン(2.0)がリリースされた後、PGEConsにおいて再度検証を実施したいと考えている。
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

28

レプリケーションのまとめ
データの一貫性が保証されやすい

 シングルマスタ

マスタ

 マルチマスタ

更新操作の負荷を分散できるが、データの同期が困難

更新参照

更新参照

同期

同期

同期

同期

スレーブ

スレーブ

PostgreSQLの機能であるストリーミングレプリケーションにより実現

マスタ

マスタ

マスタ

BDRが論理レプリケーションを用いて実現

 目的に応じて機能を選択 → 設定方法はドキュメントを参考に！
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

29

異種DB連携班
成果紹介
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

30

異種DB連携班の活動目的 背景
 ICTシステムの進化によるシステム統合/拡張は不可避

 問題点
 システム全体を統合/拡張するのは高コスト
 既存システムを活用したままサブシステムを拡張
 データベースも既存のデータベースと連携させて拡張 目的
 PostgreSQLと異種DBMSの連携方式をピックアップ

 各連携方式の使いどころや注意点を整理する

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

31検証した異種DB連携方式
連携方式

想定用途

検証対象ツール

外部データ
ラッパ

PostgreSQL側でデータを持たず、デー PostgreSQL本体機能
タを共有したい場合＋拡張機能

ロジカルデコーディング

DB(PostgreSQL含む)への反映において、一部のテーブルや一部のデータなどを連携したい場合

PostgreSQL本体機能＋拡張機能

DB同期ツール

ある程度の同期性を確保しつつ、異種DB間でデータを共有したい場合

SymmetricDS

ETLツールPostgreSQL⇒連携先DBへの反映に Talend
おいて、なんらかのデータ加工が必要な場合→上記に挙げた異種DB連携方式について、調査・検証を行った

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

32

異種DB連携の調査/評価観点
 想定用途、接続性、同期性、性能、セキュリティ、構築・開発時の難易度等の観点で異種DB連携方式を調査/評価して一覧表としてまとめた

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

33外部データラッパ
 連携先のDBに透過的にアクセスする手段を提供
BeforeAfter

Application
SQL

Application
PostgreSQL
抜き出しロード

SQL
独自IF など

PostgreSQL
PostgreSQL
向けのSQL

異種DB

FDW
異種DB

連携先のDB（ファイル等のデータソース含）に応じてSQL、独自IFを使い分けが必要

使い慣れたSQLを利用でき
アプリ開発、学習コストの低減

既存Dから直接データを利用する際には抜き出し & ロードが必要

PostgreSQLのSQL文を利用し透過的にアクセス可能

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

34外部データラッパ


例：oracle_fdw
PostgreSQL Server

PostgreSQL
ClientSQL

Oracle Server

PostgreSQL

Oracleoracle_fdw
OracleClient Library

SQL

PostgreSQL SQL内容を元に、Oracleのクライアントライブラリを経由してOracle SQLを発行して情報を取得する
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

35

参考：主な外部データラッパ

汎用インターフェース

ビッグデータ基盤との連携向け

 ODBC Elastic Search

 JDBC Hadoop

主なRDBMSとの連携向け
 PostgreSQL
 Oracle MySQLNoSQLとの連携向け
 Cassandra CouchDB MongoDB Neo4j
 Redis出典：Foreign data wrappers より抜粋
<https://wiki.postgresql.org/wiki/Foreign_data_wrappers>
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

36外部データラッパ


ここが便利！
 PostgreSQL標準のSQLを使って、異種DBMSへの参照、あるいは更新が可能になる

ここに注意！
 データベースによってはFDWが実装されていないものがある。
 FDWの実装によっては、連携先のデータベースの能力を使えないケースがある 連携先のストアドプロシージャやユーザファンクションはFDW経由では実行できない

こういうときに使おう！
 データそのものはPostgreSQLに持たせずに連携したい場合

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

37

ロジカルデコーディング

ロジカルデコーディングの概要

Pluginにより論理ログに変換
 変換された論理ログを元に別DBMSへ更新を反映させる

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

38

ロジカルデコーディング

ここが便利！
 PostgreSQL以外の異種DBMSへ更新内容を自由に伝播できる
 一部のスキーマ/テーブルの更新のみを伝播できる

ここに注意！
 プラグインや更新反映用のプログラムの開発が必要

こういうときに使おう！
 PostgreSQL上の一部のテーブルを、異種DBと共有したい場合。

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

39

DB同期ツール

例：SymmetricDS

ソースノードの更新を、更新差分とイベント情報に変換
更新差分とイベント情報をターゲットノードに伝播して同期。

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

40

参考：主なサポートDBの機能対応
Database

Versions

DB29.5
DB2 for IBM i 6Derby
10.3.2.1
Firebird
2.0Greenplum8.2.15 and above

Transaction
IdentifierN

Data
CaptureY

Conditional Update Loop BLOB Sync CLOB Sync
Sync
Prevention
YYY
YN

Y

Y

N

Y

Y

YYY

YY

YYY

YYY

Y

N

N

N

Y

N

N

Y

YYY

Y

Y

Y

Y

Y

YY

Y

N

Y

Y

Y

Y

Y

N

Y

YY

N

N

N

Y

Y

Y

YY

Y

Y

YYY

Y

YY

Y

Y

Y

Y

Y

YYYY

Y

Y (8.3 andabove only)
N

Y

YYY

YNNY

NN

Y

Y

YYYY

H2HSQLDBHSQLDB
InformixInterbaseMySQLMariaDBOracle
PostgreSQL

1.x
1.8
2.0
11
9.0
5.0.2 and above
5.1 and above
10g and above
8.2.5 and above

Redshift
SQLAnywhere
SQL Server

1.092005 and above

Y

Y

Y

Y

Y

Y

SQL Server
Azure
SQLiteSybase ASE

Tested on
11.00.2065
3.x
12.5

Y

Y

Y

Y

Y

NN

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

41

DB同期ツールここが便利！
 PostgreSQLと異種DB間で、双方向に、差分反映によるデータ更新ができる。
ここに注意！
 同期といいつつ、リアルタイムではなく、１秒程度の時差が発生する
 同じテーブルに同時更新が発生すると、データアンマッチが発生する場合が・・・。
 ドキュメントの品質や、コミュニティが不活性なので、トラブル発生時にはハマる可能性が・・・。
こういうときに使おう！
 データ連携したいDBが、FDWに未対応だがJDBCに対応している場合
 マイグレーション等で、一部のDBはPostgreSQLに移行したが、残っている異種DBと、相互連携が必要な場合
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

42

ETLツール(Talend)について

Talend社が提供するデータ統合/連携製品
 機能追加された有償版と無償のOSS版（Talend Open Studio）があるが、メインとなるETL開発に使えるコンポーネント(DBへの接続、データの抽出、加工、反映)については 無償版でもほぼ差はない

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

43

Talend Open Studioの動作検証


成果物内で簡単な動作例を記載
 Talendは、Eclipseベースで開発されておりインターフェースのつくりや操作感覚もそれに近い GUIでジョブを作成した後、jar形式の実行ファイル、batファイルとスクリプトまでビルドしてくれるのでデータ連携をお手軽に試行することが可能

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

44

参考 Talendの対応DB
データベース

ビッグデータ
NoSQL

ファイル

Access

AS400

DB2

eXist

EXAsolution

Firebird

Greenplum

HSQLDB

Informix

IngresInterbase

JavaDB

LDAP

MaxDB

MS SQL Server

MySQL

Netezza

OLE DB

OracleParAccel

Postgres Plus

PostgreSQL

Redshift

VectorWise

SAS

SQLiteSybaseTeradata

Vertica

汎用JDBC

Cassandra

Couchbase

CouchDB

Google BigQuery SAP HANA

HBase

HCatalog

HDFS

Hive

ImpalaMarkLogic

MemSQL

MongoDBNeo4j

Pig

Riak

Sqoop

ARFF

Excel

LDIF

XML

区切りファイル

マルチレイアウト
ファイル

Avro

Alfresco

BonitaCentricCRM

MarketoMicrosoft AX

Microsoft CRM

NetSuite

Open Bravo

SageX3SAP

SugarCRM

VtigerCRM

Amazon S3

Azure Storage

Box

Amazon EMR

Google Drive

Google Storage

Marketo

Salesforce

ServiceNow

Parquetアプリケーションクラウド

Amazon RDS (Aurora, MySQL, Oracle)
Amazon Redshift

Dropbox

ドットネットDotNET

標準規約

EDIFACT

HL7

JBoss

PetalsFTP

Kafka

MOM and JMS

SCPHTTP Request

POP

REST

RSS

Kerberos

Proxy

SocketSVN

WebService

XML RPC

SMTP

SOAPJSON

ビジネスインテリ
ジェンス

Jasper

OLAPキューブ(Mondrian, Palo)

SPSS

Hadoopdistribution

Hortonworks DataPlatform

ApacheMapR

Pivotal HD

Microsoft HDInsight

インターネット

Cloudera

Amazon EMR

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

45

ETLツール(Talend)について


ここが便利！
 数少ない無償でも使えるETLツールながら機能が豊富
 数多くのDBに対応した コンポーネントが標準で用意されている(NoSQLやクラウド環境まで)

ここに注意！
 OSS版ではCDCの機能が使えないため、差分反映を設定することができな

い。反映時に都度truncateするなど運用による対策が必要


こういう時に使おう！
 対象DBでのシステム開発の経験が少ない 開発期間が短い、開発工数が少ない
 APの継続的な改修があり、処理の可視化などのメンテナンス性が必要

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

46

異種DB連携のまとめ
 異種DB連携方式の整理
 さまざまな異種DB連携方式をPostgreSQLでは利用できる。
透過的SQLアクセス

外部データラッパ

PostgreSQL

部分
複製

ロジカルデコーディング

異種DB
データ同期ツール
ノード間同期ETL

データ変換

 用途に応じた異種DB連携方式の選択が必要。

 既存のデータ・資産をそのまま残しつつ、システムの拡張が可能に！
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

47

クロージング

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

48

2016年度の活動を振り返って 参加企業の皆様からいただいたコメント
 初めてWGに参加し、他社との議論やレビューで新たな観点や考え方を学ぶことができた。
 WG活動に貢献しながらストリーミング・レプリケーションの知見を深めることができた。
 今まで使っていなかったロジカルデコーディングやBDRについての知見を得られました。
 Githubの機能を活用し、昨年度より活発な議論ができた。

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

49

2017年度のWG3活動
 課題検討WG
 課題検討WGという自由度のある部会としてPostgreSQL

10の新機能や各種運用ツール類を対象にテーマを設定し検討。

一緒にPGECons WG活動しませんか？

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

50

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

51