2019年度CR部会活動報告

PostgreSQL エンタープライズ・コンソーシアム
CR部会

アジェンダ CR部会のご紹介紹介

 CR部会の目的、参加メンバメンバ

 2019年度の取り組みのご紹介り組みのご紹介組みのご紹介みのご紹介紹介

 コミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組みに向けた取り組み向けた取り組みけた取り組み取り組みのご紹介り組みのご紹介組みのご紹介み PostgreSQL機能改善への協力への協力

 おわり組みのご紹介に向けた取り組み 2020年度に向けた取り組みむけて

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

2

CR部会のご紹介のご紹介紹介

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

3

CR(Community Relations)部会の目的
 PostgreSQL開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組み

 エンタープライズ領域へのへのPostgreSQLの適用に向けに向けた取り組み向けた取り組みけて、開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みに向けた取り組み技術的課題をフィードバックをフィードバックフィへのフィードバックに向けた取り組みードバックに向けた取り組み

企業さまさまCR部会

抱えている課題が解決されえている課題が解決され課題をフィードバックが解決され解決されされる課題が解決され！

開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組み

ユーザの声が届く！の声が届く！が解決され届く！く！

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

4CR部会 2019年度参加メンバメンバ
 SRA OSS, Inc.日本支社【主査】
 NECソリューションイノベータ株式会社
 NTTテクに向けた取り組みノクに向けた取り組みロス株式会社株式会社
 日本電信電話株式会社
 富士通株式会社（企業さま名50音順・敬略称）

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

5

2019年度の取り組みの取り組みり組み組みみCopyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

6

2019年度の取り組みのご紹介り組みのご紹介組みのご紹介み内容
1.

開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組みをフィードバック目指し、エンタープライズ領域へのに向けた取り組みおける課題が解決され技術的課題をフィードバックをフィードバック詳細化

2.

PostgreSQLの機能改善への協力活動への協力– Incremental View Maintenance (IVM)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

7

2019年度の取り組みのご紹介り組みのご紹介組みのご紹介み内容
1.

開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組みをフィードバック目指し、エンタープライズ領域へのに向けた取り組みおける課題が解決され技術的課題をフィードバックをフィードバック詳細化

2.

PostgreSQLの機能改善への協力活動への協力– Incremental View Maintenance (IVM)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

8

フィへのフィードバックに向けた取り組みードバックに向けた取り組みに向けた取り組み向けた取り組みけた取り組み2019年度の活動概要
 技術的課題をフィードバックの詳細化とフィードバック方法の検フィへのフィードバックに向けた取り組みードバックに向けた取り組み方法の検の検討

2019年度の取り組みのご紹介り組みのご紹介組みのご紹介み範囲

PGECons
参加メンバ企業さま

CR部会

フィへのフィードバックに向けた取り組みードバックに向けた取り組み
コミュニティへのフィードバックに向けた取り組み

方法の検検討エンタープライズ領域へのでの技術的課題をフィードバック

詳細化
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

9課題をフィードバックの詳細化への取り組みのご紹介り組みのご紹介組みのご紹介み [課題をフィードバック]データのロードが解決され遅いい 課題をフィードバック詳細

 COPY文でデータを取り込むのが遅いでデータをフィードバック取り組みのご紹介り組みのご紹介込むのが遅いむのが解決され遅いい 外部ツール(pg_bulkload)もある課題が解決されが解決され、課題をフィードバックもある課題が解決され– 初期ロードにしか使えないロードに向けた取り組みしか使えない使えないえない– パーティへのフィードバックに向けた取り組みション機能への適用に向けは制限がある制限があるが解決されある課題が解決され– 追加メンバモジュールなので、クに向けた取り組みラウドでのDaaS環境では使えでは制限がある使えないえない 本課題をフィードバックに向けた取り組み対する取り組みする課題が解決され取り組みのご紹介り組みのご紹介組みのご紹介み COPYの改善への協力に向けた取り組み注力する課題が解決され

 開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みで議論する方向で、そのための事前調査をする課題が解決され方向けた取り組みで、そのた取り組みめの事前調査をフィードバック行ったった取り組み

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

10

COPYに向けた取り組み関する開発コミュニティでの議論分析する課題が解決され開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みでの議論する方向で、そのための事前調査を分析
 103本の議論する方向で、そのための事前調査をス株式会社レッドか使えないら、比較的最近の議論の議論する方向で、そのための事前調査を(2017/11以降)をフィードバック中心に、に向けた取り組み、47本をフィードバック解析
 大きく分けて機能改善と性能改善の提案があるきく分けて機能改善への協力とフィードバック方法の検性能改善への協力の提案があるが解決されある課題が解決され

 機能改善への協力では制限がある、エラーが解決され起きてもアボートせずにきてもアボートせずにせずに向けた取り組みCOPY TOをフィードバック継続する提案が過去何度かあったする課題が解決され提案があるが解決され過去何度か使えないあった取り組み
 性能改善への協力では制限がある、WALの出力をフィードバック抑止する、する課題が解決され、COPY TOのパラレル化、COPY FREEZEでVisible flagをフィードバックセットせずにしてI/Oをフィードバック改善への協力する課題が解決されなどの提案があるが解決されあった取り組み 以下は現在も進行中は制限がある現在も進行中も進行った中(2020/8/6現在も進行中)– COPY TOのパラレル化– COPY FREEZEでVisible flagをフィードバックセットせずにしてI/Oをフィードバック改善への協力

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

