Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
Masahiko Sawada
PDF, PPTX
7,764 views
PostgreSQL 12の話
Middlewares Deep Talksでの発表資料です。
Software
◦
Read more
2
Save
Share
Embed
Save to Drive
Download now
Download as PDF, PPTX
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
More Related Content
PDF
今秋リリース予定のPostgreSQL11を徹底解説
by
Masahiko Sawada
66 slides
10.5K views
PDF
TiDBのトランザクション
by
Akio Mitobe
27 slides
1.6K views
PDF
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
69 slides
32.2K views
PDF
Vacuumとzheap
by
Masahiko Sawada
25 slides
1.8K views
PDF
PostgreSQL10徹底解説
by
Masahiko Sawada
45 slides
12K views
PDF
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
by
Masahiko Sawada
49 slides
2.4K views
PDF
PostgreSQLによるデータ分析ことはじめ
by
Ohyama Masanori
79 slides
19K views
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
54 slides
13.5K views
今秋リリース予定のPostgreSQL11を徹底解説
by
Masahiko Sawada
66 slides
10.5K views
TiDBのトランザクション
by
Akio Mitobe
27 slides
1.6K views
アーキテクチャから理解するPostgreSQLのレプリケーション
by
Masahiko Sawada
69 slides
32.2K views
Vacuumとzheap
by
Masahiko Sawada
25 slides
1.8K views
PostgreSQL10徹底解説
by
Masahiko Sawada
45 slides
12K views
Database Encryption and Key Management for PostgreSQL - Principles and Consid...
by
Masahiko Sawada
49 slides
2.4K views
PostgreSQLによるデータ分析ことはじめ
by
Ohyama Masanori
79 slides
19K views
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
54 slides
13.5K views
What's hot
PDF
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
by
Insight Technology, Inc.
45 slides
1.1K views
PDF
PostgreSQL 9.6 新機能紹介
by
Masahiko Sawada
48 slides
18.3K views
PPTX
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
by
Insight Technology, Inc.
34 slides
608 views
PDF
Vacuum徹底解説
by
Masahiko Sawada
51 slides
7.5K views
PDF
20210731_OSC_Kyoto_PGStrom3.0
by
Kohei KaiGai
36 slides
412 views
PDF
20210511_PGStrom_GpuCache
by
Kohei KaiGai
28 slides
542 views
PDF
(JP) GPGPUがPostgreSQLを加速する
by
Kohei KaiGai
49 slides
23.9K views
PDF
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
by
Kohei KaiGai
54 slides
6.5K views
PDF
20190314 PGStrom Arrow_Fdw
by
Kohei KaiGai
49 slides
3.9K views
PPTX
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
by
NTT DATA Technology & Innovation
48 slides
1K views
PDF
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
by
Insight Technology, Inc.
73 slides
2.2K views
PDF
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
32 slides
13.6K views
PDF
20190926_Try_RHEL8_NVMEoF_Beta
by
Kohei KaiGai
22 slides
1.1K views
PPTX
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
by
NTT DATA Technology & Innovation
63 slides
6.2K views
PDF
20191115-PGconf.Japan
by
Kohei KaiGai
59 slides
3K views
PPTX
EmbulkとDigdagとデータ分析基盤と
by
Toru Takahashi
59 slides
23K views
PDF
20171212_GTCJapan_InceptionSummt_HeteroDB
by
Kohei KaiGai
19 slides
5.3K views
ODP
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
by
Shigeru Hanada
37 slides
3.5K views
PDF
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
by
Insight Technology, Inc.
53 slides
648 views
PDF
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
by
Kohei KaiGai
39 slides
1.5K views
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
by
Insight Technology, Inc.
45 slides
1.1K views
PostgreSQL 9.6 新機能紹介
by
Masahiko Sawada
48 slides
18.3K views
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
by
Insight Technology, Inc.
34 slides
608 views
Vacuum徹底解説
by
Masahiko Sawada
51 slides
7.5K views
20210731_OSC_Kyoto_PGStrom3.0
by
Kohei KaiGai
36 slides
412 views
20210511_PGStrom_GpuCache
by
Kohei KaiGai
28 slides
542 views
(JP) GPGPUがPostgreSQLを加速する
by
Kohei KaiGai
49 slides
23.9K views
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
by
Kohei KaiGai
54 slides
6.5K views
20190314 PGStrom Arrow_Fdw
by
Kohei KaiGai
49 slides
3.9K views
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
by
NTT DATA Technology & Innovation
48 slides
1K views
[db tech showcase Tokyo 2017] D15: ビッグデータ x 機械学習の高速分析をVerticaで実現!by ヒューレット・パッ...
by
Insight Technology, Inc.
73 slides
2.2K views
並列クエリを実行するPostgreSQLのアーキテクチャ
by
Kohei KaiGai
32 slides
13.6K views
20190926_Try_RHEL8_NVMEoF_Beta
by
Kohei KaiGai
22 slides
1.1K views
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
by
NTT DATA Technology & Innovation
63 slides
6.2K views
20191115-PGconf.Japan
by
Kohei KaiGai
59 slides
3K views
EmbulkとDigdagとデータ分析基盤と
by
Toru Takahashi
59 slides
23K views
20171212_GTCJapan_InceptionSummt_HeteroDB
by
Kohei KaiGai
19 slides
5.3K views
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
by
Shigeru Hanada
37 slides
3.5K views
[db tech showcase Tokyo 2017] B14: 4年連続No.1リーダー評価のストレージでDBクローンするとどんな感じ?瞬時のクロー...
by
Insight Technology, Inc.
53 slides
648 views
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
by
Kohei KaiGai
39 slides
1.5K views
Similar to PostgreSQL 12の話
PPTX
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
53 slides
15K views
PDF
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
by
Satoshi Nagayasu
56 slides
2.3K views
PDF
PostgreSQL 9.5 新機能紹介
by
NTT DATA OSS Professional Services
60 slides
43K views
PDF
20190119 aws-study-pg-extension
by
Toshi Harada
82 slides
881 views
PDF
Postgre sql9.3新機能紹介
by
Daichi Egawa
64 slides
12.3K views
PDF
20181110 fok2018-pg-extension
by
Toshi Harada
77 slides
579 views
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
by
NTT DATA Technology & Innovation
57 slides
527 views
PDF
JTF2021w F3 postgresql frontline
by
Haruka Takatsuka
22 slides
854 views
PDF
Kof2016 postgresql-9.6
by
Toshi Harada
98 slides
964 views
PDF
PostgreSQL9.3新機能紹介
by
NTT DATA OSS Professional Services
59 slides
10.8K views
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
by
NTT DATA Technology & Innovation
22 slides
490 views
PDF
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
by
Shigeru Hanada
45 slides
2.7K views
PDF
10大ニュースで振り返るPGCon2015
by
NTT DATA OSS Professional Services
57 slides
4.6K views
PDF
KOF2015 PostgreSQL 9.5
by
Toshi Harada
83 slides
1.6K views
PDF
A Tour of PostgreSQL
by
EDB
86 slides
393 views
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
88 slides
130.1K views
PDF
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
21 slides
2.7K views
PDF
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
38 slides
2.3K views
PDF
PostgreSQL 15 開発最新情報
by
Masahiko Sawada
33 slides
2K views
PDF
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
96 slides
819 views
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
by
NTT DATA Technology & Innovation
53 slides
15K views
アナリティクスをPostgreSQLで始めるべき10の理由@第6回 関西DB勉強会
by
Satoshi Nagayasu
56 slides
2.3K views
PostgreSQL 9.5 新機能紹介
by
NTT DATA OSS Professional Services
60 slides
43K views
20190119 aws-study-pg-extension
by
Toshi Harada
82 slides
881 views
Postgre sql9.3新機能紹介
by
Daichi Egawa
64 slides
12.3K views
20181110 fok2018-pg-extension
by
Toshi Harada
77 slides
579 views
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
by
NTT DATA Technology & Innovation
57 slides
527 views
JTF2021w F3 postgresql frontline
by
Haruka Takatsuka
22 slides
854 views
Kof2016 postgresql-9.6
by
Toshi Harada
98 slides
964 views
PostgreSQL9.3新機能紹介
by
NTT DATA OSS Professional Services
59 slides
10.8K views
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
by
NTT DATA Technology & Innovation
22 slides
490 views
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
by
Shigeru Hanada
45 slides
2.7K views
10大ニュースで振り返るPGCon2015
by
NTT DATA OSS Professional Services
57 slides
4.6K views
KOF2015 PostgreSQL 9.5
by
Toshi Harada
83 slides
1.6K views
A Tour of PostgreSQL
by
EDB
86 slides
393 views
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
88 slides
130.1K views
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
by
NTT DATA Technology & Innovation
21 slides
2.7K views
PostgreSQL 15の新機能を徹底解説
by
Masahiko Sawada
38 slides
2.3K views
PostgreSQL 15 開発最新情報
by
Masahiko Sawada
33 slides
2K views
Chugoku db 17th-postgresql-9.6
by
Toshi Harada
96 slides
819 views
More from Masahiko Sawada
PDF
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
by
Masahiko Sawada
32 slides
1.3K views
PDF
Transparent Data Encryption in PostgreSQL
by
Masahiko Sawada
38 slides
10.3K views
PDF
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
by
Masahiko Sawada
22 slides
5K views
PDF
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
by
Masahiko Sawada
46 slides
12.7K views
PDF
Bloat and Fragmentation in PostgreSQL
by
Masahiko Sawada
36 slides
6.5K views
PDF
Vacuum more efficient than ever
by
Masahiko Sawada
48 slides
1.8K views
PDF
Parallel Vacuum
by
Masahiko Sawada
22 slides
1.1K views
PDF
PostgreSQLでスケールアウト
by
Masahiko Sawada
18 slides
12.7K views
PDF
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
by
Masahiko Sawada
7 slides
2.5K views
PDF
FDW-based Sharding Update and Future
by
Masahiko Sawada
32 slides
2.4K views
PDF
What’s new in 9.6, by PostgreSQL contributor
by
Masahiko Sawada
49 slides
1.3K views
PDF
pg_bigmと類似度検索
by
Masahiko Sawada
19 slides
3.3K views
PDF
pg_bigmを触り始めた人に伝えたいこと
by
Masahiko Sawada
26 slides
1.3K views
PDF
Introduction VAUUM, Freezing, XID wraparound
by
Masahiko Sawada
42 slides
2.6K views
PDF
XID周回問題に潜む別の問題
by
Masahiko Sawada
12 slides
1.2K views
PPTX
PostgreSQL共有バッファと関連ツール
by
Masahiko Sawada
13 slides
3.8K views
PDF
Inside vacuum - 第一回PostgreSQLプレ勉強会
by
Masahiko Sawada
59 slides
14.2K views
PDF
Bgworkerで簡易クラスタ管理
by
Masahiko Sawada
15 slides
827 views
PDF
pg_bigm(ピージー・バイグラム)を用いた全文検索のしくみ(後編)
by
Masahiko Sawada
46 slides
9.9K views
PDF
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
by
Masahiko Sawada
37 slides
19.2K views
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
by
Masahiko Sawada
32 slides
1.3K views
Transparent Data Encryption in PostgreSQL
by
Masahiko Sawada
38 slides
10.3K views
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
by
Masahiko Sawada
22 slides
5K views
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
by
Masahiko Sawada
46 slides
12.7K views
Bloat and Fragmentation in PostgreSQL
by
Masahiko Sawada
36 slides
6.5K views
Vacuum more efficient than ever
by
Masahiko Sawada
48 slides
1.8K views
Parallel Vacuum
by
Masahiko Sawada
22 slides
1.1K views
PostgreSQLでスケールアウト
by
Masahiko Sawada
18 slides
12.7K views
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
by
Masahiko Sawada
7 slides
2.5K views
FDW-based Sharding Update and Future
by
Masahiko Sawada
32 slides
2.4K views
What’s new in 9.6, by PostgreSQL contributor
by
Masahiko Sawada
49 slides
1.3K views
pg_bigmと類似度検索
by
Masahiko Sawada
19 slides
3.3K views
pg_bigmを触り始めた人に伝えたいこと
by
Masahiko Sawada
26 slides
1.3K views
Introduction VAUUM, Freezing, XID wraparound
by
Masahiko Sawada
42 slides
2.6K views
XID周回問題に潜む別の問題
by
Masahiko Sawada
12 slides
1.2K views
PostgreSQL共有バッファと関連ツール
by
Masahiko Sawada
13 slides
3.8K views
Inside vacuum - 第一回PostgreSQLプレ勉強会
by
Masahiko Sawada
59 slides
14.2K views
Bgworkerで簡易クラスタ管理
by
Masahiko Sawada
15 slides
827 views
pg_bigm(ピージー・バイグラム)を用いた全文検索のしくみ(後編)
by
Masahiko Sawada
46 slides
9.9K views
pg_bigm(ピージーバイグラム)を用いた全文検索のしくみ
by
Masahiko Sawada
37 slides
19.2K views
PostgreSQL 12の話
1.
Copyright©2019 NTT Corp.
All Rights Reserved. PostgreSQL 12の話 NTT OSSセンタ 澤田 雅彦 Middlewares Deep Talks @AWS Loft Tokyo
2.
2Copyright©2019 NTT Corp.
All Rights Reserved. 約170個の新機能(リリースノートより) 正式版は今年秋頃にリリース予定 最近の新バージョンと目玉機能 9.6 : パラレルクエリ、Vacuum改善 10 : 宣言的テーブルパーティショニング、ロジカルレプリケーション 11 : テーブルパーティショニングの強化、パラレルクエリの強化、SQLスト アド・プロシージャ PostgreSQL 12 betaが5/23にリリース
3.
3Copyright©2019 NTT Corp.
All Rights Reserved. • テーブル・パーティショニングの改善 • CTE Inlining • Pluggable Storage Engine • Chained Transaction • JSON/Path • Generated Columns (STOREDのみ) • 拡張統計情報の強化(MCVリスト) • REINDEX CONCURRENTLY • CREATE INDEX、REINDEX、VACUUM FULL、CLUSTERのモ ニタリング 新機能いろいろ(今日は下線の機能を紹介)
4.
4Copyright©2019 NTT Corp.
All Rights Reserved. PostgreSQL 12でもテーブル・パーティショニングの改善は多い(全 体の約15%、PG11もほぼ同じだった) • パーティション・プルーニングの性能改善 • パーティション・テーブルへの外部キー制約 • パーティション・テーブルへのCOPYの性能改善 • ATTACH PARTITIONのロックが弱くなった • AccessExclusiveLock -> ShareUpdateExclusiveLock • pg_partition_root(), pg_partition_ancestors(), pg_partition_root() • パーティション境界に式を指定(テーブル作成時に評価) テーブル・パーティショニングの改善
5.
5Copyright©2019 NTT Corp.
All Rights Reserved. パーティション・プルーニングの問題 PostgreSQL11の新機能紹介より PostgreSQL10に 比べて早くなっている。 けど、まだプラン生成 時間が子テーブル数に 比例して伸びている
6.
6Copyright©2019 NTT Corp.
All Rights Reserved. • これまで、プランナは内部で使用するテーブルの管理情報( RangeTblEntry, RelOptInfo)を全ての子テーブルについて作成してた。 • PG12では、プルーニング情報を求めた後に興味のある子テーブルだけの 管理情報を作成するようにした。 • 数千規模の子テーブルがある場合に有用 子テーブルが多い時のプラン生成時間が大幅に改善 0 20 40 60 80 100 120 50 100 500 1000 2000 5000 10000 実行計画作成時間(MS) Range Partitioning PG12 PG11 PG10
7.
7Copyright©2019 NTT Corp.
All Rights Reserved. • WITH句で指定したクエリ結果を一時テーブルみたいな形で扱うこと ができる • 複雑なSQLをより単純な部品に分解することで、SQLを読みやすくできる • 再帰SQLのときにも使う • PostgreSQLの実装では常にCTEの結果を一時テーブルとして持つ • work_memを使用 • クエリの意味は同じでもsubselectを使った時とは実行計画を異なる • MySQLも8.0からサポート Common Table Expression (CTE)
8.
8Copyright©2019 NTT Corp.
All Rights Reserved. -- CTEを利用(PG11まで) =# EXPLAIN WITH test AS (SELECT * FROM a WHERE c = 1) SELECT * FROM test WHERE d = 1; QUERY PLAN ------------------------------------------------------------------------ CTE Scan on test (cost=8.17..8.20 rows=1 width=8) Filter: (d = 1) CTE test -> Index Scan using a_pkey on a (cost=0.15..8.17 rows=1 width=8) Index Cond: (c = 1) (5 rows) CTEとSubSelect - PostgreSQL 11まで - -- SubSelectを利用 =# EXPLAIN SELECT * FROM (SELECT * FROM a WHERE c = 1 and d = 1) as test; QUERY PLAN ---------------------------------------------------------------- Index Scan using a_pkey on a (cost=0.15..8.17 rows=1 width=8) Index Cond: (c = 1) Filter: (d = 1) (3 rows)
9.
9Copyright©2019 NTT Corp.
All Rights Reserved. -- CTEを利用(PG12) =# EXPLAIN WITH test AS (SELECT * FROM a WHERE c = 1) SELECT * FROM test WHERE d = 1; QUERY PLAN ---------------------------------------------------------------------------------- Index Scan using a_pkey on a (cost=0.15..8.17 rows=1 width=8) Index Cond: (c = 1) Filter: (d = 1) (3 rows) CTEとSubSelect - PostgreSQL 12から - -- SubSelectを利用 =# EXPLAIN SELECT * FROM (SELECT * FROM a WHERE c = 1 and d = 1) as test; QUERY PLAN ---------------------------------------------------------------- Index Scan using a_pkey on a (cost=0.15..8.17 rows=1 width=8) Index Cond: (c = 1) Filter: (d = 1) (3 rows)
10.
10Copyright©2019 NTT Corp.
All Rights Reserved. • デフォルトでCTEのクエリを展開するようになった(CTE inlining) • 他のRDBMSもこっちの動作がデフォルトになっていると思う • ただし再帰SQL、SELECT以外、volatile関数が入っている場合は強制的 にMATERIALIZE(一時テーブル的な扱い)される • 明示的にMATERIALIZED句をつけると、PostgeSQL10までと同じ動 作になる • WITH句を使って結合順序を変えたり、SQLチューニングする時は MATERIALIZED句を使っても良さそう PostgreSQL 12以降のCTE =# EXPLAIN WITH test AS MATERIALIZED (SELECT * FROM a WHERE c = 1) SELECT * FROM test WHERE d = 1; QUERY PLAN ------------------------------------------------------------------------ CTE Scan on test (cost=8.17..8.20 rows=1 width=8) Filter: (d = 1) CTE test -> Index Scan using a_pkey on a (cost=0.15..8.17 rows=1 width=8) Index Cond: (c = 1) (5 rows)
11.
11Copyright©2019 NTT Corp.
All Rights Reserved. • 独自のテーブル(Access Method)を定義、使用できる ようになった • これまではインデックスでは可能だった • 夢が広がる機能 • 例えば、 • 追記型以外を採用したテーブル • 列指向テーブル • インメモリテーブル • 他のDBとの連携(RocksDB + PostgreSQL = PgRocks?) Pluggable Storage Engine(Table AM)
12.
12Copyright©2019 NTT Corp.
All Rights Reserved. Table AMの概要 https://anarazel.de/talks/2018-10-25-pgconfeu-pluggable-storage/pluggable.pdf
13.
13Copyright©2019 NTT Corp.
All Rights Reserved. • Heapのみ • 従来のテーブル • PostgreSQL 12では、インタフェースが切られただけで 、新しい種類のテーブルは提供されていない • 新しい種類のテーブルはPostgreSQL 13以降 サポート中のAccess Method
14.
14Copyright©2019 NTT Corp.
All Rights Reserved. • ZHeap (EnterpriseDB社) • 行指向 • UNDOログ • タプルヘッダが小さい(Heapに比べて) • ZedStore (Pivotal社) • 列指向 • UNDOログ • 圧縮 • 分析用途等に適しているが、最大限効果を出すためには Optimizer、Executorの改良も必要 • In-memory storage どんなAccess Methodが今後入るか?
15.
15Copyright©2019 NTT Corp.
All Rights Reserved. • UNDOログを利用 • 古いタプルはすべてUNDO領域に退避 • Commitなら退避した古いタプルを消す、Rollbackならもとに戻す • In-place update • VACUUMがいらない • タプルヘッダが従来のテーブルよりも小さい • 25 bytes -> 5 bytes • MVCCに必要なデータはUNDOログにある • ソースは公開されているので試してみるのもあり • https://github.com/EnterpriseDB/zheap ZHeap
16.
16Copyright©2019 NTT Corp.
All Rights Reserved. 目的は異なるが機能性は一部重複している • 目的の違い • FDWは外部データとの連携が目的 • SQL標準にあるSQL/MEDの実装系 • Table AMはPostgreSQLのストレージ層の切り出し • 機能の違い • FDWでは、実行計画の作成(外部サーバが担当する部分の切り 出し等)、外部サーバからのデータ取得を担当 • GetForeignPaths、GetForeignJoinPath, ExecForeignScanなど • Table AMは、Executor⇔ストレージのI/Fのみ(今後変わる可能 性あり) • scan_getnextslot, index_fetch_begin, scan_bitmap_next_block, tuple_insert, tuple_delete, scan_bitmapなど • FDWではDDLに対応していない Foreign Data Wrapperとの違い
17.
17Copyright©2019 NTT Corp.
All Rights Reserved. COMMIT [ AND [NO] CHAIN ] ROLLBACK [ AND [NO] CHAIN ] • 「AND CHAIN」を指定すると、トランザクション分離レベル、 READ_WRITE/READ_ONLY、DEFERRABLEが引き継がれて、新しいト ランザクションが開始される • SQL標準の機能(“Chained Transaction”) • Stored Procedure内でトランザクションの設定を変えて頻繁にコミ ットをする時に便利 • MySQLもサポートしてる Chained Transaction
18.
18Copyright©2019 NTT Corp.
All Rights Reserved. =# SHOW transaction_isolation ; --デフォルトはread committed transaction_isolation ----------------------- read committed (1 row) =# BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE ; -- serializableでトランザクションを開始 BEGIN =# SHOW transaction_isolation ; -- serializableになっていることを確認 transaction_isolation ----------------------- serializable (1 row) =# COMMIT AND CHAIN; -- AND CHAINを指定してCOMMIT COMMIT =# SHOW transaction_isolation ; -- トランザクション分離レベルが引き継がれてserializableのまま transaction_isolation ----------------------- serializable (1 row) =# COMMIT; -- 普通のCOMMIT COMMIT =# SHOW transaction_isolation ; -- read committedに戻っている transaction_isolation ----------------------- read committed (1 row) 実行例
19.
19Copyright©2019 NTT Corp.
All Rights Reserved. • CHAINする前後のトランザクションに特別な関係性はない • いくつかの設定が引き継がれるだけ • Jim Grayのトランザクション本では、Chained Transactionはカーソルを開いた ままにすると解説している 注意点 Transaction Processing: Concepts and Techniques, Chained Transactions(P193)
20.
20Copyright©2019 NTT Corp.
All Rights Reserved. • XPathのJSON版 • JSONデータから特定の部分を指定し、抽出するための 構文(言語) • jsonb型のデータに対してのみ利用可能 • json型には対応していない • SELECT jsonb_path_query(event_jb, ‘$.event.speakers[*]’) SQL/JSON path
21.
21Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } }
22.
22Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.name
23.
23Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.speakers
24.
24Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.speakers[1]
25.
25Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.speakers[1].title
26.
26Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.DDTL.*
27.
27Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.speakers[*] ? (@.name = “yoku0825”)
28.
28Copyright©2019 NTT Corp.
All Rights Reserved. { "event": { "name": "Middleware Deep Talks", "speakers": [ { "name": "yoku0825", "title": "ぼくらが8.0に至ったみちのり(踏破)" }, { "name": "澤田雅彦", "title": "PostgreSQL 12の話" }, { "name": "Jun Ohtani", "title": "What''s new Elastic Stack 7.0?" }, { "name": "星井祥吾", "title": "Apache Cassandraの特性と自動化運用" }, { "name": "Noritaka Sekiyama", "title": "S3整合性モデルとHadoop/Sparkの話" } ], "DDTL": { "date" : "2019-05-23", "time" : "18:00", "place" : "AWS Loft Tokyo" } } } Query : $.event.speakers[*] ? (@.name start with “澤田”)
29.
29Copyright©2019 NTT Corp.
All Rights Reserved. • PostgreSQL 12は今秋リリース予定 • 例年5月にBeta、7,8月くらいにRCで9月正式リリース • リリースノートは公開されているので、追加された機能 を確認できます • PostgreSQL公式ドキュメント(英語)にあります • 正式リリースされるバージョンと大きく変わることはないはず • 来週はPGCon@Ottawaが開催されます 最後に
30.
30Copyright©2019 NTT Corp.
All Rights Reserved. Vacuum、Replication slotでいくつか機能開発をしました • インデックスのVacuumをスキップする機能 • Vacuumの高速化(Vacuum処理時間の大半はインデックスの Vacuumなので、それをスキップできるようにした) • Replication Slotをコピーする機能 • Logical Replicationやバックアップにも役に立ちます その他、分散Tx機能(Atomic Commit)、透過的暗号化機能 (TDE)にも取り組んでいるので、興味があれば話しましょ う! YOUはなにかコントリビュートしてないの?
31.
31Copyright©2019 NTT Corp.
All Rights Reserved. • JSONPath - Xpath for JSON • https://goessner.net/articles/JsonPath/ • zheap: less bloat, fewer writes, and just plain smaller • https://www.pgcon.org/2018/schedule/attachments/501_zheap- a-new-storage-format-postgresql-5.pdf • PostgreSQL 12 • http://www.sai.msu.su/~megera/postgres/talks/pg12-stachka- 2019.pdf • Pluggable Storage in PostgreSQL • https://anarazel.de/talks/2018-10-25-pgconfeu-pluggable- storage/pluggable.pdf 参考資料
32.
32Copyright©2019 NTT Corp.
All Rights Reserved. Thank you