SlideShare a Scribd company logo
1 of 48
Download to read offline
Copyright©2016 NTT corp. All Rights Reserved.
祝リリース!PostgreSQL 9.6新機能紹介!
~長年待ち望まれてきた機能から、NTTデータ、NTTOSSセン
タがホンキで開発貢献した機能までトコトン解説~
日本電信電話株式会社
NTTオープンソースソフトウェアセンタ
澤田 雅彦
@NTTデータオープンソースDAY 2016 (11/16)
2Copyright©2016 NTT corp. All Rights Reserved.
1. PostgreSQLについて簡単に紹介
2. PostgreSQL9.6新機能紹介
3. 今後のPostgreSQL
4. まとめ
目次
3Copyright©2016 NTT corp. All Rights Reserved.
• PostgreSQL Global Development Groupが主体となり開発
• 1994年にSQLをサポートし、1996年にPostgreSQLに名前
を変えた
• 今年20周年
• 最新バージョンは9.6.1 (10/27リリース)
• 同時に9.1系がEOL
PostgreSQLとは?
4Copyright©2016 NTT corp. All Rights Reserved.
• Uberの記事 (7月26日)
• “Why Uber Engineering Switched from Postgres to MySQL”
• 初PGConf.ASIA 2016開催予定 (12月1,2,3日@秋葉原)
• アジアを横断したPostgreSQLの国際カンファレンス
• 第二回PgDay Asia 2017開催予定(2017年3月@シンガポール)
• アジアを横断したPostgreSQLの国際カンファレンス
最近話題になっているPostgreSQL
5Copyright©2016 NTT corp. All Rights Reserved.
PostgreSQL 9.6新機能紹介
6Copyright©2016 NTT corp. All Rights Reserved.
2011
2012
2013
PostgreSQLは、年1回のメジャーバージョンアップをし
ています。
PostgreSQLのこれまで
9.1 (2011-09)
・同期レプリケーション
9.2 (2012-09)
・大幅な性能向上
9.3 (2013-09)
・マテリアライズドビューの実装
・更新可能ビューの実装
・フェイルオーバ時間の大幅な短縮
・DDLトリガの実装
2014
9.4(2014-12)
・更新ログの書き出し性能向上
・マテリアライズドビューの改善
・遅延レプリケーションの実装
・ロジカルデコーディングの実装
2015
9.6(2016-9)
・パラレルクエリ
・VACUUM性能向上
・マルチ同期レプリケーション
・FDW強化
本日ご紹介部分
2016
9.5(2016-1)
・UPSERTの実装
・BRINの実装
・Row-Level Securityの実装
・pg_rewindのコア機能化
・同時実行性の改善
7Copyright©2016 NTT corp. All Rights Reserved.
主要機能を解説します
性能向上
• パラレルクエリ
VACUUMの性能、運用性向上
• Freeze Map
• VACUUM進捗
レプリケーション
• マルチ同期レプリケーション
外部データ連携(FDW)
• FDW強化
8Copyright©2016 NTT corp. All Rights Reserved.
パラレルクエリ
(Robert Haas, Amit Kapila, David Rowley, many others)
“Parallelism” by Maciej Meller
9Copyright©2016 NTT corp. All Rights Reserved.
多くのユーザが待ち望んでいた機能の一つ
https://postgresql.uservoice.com/forums/21853-general
10Copyright©2016 NTT corp. All Rights Reserved.
CPU
パラレルクエリってどんな機能? -これまでのPG -
サーバプロセス
巨大なテーブル
SELECT *
FROM tbl;
• 1つのSQLを1つのプロセスでしか処理できない
• 巨大なテーブルを扱うと、処理に時間がかかってしまう
• 特に集計、結合処理を行うと1プロセスにかかる負担は増大する
スキャン
11Copyright©2016 NTT corp. All Rights Reserved.
CPU
CPU
CPU
サーバプロセス
パラレルクエリってどんな機能?
巨大なテーブル
SELECT *
FROM tbl;
サーバプロセス
サーバプロセス
スキャン
スキャン
スキャン
連携
連携
• 1つのSQLを複数のプロセスで分担して処理できる
• 1つのSQL処理速度が向上する
• CPUリソースを効率的に使うことができる
• パラレルクエリはシーケンシャルスキャン、結合処理、集計処理で有効
12Copyright©2016 NTT corp. All Rights Reserved.
パラレルクエリ実現には以下の機能が必要
① 実際に処理を行うプロセスを制御する機能
② プロセス間のコミュニケーション領域を作る機能
③ 並列処理中は一貫した情報を見えるようにする機能
④ 並列結果をまとめる機能
⑤ 並列処理を意識した実行計画を立てる
PostgreSQLコミュニティが長年準備してきた機能の一つ
PG9.3
(2013)
PG9.4
(2014)
① ワーカープロセスを
動的に起動可能
② 共有メモリを動的
に確保可能
③ ワーカープロセス
で一貫した情報
がみれる機能
④ 並列処理結果をまと
める機能
⑤ 並列処理を意識した
実行計画を立てる
① 独自のワーカー
プロセスが定義、
起動可能
完成
PG9.5
(2015)
PG9.6
(2016)
13Copyright©2016 NTT corp. All Rights Reserved.
9.6でパラレル(並列)処理できるのは、
検索と集計と結合
何がパラレルになる?
Seq Scan Nested Loop Join
Hash Join
avg()
min()
max()
count()
など
14Copyright©2016 NTT corp. All Rights Reserved.
これまでの集計処理
集計
(Agg)
集計
結果
テーブルスキャン
(SeqScan)
テーブル
=# SELECT count(*) FROM test_table;
1プロセスで
スキャン、集計を
実施
15Copyright©2016 NTT corp. All Rights Reserved.
集計処理の並列化
部分集計
(Partial Agg)
部分集計
(Partial Agg)
部分集計
(Partial Agg)
集める
(Gather)
集計
結果
集計
結果
集計
結果
集計
結果
テーブルスキャン
(Partial SeqScan)
テーブルスキャン
(Partial SeqScan)
テーブルスキャン
(Partial SeqScan)
集計
結果
集計
結果
テーブル
集計
結果
• テーブルスキャン、集計を並列で実行可能
• 各プロセスで部分的な集計を行い、最後に結果をまとめる
行数/3
行数/3
行数/3
最終集計
(Final Agg)
16Copyright©2016 NTT corp. All Rights Reserved.
これまでの結合処理
結合
(Nested Loop Join)
テーブルスキャン
(Partial SeqScan)
インデックススキャン
(IndexScan)
内部表
外部表
=# SELECT id FROM hoge h, bar b WHERE h.id = b.id;
17Copyright©2016 NTT corp. All Rights Reserved.
結合処理の並列化
結合
(Nested Loop Join)
テーブルスキャン
(Partial SeqScan)
インデックススキャン
(IndexScan)
結合
(Nested Loop Join)
テーブルスキャン
(Partial SeqScan)
インデックススキャン
(IndexScan)
内部表 内部表
結果をまとめる
(Gather)
外部表
• 各プロセスで外部表のスキャン、内部表との結合を実施
• Hash Joinも並列実行可能
行数/2
行数/2
18Copyright©2016 NTT corp. All Rights Reserved.
• クエリ実行の並列度を変えて全件スキャンを実施
• CPUコア数分(並列度4)までクエリが高速化した
どれくらい速くなる?
0
5
10
15
20
25
1 2 3 4 5
実行時間(秒)
並列度
13GBテーブルの全件スキャン
CPU:4コア
メモリ:32GB
約1/4の
実行時間
19Copyright©2016 NTT corp. All Rights Reserved.
• 並列度決定に物理CPU数は考慮されない
• テーブルサイズを元に並列度を算出
• CPUコア数以上の並列度が設定されないように
• ディスクI/Oに気を使おう!
使用上の注意点
20Copyright©2016 NTT corp. All Rights Reserved.
• 1つのSQL処理を複数のCPUで並列に実行
• 1つのSQL処理速度を上げる機能
• Seq Scan、Nested Loop Join、Hash Join、集計が対応
• 更新、削除、ソート、Merge Join、Index Scanは未対応
• 「並列に処理する実行計画」も含み、最適な実行計画が選択
される
• “パラレルクエリを使った方が遅い”と判断されることも
• 並列度はテーブルサイズを元に設定される
絶賛機能、性能検証中!
詳しい情報は随時発信していきます!
パラレルクエリ まとめ
21Copyright©2016 NTT corp. All Rights Reserved.
PostgreSQLが管理するトランザクションIDのメンテナン
スのために、定期的(デフォルトでは2億トランザクショ
ン毎)にデータベース全体のVACUUMが実行されます。
9.5までのPostgreSQL
いつも通りの処理♪
急にDB全体が
重くなった!
半年後の
ある日
22Copyright©2016 NTT corp. All Rights Reserved.
=# SELECT pid, state,
now() – query_start as duration, query
FROM pg_stat_activity;
-[ RECORD 1 ]---------------------------------------
pid | 43556
query | autovacuum: VACUUM
| public.very_large_table (to prevent
| wraparound)
state | active
duration | 5 days 18:50:44.256561
②
5日間以上
VACUUM
実行中
PostgreSQLで実行されているSQLの状況を見てみると・・・
①
“to prevent wraparound”
が付いている
23Copyright©2016 NTT corp. All Rights Reserved.
Freeze Map
(Masahiko Sawada, Robert Haas)
The Unsung Founders Memorial at UNC. It's an interesting table sculpture dedicated
to the men and women of color who helped build the University. by Jed Record
24Copyright©2016 NTT corp. All Rights Reserved.
非常に重要な機能
(でも内部の細かい話になるので、その重要さが伝わりづらい。。)
Freeze Mapとは?
25Copyright©2016 NTT corp. All Rights Reserved.
内部構造に興味がある方は
http://www.slideshare.net/pgdayasia/introduction-to-vacuum-freezing-and-xid
26Copyright©2016 NTT corp. All Rights Reserved.
このVACUUM(通称XID周回防止VACUUM)では全テーブルを問答
無用でフルスキャン
• ディスクI/OやCPUを消費
• DBサイズに比例してより大きい影響を受けやすくなる
XID周回防止VACUUMがいつ発生するかはPostgreSQL次第
• 繁忙期、閑散期関係なく実行される
• ただし、事前に意識的にメンテナンスしておくことで、ある程度制御す
ることは可能
キャンセルできるが、実行しないままでいると、PostgreSQLがあ
る日突然停止する
Q. なぜ今になって解決されたのか?(これまで問題にならなかったのか?)
A. 近年DBに格納するデータが大きくなってきたことにより、問題
が顕在化してきたため。
甘く見ていると危険
27Copyright©2016 NTT corp. All Rights Reserved.
• これらの悩みを解消
• デフォルトで有効
• オーバーヘッドを極力少なくなるように実装しているため、新
機能導入によるデメリットはほぼない
• OFFにできない
• DBMSの重要な部分を改変したため、万が一のときの対
処策も一緒に追加
• pg_visibilityモジュール
• pg_truncate_visibility_map
• pg_check_visible, pg_check_frozen
• VACUUM (DISABLE_PAGE_SKIPPING)
Freeze Map
28Copyright©2016 NTT corp. All Rights Reserved.
=# SELECT pid, state,
now() – query_start as duration, query
FROM pg_stat_activity;
-[ RECORD 1 ]---------------------------------------
pid | 43556
query | autovacuum: VACUUM
| public.very_large_table (to prevent
| wraparound)
state | active
duration | 5 days 18:50:44.256561
②
5日間以上
VACUUM
実行中
PostgreSQLで実行されているSQLの状況を見てみると・・・
①
“to prevent wraparound”
が付いている
29Copyright©2016 NTT corp. All Rights Reserved.
Vacuum Progress Checker
(Amit Langote, Robert Haas, Vinayak Pokale, Rahila Syed)
30Copyright©2016 NTT corp. All Rights Reserved.
• VACUUMの進捗状況をレポートするビューが導入
• どのテーブルのVACUUMが、どれくらい進んでいるのかを数値でレ
ポート
VACUUMの進捗状況が見える
=# ¥d pg_stat_progress_vacuum
Column | Type | Modifiers
-------------------+---------+----------
pid | integer |
datid | oid |
datname | name |
relid | oid |
phase | text |
heap_blks_total | bigint |
heap_blks_scanned | bigint |
heap_blks_vacuumed | bigint |
index_vacuum_count | bigint |
max_dead_tuples | bigint |
num_dead_tuples | bigint |
31Copyright©2016 NTT corp. All Rights Reserved.
=# SELECT pid, datname, relname,
((heap_blks_scanned / heap_blks_total::numeric(10,2)) *
100)::numeric(10,2) as percentage,
p.phase,
index_vacuum_count
FROM pg_stat_progress_vacuum as p, pg_class as c
WHERE p.relid = c.oid;
-[ RECORD 1 ]------+-----------------
pid | 100026
datname | postgres
relname | pgbench_accounts
percentage | 19.72
phase | scanning heap
index_vacuum_count | 10
-[ RECORD 2 ]------+-----------------
pid | 100027
datname | postgres
relname | very_large_table
percentage | 95.12
phase | scanning heap
index_vacuum_count | 300
進捗状況の確認やチューニングにも使える
他ビューと組み合わせることで、
・VACUUM対象のテーブル
・進捗状況(パーセンテージ)
・今何をしているか
・VACUUMの効率
など算出可能
32Copyright©2016 NTT corp. All Rights Reserved.
主要機能を解説します
性能向上
• パラレルクエリ
VACUUMの性能、運用性向上
• Freeze Map
• VACUUM進捗
レプリケーション
• マルチ同期レプリケーション
外部データ連携(FDW)
• FDW強化
33Copyright©2016 NTT corp. All Rights Reserved.
レプリケーション機能の歴史
9.0
(2010)
9.4
(2014)
9.5
(2015)
9.6
(2016)
9.2
(2012)
9.3
(2013)
9.1
(2011)
・同期
レプリケーション
・カスケード
レプリケーション
・スタンバイサーバへ
の高速切り替え
・レプリケーションスロット
・ロジカルデコーディング
・高速フェイル
オーバー
M S S
M S
S
レプリケーション機能の拡充、使いやすさの向上
・非同期
レプリケーション
34Copyright©2016 NTT corp. All Rights Reserved.
マルチ同期レプリケーション
(Masahiko Sawada, Beena Emerson, Michael Paquier,
Fujii Masao, Kyotaro Horiguchi)
Polska > Kraków by antifluor
35Copyright©2016 NTT corp. All Rights Reserved.
同期レプリケーション
http://www.slideshare.net/hadoopxnttdata/postgresql-39739357
36Copyright©2016 NTT corp. All Rights Reserved.
PG9.5 までのレプリケーション
マスタ
スタンバイ
A
スタンバイ
B
スタンバイ
C
同期
レプリケーション
非同期
レプリケーション
非同期
レプリケーション
• マスタサーバは複数のスタンバイサーバを持つことができるが、同期レプリケーションを使用
できるのは最大1台まで
同期レプリケーションを
使えるのはスタンバイAの1台のみ
37Copyright©2016 NTT corp. All Rights Reserved.
マルチ同期レプリケーション
マスタ
スタンバイ
A
スタンバイ
B
スタンバイ
C
同期
レプリケーション
同期
レプリケーション
非同期
レプリケーション
• 複数のスタンバイサーバに対して同期レプリケーションを使用可能
• より高可用な構成を組むことが可能に
スタンバイAとスタンバイBに
同期レプリケーションを使用
38Copyright©2016 NTT corp. All Rights Reserved.
構成例
マスタ
● 同期レプリケーションを使用したWAL二重書き込み(pg_receivexlog使用)
WAL
WAL
のみ
スタンバイ
同期
レプリケーション
同期
レプリケーション
● 同一DC内に同期スタンバイを複数配置
マスタ
スタンバイ
スタンバイ
同期
レプリケーション
同期
レプリケーション
39Copyright©2016 NTT corp. All Rights Reserved.
Foreign Data Wrapper(FDW)強化
(Etsuro Fujita, Shigeru Hanada, Ashutosh Bapat)
pot shards by psyberartist
40Copyright©2016 NTT corp. All Rights Reserved.
新機能紹介の前に - Foreign Data Wrapper(FDW)とは?
ID, COL
100, 北海道
200, 青森県
id col
100 北海道
200 青森県
id col
100 北海道
200 青森県
PostgreSQL
Oracle
CSVファイル
oracle_fdw
file_fdw
SELECT id, col
FROM tbl
外部データをあたかもPostgreSQLのデータとして扱える機能
41Copyright©2016 NTT corp. All Rights Reserved.
• postgres_fdwを使った分散処理構成は、「どれだけ外部サーバで処理させ
るか」が重要
• 親サーバが全てのデータを取得して計算、では外部サーバを使うメリットを生かせな
い
• 演算子、条件句も一緒に送る(Push Downする)ことが大切
分散処理基盤を続々と強化中
SELECT price
FROM 3月分
WHERE genre = …
1,2月分
postgres_fdw
子サーバ
3,4月分 5,6月分
SELECT …
WHERE …
親サーバ
42Copyright©2016 NTT corp. All Rights Reserved.
• 参照
• スキャンやWHERE句により絞込み外部サーバで実行される
• New!! 結合、ソート処理も外部サーバのリソースが使える
• 更新
• New!! 更新、削除を外部サーバに依頼可能
挿入、集計、他の結合等は現在開発中!
分散処理基盤を続々と強化中
43Copyright©2016 NTT corp. All Rights Reserved.
今後のPostgreSQL
Future Energy by Floris Oosterveld
44Copyright©2016 NTT corp. All Rights Reserved.
• PostgreSQL開発に注力している会社が、PostgreSQL開発
のロードマップを公開
• パラレルクエリ導入が、PostgreSQLの様々な処理のパラレル化
を加速
• ロジカルレプリケーションを含め、様々なレプリケーション機
能が追加されていく
• 外部データ連携機能(FDW)がさらに強化されていく
• パーティショニング専用の構文が導入され、簡単に使えるよう
になる
https://wiki.postgresql.org/wiki/PostgreSQL10_Roadmap
• PostgreSQLのバージョニングが変わる
今後のPostgreSQL
45Copyright©2016 NTT corp. All Rights Reserved.
バージョニングが変わります!
~PG9.6 PG10~
9.6.0
9.5.0
メジャー マイナー
9.5.1 11.0
10.0
メジャー マイナー
10.1
46Copyright©2016 NTT corp. All Rights Reserved.
• 本日はPG9.6の目玉機能を紹介しました
• PostgreSQL 9.6でパラレルクエリを初めとした200以上の
機能が追加されました
• NTTデータ、NTT OSSセンタが開発貢献した機能も多数
• 大規模データの管理、処理がH/Wリソースを効率的に使
いながら可能になった
• 今後のPostgreSQLはパラレル化、レプリケーション強化
にも期待
まとめ
47Copyright©2016 NTT corp. All Rights Reserved.
ご清聴ありがとうございました
48Copyright©2016 NTT corp. All Rights Reserved.
• Too old snapshot
• Idle_in_transaction_session_timeout
• CREATE ACCESS METHOD
• Generic WAL Interface
• Bloomインデックス
• 類似度検索の強化(Word Similarity Search)
• 待機イベント
• postgres_fdwで演算子をPush Down可能に
• 部分インデックスを使用した、Index Only Scan
(参考) その他の改善