11実行った計画に起因する性能課題に向けた取り組み起きてもアボートせずに因する性能課題する課題が解決され性能課題をフィードバック(事例)の収集
 [課題をフィードバック]実行った計画に起因する性能課題が解決され制御できないできない 課題をフィードバック詳細

 不適切な実行計画が採用されクエリの実行性能が出ないな実行った計画に起因する性能課題が解決され採用に向けされクに向けた取り組みエリの実行った性能が解決され出ない

 統計情報の変化に向けた取り組み起きてもアボートせずに因する性能課題して実行った計画に起因する性能課題が解決され変化する課題が解決されことフィードバック方法の検で性能が解決され不安定にに向けた取り組み⇒ pg_hint_planなどのExtensionをフィードバックインス株式会社トせずにールして実行った計画に起因する性能課題をフィードバック制御できない 本課題をフィードバックに向けた取り組み対する取り組みする課題が解決され取り組みのご紹介り組みのご紹介組みのご紹介み 抱えている課題が解決されえている課題が解決され課題をフィードバックをフィードバックコミュニティへのフィードバックに向けた取り組みに向けた取り組み投稿（フィへのフィードバックに向けた取り組みードバックに向けた取り組み）し、最良の解決策を探りたいの解決され策を探りたいをフィードバック探りたいり組みのご紹介た取り組みい 投稿に向けた取り組み向けた取り組みけてコミュニティへのフィードバックに向けた取り組みの課題をフィードバック感と摺合せられるようにユーとフィードバック方法の検摺合せられるようにユーせられる課題が解決されように向けた取り組みユー
ザの声が届く！のニーズをフィードバック調査した取り組みい [2019年度の取り組みのご紹介り組みのご紹介組みのご紹介み] 現場で見られる実行計画の問題事例で見られる実行計画の問題事例られる課題が解決され実行った計画に起因する性能課題の問題をフィードバック事例をフィードバック収集する課題が解決された取り組みめのアンケートせずに項目をフィードバック検討中
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

12

2019年度の取り組みのご紹介り組みのご紹介組みのご紹介み内容
1.

開発コミュニティへのフィードバッコミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組みをフィードバック目指し、エンタープライズ領域へのに向けた取り組みおける課題が解決され技術的課題をフィードバックをフィードバック詳細化

2.

PostgreSQLの機能改善への協力活動への協力– Incremental View Maintenance (IVM)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

13

Incremental View Maintenance (IVM)とフィードバック方法の検は制限がある
 Materialized viewの更新をリアルタイムかつ高をフィードバックリアルタイムか使えないつ高高速に行う機能に向けた取り組み行ったう機能

 Materialized viewは制限があるSELECT結果を保存し、次回以降をフィードバック保存し、次回以降し、次回以降の検索を高速化する機能をフィードバック高速に行う機能化する課題が解決され機能
 元のテーブルを更新してものテーブルをフィードバック更新をリアルタイムかつ高してもMaterialized viewは制限がある更新をリアルタイムかつ高されない
 手動でmaterialized viewをフィードバック更新をリアルタイムかつ高する課題が解決され必要ある課題が解決されが解決され、SELECTをフィードバックやり組みのご紹介直すので遅いすので遅いい もし自動でMaterialized viewをフィードバック更新をリアルタイムかつ高した取り組みければ、トせずにリガを使っをフィードバック使えないってMaterialized view相当の機能を実装しなければならないの機能をフィードバック実装しなければならないしなければならない

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

14

Incremental View Maintenance (IVM)開発コミュニティへのフィードバッへの協力
 PostgreSQL開発コミュニティへのフィードバッ者メーリングリストでの議論にメーリングリス株式会社トせずにでの議論する方向で、そのための事前調査をに向けた取り組み

参加メンバ– 20通以上のレビュー・意見を投稿のレビュー・意見られる実行計画の問題事例をフィードバック投稿

 GitHubでのレビュー、テス株式会社トせずにで協力
 10個ののIssueの登録、修正確認を実施をフィードバック実施

IVM開発コミュニティへのフィードバッは制限がある現在も進行中も継続する提案が過去何度かあった中 PostgreSQL 14に向けた取り組み入れるのが目標れる課題が解決されのが解決され目標

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