More Related Content

What's hot

pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
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
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)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
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングKosuke Kida
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめOhyama Masanori
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_walinspectについて調べてみた!(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Memoizeの仕組み(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
使ってみませんか?pg_hint_plan
使ってみませんか?pg_hint_plan使ってみませんか?pg_hint_plan
使ってみませんか?pg_hint_plan
 
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニングまずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Similar to PostgreSQL 9.6 新機能紹介

今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
ISUCON夏期講習2015_2 実践編
ISUCON夏期講習2015_2 実践編ISUCON夏期講習2015_2 実践編
ISUCON夏期講習2015_2 実践編SATOSHI TAGOMORI
 
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...Insight Technology, Inc.
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...Insight Technology, Inc.
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージRakuten Group, Inc.
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーションNTT Software Innovation Center
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)NTT DATA OSS Professional Services
 
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Takuya Iwatsuka
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証BrainPad Inc.
 
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
 
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)NTT DATA Technology & Innovation
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...Tomoya Hibi
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方Fujishiro Takuya
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...Insight Technology, Inc.
 

Similar to PostgreSQL 9.6 新機能紹介 (20)

今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
ISUCON夏期講習2015_2 実践編
ISUCON夏期講習2015_2 実践編ISUCON夏期講習2015_2 実践編
ISUCON夏期講習2015_2 実践編
 
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
[db tech showcase Tokyo 2015] B15:最新PostgreSQLはパフォーマンスが飛躍的に向上する!? - PostgreSQ...
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
Prometech Particleworks on Rescale
Prometech Particleworks on RescalePrometech Particleworks on Rescale
Prometech Particleworks on Rescale
 
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
[db tech showcase Tokyo 2016] B31: Spark Summit 2016@SFに参加してきたので最新事例などを紹介しつつデ...
 
楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ楽天のプライベートクラウドを支えるフラッシュストレージ
楽天のプライベートクラウドを支えるフラッシュストレージ
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
 
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
Sparkパフォーマンス検証
Sparkパフォーマンス検証Sparkパフォーマンス検証
Sparkパフォーマンス検証
 
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 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
 
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
 
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントPostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例  by 株式会社日立製作所 ...
[db tech showcase Tokyo 2014] B33: 超高速データベースエンジンでのビッグデータ分析活用事例 by 株式会社日立製作所 ...
 

More from Masahiko Sawada

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...Masahiko Sawada
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLMasahiko Sawada
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -Masahiko Sawada
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLMasahiko Sawada
 
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Masahiko Sawada
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than everMasahiko Sawada
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~Masahiko Sawada
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and FutureMasahiko Sawada
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorMasahiko Sawada
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索Masahiko Sawada
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことMasahiko Sawada
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundMasahiko Sawada
 

More from Masahiko Sawada (20)

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQL
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQL
 
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...Database Encryption and Key Management for PostgreSQL - Principles and Consid...
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than ever
 
Vacuumとzheap
VacuumとzheapVacuumとzheap
Vacuumとzheap
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Parallel Vacuum
Parallel VacuumParallel Vacuum
Parallel Vacuum
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and Future
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
 