15

Incremental View Maintenance (IVM)の特徴
 IVMのメリットせずに

 元のテーブルを更新してものテーブルをフィードバック更新をリアルタイムかつ高する課題が解決されとフィードバック方法の検Materialized viewも自動的に向けた取り組み更新をリアルタイムかつ高される課題が解決され
 必要な部分だけmaterialized viewをフィードバック更新をリアルタイムかつ高する課題が解決されので高速に行う機能
 更新をリアルタイムかつ高は制限があるリアルタイムで行ったわれる課題が解決され
 トせずにリガを使っは制限がある元のテーブルを更新してものテーブルに向けた取り組み自動設定にされる課題が解決され。自前のトリガは必要自前のトせずにリガを使っは制限がある必要ない。自前のトリガは必要

 トせずにリガを使っのコーディへのフィードバックに向けた取り組みングに向けた取り組み起きてもアボートせずに因する性能課題する課題が解決されバグをフィードバック心に、配しなくて良いしなくて良の解決策を探りたいいCopyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

16

Incremental View Maintenance (IVM)の]特徴
 IVMの課題をフィードバック すべてのSELECTに向けた取り組み対する取り組み応しているわけではない。している課題が解決されわけでは制限があるない。自前のトリガは必要2020/8/4時点で以下を含むで以下は現在も進行中をフィードバック含むむSELECTに向けた取り組みは制限がある対する取り組み応しているわけではない。していない

 WITH句、WINDOW関する開発コミュニティでの議論分析数、UNION/INTERSECT/EXC

EPT、FOR UPDATE/SHARE、GROUPING SETS、複雑な副問合せ、な副問合せられるようにユーせ、OUTER JOINの一部、ユーザの声が届く！定に義集約

 TPC-DSの99本のクに向けた取り組みエリのうち、20本をフィードバックサポートせずに–

TPC-DSとフィードバック方法の検は制限がある、ベンチマークに向けた取り組み標準化団体TPCが解決され定に義した取り組み意思決され定に支援システムをモデル化したベンチマークシス株式会社テムをフィードバックモデル化した取り組みベンチマークに向けた取り組み 元のテーブルを更新してもに向けた取り組みなった取り組みテーブル(base table)をフィードバック更新をリアルタイムかつ高する課題が解決され際にトリガのオーバに向けた取り組みトせずにリガを使っのオーバヘッドが解決されか使えないか使えないる課題が解決され

 このテーブルをフィードバック参照しているしている課題が解決されIVMの数が解決され多いほどオーバヘッいほどオーバヘッドも大きく分けて機能改善と性能改善の提案があるきくなる課題が解決されCopyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

17

Incremental View Maintenance (IVM)の利用に向け 使えないい方 例：pgbench(PostgreSQLの付属ベンチマークツーベンチマークに向けた取り組みツール)が解決され生成するする課題が解決され1000万件のテーブルの行数をカウントのテーブルの行った数をフィードバックカウントせずにする課題が解決されクに向けた取り組みエリのマテリアライズドビューをフィードバック作りたいり組みのご紹介た取り組みい●

PostgreSQLでは制限がある行った数カウントせずには制限がある順ス株式会社キャンに向けた取り組みなり組みのご紹介、大きく分けて機能改善と性能改善の提案があるきなテーブルでは制限がある遅いくなり組みのご紹介が解決されち CREATE INCREMENTAL MATERIALIZED VIEW mv1

AS SELECT count(*) FROM pgbench_accounts; ビューの参照しているSELECT * FROM mv1;
count---------10000000(1 row)
Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

18

Incremental View Maintenance (IVM)の利用に向け
 使えないい方 データ更新をリアルタイムかつ高●●データ更新をリアルタイムかつ高は制限がある元のテーブルを更新してもに向けた取り組みなった取り組みテーブル(base table、ここでは制限があるpgbench_accounts)をフィードバック普通に向けた取り組み更新をリアルタイムかつ高する課題が解決され。自前のトリガは必要更新をリアルタイムかつ高結果を保存し、次回以降は制限がある直すので遅いちに向けた取り組みビューに向けた取り組み反映されるされる課題が解決され
DELETE FROM pgbench_accounts WHERE aid =1;

 結果を保存し、次回以降の参照しているは制限があるビューをフィードバックSELECTする課題が解決されだけ。自前のトリガは必要ビューの作りたいり組みのご紹介直すので遅いしや、REFRESHは制限がある必要ない
SELECT * FROM mv1;
count---------9999999(1 row)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

19

Incremental View Maintenance (IVM)の利用に向け サポートせずにしていない問い合せられるようにユーわせでビューをフィードバック作りたい成する

しようとフィードバック方法の検した取り組みら？

 CREATE INCREMENTAL MATERIALIZED VIEWをフィードバック発コミュニティへのフィードバッ行った

した取り組み段階でエラーとなるでエラーとフィードバック方法の検なる課題が解決され●

ERROR: CTE is not supported with IVM

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

20

Incremental View Maintenance (IVM)の利用に向け
 インデックに向けた取り組みス株式会社は制限がある必要？

 なくても動くが解決され、インデックに向けた取り組みス株式会社をフィードバック作りたいった取り組み方が解決され格段に向けた取り組み速に行う機能

くなる課題が解決されことフィードバック方法の検が解決されある課題が解決され。自前のトリガは必要●●

ベース株式会社テーブルに向けた取り組みインデックに向けた取り組みス株式会社をフィードバック作りたい成する
ビューの行った数が解決され大きく分けて機能改善と性能改善の提案があるきい場で見られる実行計画の問題事例合せられるようにユーは制限がある、ビューに向けた取り組みもインデックに向けた取り組みス株式会社をフィードバック作りたい成する

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

21

Incremental View Maintenance (IVM)の性能
 想定にシナリオ– 大きく分けて機能改善と性能改善の提案があるきなテーブル(pgbench_accounts)の行った数をフィードバックリアルタイムで知りたいり組みのご紹介た取り組みい●●●

方法の検1: 普通に向けた取り組みSELECT count(*)する課題が解決され方法の検2: Materialized viewをフィードバック作りたいり組みのご紹介、pgbenc
h_accountsが解決され更新をリアルタイムかつ高された取り組みらビューをフィードバックREFRESHしてか使えないらビューをフィードバックSELECTする課題が解決され方法の検3: Incremental Materialized viewをフィードバック作りたい
り組みのご紹介、pgbench_accountsが解決され更新をリアルタイムかつ高した取り組みらビ
ビューをフィードバックSELECTする課題が解決されCopyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

22

Incremental View Maintenance (IVM)の性能
DELETE FROM pgbench_accounts WHERE aid = 1;
 方法の検1: SELECTをフィードバックそのまま実行った●370.214ms

 方法の検2: base tableのDELETE+ビューのREFRESH, cou

nt数取り組みのご紹介得●

1,122.455ms

 方法の検3: base tableのDELETE+IVMか使えないらcount数をフィードバック取り組みのご紹介得●

1.636ms

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

23

Incrementa View Maintenance (IVM)の性能
10,000

実行時間 ( ミリ秒秒 )

1,000

100

101
方法 1 (SELECT)

方法 2 (VIEW+REFRESH))

方法 3 (IVM)

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

24おわり組みに

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

25

2020年度に向けた取り組み向けた取り組みけて 現在も進行中の取り組みのご紹介り組みのご紹介組みのご紹介みをフィードバック継続する提案が過去何度かあった

 エンタープライズ領域へのでの技術的課題をフィードバック詳細化をフィードバック継続する提案が過去何度かあった

 実行った計画に起因する性能課題をフィードバック制御できないできないた取り組みめに向けた取り組み発コミュニティへのフィードバッ生する課題が解決され課題をフィードバックの収集
 Incremental View Maintenaceの開発コミュニティへのフィードバッ支援システムをモデル化したベンチマーク

 コミュニティへのフィードバックに向けた取り組みへのフィへのフィードバックに向けた取り組みードバックに向けた取り組み活動をフィードバック活性化
 実行った計画に起因する性能課題に向けた取り組みつ高いての課題をフィードバックをフィードバック投稿して解決されへとフィードバック方法の検導くく
 COPY関する開発コミュニティでの議論分析係の改善議論へのフィードバックの改善への協力議論する方向で、そのための事前調査をへのフィへのフィードバックに向けた取り組みードバックに向けた取り組み
 Incremental View Maintenaceの議論する方向で、そのための事前調査をへのフィへのフィードバックに向けた取り組みード

バックに向けた取り組み

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

26

皆様へのお願いへのお願いい 今年度（2020年度）は制限がある、ヒントせずに句やIncremental View MaintenaceなどのPostgreSQLの改善への協力活動の支援システムをモデル化したベンチマークに向けた取り組み取り組みのご紹介り組みのご紹介組みのご紹介む予定にです 是非皆様へのお願いのご紹介意見られる実行計画の問題事例をフィードバックお寄せくださいせください

皆さんか使えないらのフィへのフィードバックに向けた取り組みードバックに向けた取り組みが解決されより組みのご紹介よいPostgreSQLをフィードバック作りたいる課題が解決され原動力に向けた取り組みなり組みのご紹介ます 一緒にフィードバックに活動しませんか？に向けた取り組みフィへのフィードバックに向けた取り組みードバックに向けた取り組みに向けた取り組み活動しませんか使えない？

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

27

Copyright © PostgreSQL Enterprise Consortium, All Rights Reserved.

28