pg_bigmと類似度検索
pg_bigmと類似度検索pg_bigmと類似度検索
pg_bigmと類似度検索
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
 
Introduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparoundIntroduction VAUUM, Freezing, XID wraparound
Introduction VAUUM, Freezing, XID wraparound
 

PostgreSQL 9.6 新機能紹介

  • 1. Copyright©2016 NTT corp. All Rights Reserved. 祝リリース!PostgreSQL 9.6新機能紹介! ~長年待ち望まれてきた機能から、NTTデータ、NTTOSSセン タがホンキで開発貢献した機能までトコトン解説~ 日本電信電話株式会社 NTTオープンソースソフトウェアセンタ 澤田 雅彦 @NTTデータオープンソースDAY 2016 (11/16)
  • 2. 2Copyright©2016 NTT corp. All Rights Reserved. 1. PostgreSQLについて簡単に紹介 2. PostgreSQL9.6新機能紹介 3. 今後のPostgreSQL 4. まとめ 目次
  • 3. 3Copyright©2016 NTT corp. All Rights Reserved. • PostgreSQL Global Development Groupが主体となり開発 • 1994年にSQLをサポートし、1996年にPostgreSQLに名前 を変えた • 今年20周年 • 最新バージョンは9.6.1 (10/27リリース) • 同時に9.1系がEOL PostgreSQLとは?
  • 4. 4Copyright©2016 NTT corp. All Rights Reserved. • Uberの記事 (7月26日) • “Why Uber Engineering Switched from Postgres to MySQL” • 初PGConf.ASIA 2016開催予定 (12月1,2,3日@秋葉原) • アジアを横断したPostgreSQLの国際カンファレンス • 第二回PgDay Asia 2017開催予定(2017年3月@シンガポール) • アジアを横断したPostgreSQLの国際カンファレンス 最近話題になっているPostgreSQL
  • 5. 5Copyright©2016 NTT corp. All Rights Reserved. PostgreSQL 9.6新機能紹介
  • 6. 6Copyright©2016 NTT corp. All Rights Reserved. 2011 2012 2013 PostgreSQLは、年1回のメジャーバージョンアップをし ています。 PostgreSQLのこれまで 9.1 (2011-09) ・同期レプリケーション 9.2 (2012-09) ・大幅な性能向上 9.3 (2013-09) ・マテリアライズドビューの実装 ・更新可能ビューの実装 ・フェイルオーバ時間の大幅な短縮 ・DDLトリガの実装 2014 9.4(2014-12) ・更新ログの書き出し性能向上 ・マテリアライズドビューの改善 ・遅延レプリケーションの実装 ・ロジカルデコーディングの実装 2015 9.6(2016-9) ・パラレルクエリ ・VACUUM性能向上 ・マルチ同期レプリケーション ・FDW強化 本日ご紹介部分 2016 9.5(2016-1) ・UPSERTの実装 ・BRINの実装 ・Row-Level Securityの実装 ・pg_rewindのコア機能化 ・同時実行性の改善
  • 7. 7Copyright©2016 NTT corp. All Rights Reserved. 主要機能を解説します 性能向上 • パラレルクエリ VACUUMの性能、運用性向上 • Freeze Map • VACUUM進捗 レプリケーション • マルチ同期レプリケーション 外部データ連携(FDW) • FDW強化
  • 8. 8Copyright©2016 NTT corp. All Rights Reserved. パラレルクエリ (Robert Haas, Amit Kapila, David Rowley, many others) “Parallelism” by Maciej Meller
  • 9. 9Copyright©2016 NTT corp. All Rights Reserved. 多くのユーザが待ち望んでいた機能の一つ https://postgresql.uservoice.com/forums/21853-general
  • 10. 10Copyright©2016 NTT corp. All Rights Reserved. CPU パラレルクエリってどんな機能? -これまでのPG - サーバプロセス 巨大なテーブル SELECT * FROM tbl; • 1つのSQLを1つのプロセスでしか処理できない • 巨大なテーブルを扱うと、処理に時間がかかってしまう • 特に集計、結合処理を行うと1プロセスにかかる負担は増大する スキャン
  • 11. 11Copyright©2016 NTT corp. All Rights Reserved. CPU CPU CPU サーバプロセス パラレルクエリってどんな機能? 巨大なテーブル SELECT * FROM tbl; サーバプロセス サーバプロセス スキャン スキャン スキャン 連携 連携 • 1つのSQLを複数のプロセスで分担して処理できる • 1つのSQL処理速度が向上する • CPUリソースを効率的に使うことができる • パラレルクエリはシーケンシャルスキャン、結合処理、集計処理で有効
  • 12. 12Copyright©2016 NTT corp. All Rights Reserved. パラレルクエリ実現には以下の機能が必要 ① 実際に処理を行うプロセスを制御する機能 ② プロセス間のコミュニケーション領域を作る機能 ③ 並列処理中は一貫した情報を見えるようにする機能 ④ 並列結果をまとめる機能 ⑤ 並列処理を意識した実行計画を立てる PostgreSQLコミュニティが長年準備してきた機能の一つ PG9.3 (2013) PG9.4 (2014) ① ワーカープロセスを 動的に起動可能 ② 共有メモリを動的 に確保可能 ③ ワーカープロセス で一貫した情報 がみれる機能 ④ 並列処理結果をまと める機能 ⑤ 並列処理を意識した 実行計画を立てる ① 独自のワーカー プロセスが定義、 起動可能 完成 PG9.5 (2015) PG9.6 (2016)
  • 13. 13Copyright©2016 NTT corp. All Rights Reserved. 9.6でパラレル(並列)処理できるのは、 検索と集計と結合 何がパラレルになる? Seq Scan Nested Loop Join Hash Join avg() min() max() count() など
  • 14. 14Copyright©2016 NTT corp. All Rights Reserved. これまでの集計処理 集計 (Agg) 集計 結果 テーブルスキャン (SeqScan) テーブル =# SELECT count(*) FROM test_table; 1プロセスで スキャン、集計を 実施
  • 15. 15Copyright©2016 NTT corp. All Rights Reserved. 集計処理の並列化 部分集計 (Partial Agg) 部分集計 (Partial Agg) 部分集計 (Partial Agg) 集める (Gather) 集計 結果 集計 結果 集計 結果 集計 結果 テーブルスキャン (Partial SeqScan) テーブルスキャン (Partial SeqScan) テーブルスキャン (Partial SeqScan) 集計 結果 集計 結果 テーブル 集計 結果 • テーブルスキャン、集計を並列で実行可能 • 各プロセスで部分的な集計を行い、最後に結果をまとめる 行数/3 行数/3 行数/3 最終集計 (Final Agg)
  • 16. 16Copyright©2016 NTT corp. All Rights Reserved. これまでの結合処理 結合 (Nested Loop Join) テーブルスキャン (Partial SeqScan) インデックススキャン (IndexScan) 内部表 外部表 =# SELECT id FROM hoge h, bar b WHERE h.id = b.id;
  • 17. 17Copyright©2016 NTT corp. All Rights Reserved. 結合処理の並列化 結合 (Nested Loop Join) テーブルスキャン (Partial SeqScan) インデックススキャン (IndexScan) 結合 (Nested Loop Join) テーブルスキャン (Partial SeqScan) インデックススキャン (IndexScan) 内部表 内部表 結果をまとめる (Gather) 外部表 • 各プロセスで外部表のスキャン、内部表との結合を実施 • Hash Joinも並列実行可能 行数/2 行数/2
  • 18. 18Copyright©2016 NTT corp. All Rights Reserved. • クエリ実行の並列度を変えて全件スキャンを実施 • CPUコア数分(並列度4)までクエリが高速化した どれくらい速くなる? 0 5 10 15 20 25 1 2 3 4 5 実行時間(秒) 並列度 13GBテーブルの全件スキャン CPU:4コア メモリ:32GB 約1/4の 実行時間
  • 19. 19Copyright©2016 NTT corp. All Rights Reserved. • 並列度決定に物理CPU数は考慮されない • テーブルサイズを元に並列度を算出 • CPUコア数以上の並列度が設定されないように • ディスクI/Oに気を使おう! 使用上の注意点
  • 20. 20Copyright©2016 NTT corp. All Rights Reserved. • 1つのSQL処理を複数のCPUで並列に実行 • 1つのSQL処理速度を上げる機能 • Seq Scan、Nested Loop Join、Hash Join、集計が対応 • 更新、削除、ソート、Merge Join、Index Scanは未対応 • 「並列に処理する実行計画」も含み、最適な実行計画が選択 される • “パラレルクエリを使った方が遅い”と判断されることも • 並列度はテーブルサイズを元に設定される 絶賛機能、性能検証中! 詳しい情報は随時発信していきます! パラレルクエリ まとめ
  • 21. 21Copyright©2016 NTT corp. All Rights Reserved. PostgreSQLが管理するトランザクションIDのメンテナン スのために、定期的(デフォルトでは2億トランザクショ ン毎)にデータベース全体のVACUUMが実行されます。 9.5までのPostgreSQL いつも通りの処理♪ 急にDB全体が 重くなった! 半年後の ある日
  • 22. 22Copyright©2016 NTT corp. All Rights Reserved. =# SELECT pid, state, now() – query_start as duration, query FROM pg_stat_activity; -[ RECORD 1 ]--------------------------------------- pid | 43556 query | autovacuum: VACUUM | public.very_large_table (to prevent | wraparound) state | active duration | 5 days 18:50:44.256561 ② 5日間以上 VACUUM 実行中 PostgreSQLで実行されているSQLの状況を見てみると・・・ ① “to prevent wraparound” が付いている
  • 23. 23Copyright©2016 NTT corp. All Rights Reserved. Freeze Map (Masahiko Sawada, Robert Haas) The Unsung Founders Memorial at UNC. It's an interesting table sculpture dedicated to the men and women of color who helped build the University. by Jed Record
  • 24. 24Copyright©2016 NTT corp. All Rights Reserved. 非常に重要な機能 (でも内部の細かい話になるので、その重要さが伝わりづらい。。) Freeze Mapとは?
  • 25. 25Copyright©2016 NTT corp. All Rights Reserved. 内部構造に興味がある方は http://www.slideshare.net/pgdayasia/introduction-to-vacuum-freezing-and-xid
  • 26. 26Copyright©2016 NTT corp. All Rights Reserved. このVACUUM(通称XID周回防止VACUUM)では全テーブルを問答 無用でフルスキャン • ディスクI/OやCPUを消費 • DBサイズに比例してより大きい影響を受けやすくなる XID周回防止VACUUMがいつ発生するかはPostgreSQL次第 • 繁忙期、閑散期関係なく実行される • ただし、事前に意識的にメンテナンスしておくことで、ある程度制御す ることは可能 キャンセルできるが、実行しないままでいると、PostgreSQLがあ る日突然停止する Q. なぜ今になって解決されたのか?(これまで問題にならなかったのか?) A. 近年DBに格納するデータが大きくなってきたことにより、問題 が顕在化してきたため。 甘く見ていると危険
  • 27. 27Copyright©2016 NTT corp. All Rights Reserved. • これらの悩みを解消 • デフォルトで有効 • オーバーヘッドを極力少なくなるように実装しているため、新 機能導入によるデメリットはほぼない • OFFにできない • DBMSの重要な部分を改変したため、万が一のときの対 処策も一緒に追加 • pg_visibilityモジュール • pg_truncate_visibility_map • pg_check_visible, pg_check_frozen • VACUUM (DISABLE_PAGE_SKIPPING) Freeze Map
  • 28. 28Copyright©2016 NTT corp. All Rights Reserved. =# SELECT pid, state, now() – query_start as duration, query FROM pg_stat_activity; -[ RECORD 1 ]--------------------------------------- pid | 43556 query | autovacuum: VACUUM | public.very_large_table (to prevent | wraparound) state | active duration | 5 days 18:50:44.256561 ② 5日間以上 VACUUM 実行中 PostgreSQLで実行されているSQLの状況を見てみると・・・ ① “to prevent wraparound” が付いている
  • 29. 29Copyright©2016 NTT corp. All Rights Reserved. Vacuum Progress Checker (Amit Langote, Robert Haas, Vinayak Pokale, Rahila Syed)
  • 30. 30Copyright©2016 NTT corp. All Rights Reserved. • VACUUMの進捗状況をレポートするビューが導入 • どのテーブルのVACUUMが、どれくらい進んでいるのかを数値でレ ポート VACUUMの進捗状況が見える =# ¥d pg_stat_progress_vacuum Column | Type | Modifiers -------------------+---------+---------- pid | integer | datid | oid | datname | name | relid | oid | phase | text | heap_blks_total | bigint | heap_blks_scanned | bigint | heap_blks_vacuumed | bigint | index_vacuum_count | bigint | max_dead_tuples | bigint | num_dead_tuples | bigint |
  • 31. 31Copyright©2016 NTT corp. All Rights Reserved. =# SELECT pid, datname, relname, ((heap_blks_scanned / heap_blks_total::numeric(10,2)) * 100)::numeric(10,2) as percentage, p.phase, index_vacuum_count FROM pg_stat_progress_vacuum as p, pg_class as c WHERE p.relid = c.oid; -[ RECORD 1 ]------+----------------- pid | 100026 datname | postgres relname | pgbench_accounts percentage | 19.72 phase | scanning heap index_vacuum_count | 10 -[ RECORD 2 ]------+----------------- pid | 100027 datname | postgres relname | very_large_table percentage | 95.12 phase | scanning heap index_vacuum_count | 300 進捗状況の確認やチューニングにも使える 他ビューと組み合わせることで、 ・VACUUM対象のテーブル ・進捗状況(パーセンテージ) ・今何をしているか ・VACUUMの効率 など算出可能
  • 32. 32Copyright©2016 NTT corp. All Rights Reserved. 主要機能を解説します 性能向上 • パラレルクエリ VACUUMの性能、運用性向上 • Freeze Map • VACUUM進捗 レプリケーション • マルチ同期レプリケーション 外部データ連携(FDW) • FDW強化
  • 33. 33Copyright©2016 NTT corp. All Rights Reserved. レプリケーション機能の歴史 9.0 (2010) 9.4 (2014) 9.5 (2015) 9.6 (2016) 9.2 (2012) 9.3 (2013) 9.1 (2011) ・同期 レプリケーション ・カスケード レプリケーション ・スタンバイサーバへ の高速切り替え ・レプリケーションスロット ・ロジカルデコーディング ・高速フェイル オーバー M S S M S S レプリケーション機能の拡充、使いやすさの向上 ・非同期 レプリケーション
  • 34. 34Copyright©2016 NTT corp. All Rights Reserved. マルチ同期レプリケーション (Masahiko Sawada, Beena Emerson, Michael Paquier, Fujii Masao, Kyotaro Horiguchi) Polska > Kraków by antifluor
  • 35. 35Copyright©2016 NTT corp. All Rights Reserved. 同期レプリケーション http://www.slideshare.net/hadoopxnttdata/postgresql-39739357
  • 36. 36Copyright©2016 NTT corp. All Rights Reserved. PG9.5 までのレプリケーション マスタ スタンバイ A スタンバイ B スタンバイ C 同期 レプリケーション 非同期 レプリケーション 非同期 レプリケーション • マスタサーバは複数のスタンバイサーバを持つことができるが、同期レプリケーションを使用 できるのは最大1台まで 同期レプリケーションを 使えるのはスタンバイAの1台のみ
  • 37. 37Copyright©2016 NTT corp. All Rights Reserved. マルチ同期レプリケーション マスタ スタンバイ A スタンバイ B スタンバイ C 同期 レプリケーション 同期 レプリケーション 非同期 レプリケーション • 複数のスタンバイサーバに対して同期レプリケーションを使用可能 • より高可用な構成を組むことが可能に スタンバイAとスタンバイBに 同期レプリケーションを使用
  • 38. 38Copyright©2016 NTT corp. All Rights Reserved. 構成例 マスタ ● 同期レプリケーションを使用したWAL二重書き込み(pg_receivexlog使用) WAL WAL のみ スタンバイ 同期 レプリケーション 同期 レプリケーション ● 同一DC内に同期スタンバイを複数配置 マスタ スタンバイ スタンバイ 同期 レプリケーション 同期 レプリケーション
  • 39. 39Copyright©2016 NTT corp. All Rights Reserved. Foreign Data Wrapper(FDW)強化 (Etsuro Fujita, Shigeru Hanada, Ashutosh Bapat) pot shards by psyberartist
  • 40. 40Copyright©2016 NTT corp. All Rights Reserved. 新機能紹介の前に - Foreign Data Wrapper(FDW)とは? ID, COL 100, 北海道 200, 青森県 id col 100 北海道 200 青森県 id col 100 北海道 200 青森県 PostgreSQL Oracle CSVファイル oracle_fdw file_fdw SELECT id, col FROM tbl 外部データをあたかもPostgreSQLのデータとして扱える機能
  • 41. 41Copyright©2016 NTT corp. All Rights Reserved. • postgres_fdwを使った分散処理構成は、「どれだけ外部サーバで処理させ るか」が重要 • 親サーバが全てのデータを取得して計算、では外部サーバを使うメリットを生かせな い • 演算子、条件句も一緒に送る(Push Downする)ことが大切 分散処理基盤を続々と強化中 SELECT price FROM 3月分 WHERE genre = … 1,2月分 postgres_fdw 子サーバ 3,4月分 5,6月分 SELECT … WHERE … 親サーバ
  • 42. 42Copyright©2016 NTT corp. All Rights Reserved. • 参照 • スキャンやWHERE句により絞込み外部サーバで実行される • New!! 結合、ソート処理も外部サーバのリソースが使える • 更新 • New!! 更新、削除を外部サーバに依頼可能 挿入、集計、他の結合等は現在開発中! 分散処理基盤を続々と強化中
  • 43. 43Copyright©2016 NTT corp. All Rights Reserved. 今後のPostgreSQL Future Energy by Floris Oosterveld
  • 44. 44Copyright©2016 NTT corp. All Rights Reserved. • PostgreSQL開発に注力している会社が、PostgreSQL開発 のロードマップを公開 • パラレルクエリ導入が、PostgreSQLの様々な処理のパラレル化 を加速 • ロジカルレプリケーションを含め、様々なレプリケーション機 能が追加されていく • 外部データ連携機能(FDW)がさらに強化されていく • パーティショニング専用の構文が導入され、簡単に使えるよう になる https://wiki.postgresql.org/wiki/PostgreSQL10_Roadmap • PostgreSQLのバージョニングが変わる 今後のPostgreSQL
  • 45. 45Copyright©2016 NTT corp. All Rights Reserved. バージョニングが変わります! ~PG9.6 PG10~ 9.6.0 9.5.0 メジャー マイナー 9.5.1 11.0 10.0 メジャー マイナー 10.1
  • 46. 46Copyright©2016 NTT corp. All Rights Reserved. • 本日はPG9.6の目玉機能を紹介しました • PostgreSQL 9.6でパラレルクエリを初めとした200以上の 機能が追加されました • NTTデータ、NTT OSSセンタが開発貢献した機能も多数 • 大規模データの管理、処理がH/Wリソースを効率的に使 いながら可能になった • 今後のPostgreSQLはパラレル化、レプリケーション強化 にも期待 まとめ
  • 47. 47Copyright©2016 NTT corp. All Rights Reserved. ご清聴ありがとうございました
  • 48. 48Copyright©2016 NTT corp. All Rights Reserved. • Too old snapshot • Idle_in_transaction_session_timeout • CREATE ACCESS METHOD • Generic WAL Interface • Bloomインデックス • 類似度検索の強化(Word Similarity Search) • 待機イベント • postgres_fdwで演算子をPush Down可能に • 部分インデックスを使用した、Index Only Scan (参考) その他の改善