SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
1
PostgreSQL Update 2022
オープンソースカンファレンス Online Spring
2022-03-12 16:00 - 16:45 (D 会場 )
日本 PostgreSQL ユーザ会 理事 高塚 遥
~ 今大体どうなっているの? ~
2
TOC :
● 「 PostgreSQL は今ど
うなっている?」を
45 分で解説
● 「 PostgreSQL ってな
んだったっけ?」という
人でも大丈夫
講演者 :
● 高塚 遥
● 日本 PostgreSQL ユーザ会
理事
● 仕事ではヘルプデスク、
コンサルティングなど、
PostgreSQL 支援業務
3
PostgreSQL とは
● 多機能、高性能、かつオープンソースの
リレーショナルデータベース管理システム
– INGRES('70),POSTGRES('80) 由来の歴史
– BSD タイプのライセンス
– 特定オーナー企業が無い
企業
製品
ある種の OSS 開発体制
開発者
PostgreSQL
企業
企業
企業
PostgreSQL 開発体制
4
0
500,000
1,000,000
1,500,000
2,000,000
2,500,000
3,000,000
3,500,000
8.0 8.1 8.2 8.3 8.4 9.0 9.1 9.2 9.3 9.4 9.5 9.6 10 11 12 13 14
PostgreSQL リリース
コード行数
‘05.01
‘05.11
‘06.12
‘08.02
‘09.07
‘10.09
‘11.09
‘12.09
‘13.09
‘14.12
‘16.01
‘16.09
‘17.10
‘18.10
‘19.10
‘20.09
PITR,
MSVC
4core
scale
OLAP,
CTE
SSI,
FDW
MView,
UView
RLS,
UPSERT
logical
Repli.
Table
AM I/F
de-
duplicate
Btree
Parallel
query
JIT
compile
JSONB
many
core
scale
hot
Update
bitmap
scan
Repli-
cation
‘21.09
5
近年のエンハンスメント
● ロジカルレプリケーションとその強化 (10 - 14)
● Table Access Method インタフェース (12)
● Btree インデックスの重複除去、肥大化防止 (13 - 14)
● パラレルクエリ対応と強化( 9.6 - 14)
● テーブルパーティショニング対応と強化 (10 - 14)
● 拡張統計情報 (12 - 14)
● SEARCH/CYCLE 構文 (14)
6
バージョン 14
● 2021 年 9 月リリース
● 性能向上
● Btree Index 肥大化防止
● 式の拡張統計情報
● LZ4 によるデータ圧縮
● postgres_fsw 改善
● ロジカルレプリケーション改善
● パラレルシーケンシャルスキャン性能改善
● 多セッション時の性能改善
7
バージョン 14
● SQL 新機能
● マルチ範囲型 ( '(1,10],(21,30])' など)
● SEARCH/CYCLE 構文 (再帰問い合わせむけ)
● 添え字構文の一般サポート ( jsoncol['aa'][5] など)
● 運用管理
● セッション制御機能(長期アイドル切断、無効クライアント検知)
● pg_read_all / pg_write_all ロール
● 実行時統計ビューの拡張
● pg_amcheck
8
V15 追加候補新機能 (1)
● Index Skip Scan
● MySQL のルースインデックススキャン、 Oracle 同名機能に相当
● スキーマ変数( LET 文)
● SQL Server 、 MySQL のセッション変数、 Oracle パッケージ変数に相当
● CREATE MODULE
● Oracle のパッケージに相当
● MERGE 文
● Oracle の同名機能に相当
● pgbench リトライ対応
● シリアライザブルやリピータブルリードのテストに
9
V15 追加候補新機能 (2)
● 今実行中の問い合わせのプランを取得
● 展開された SQL を確認できる関数 pg_get_query_def()
● 情報取得用システムビュー
● pg_stat_buffers 、 pg_stat_toast 、 pg_stat_progress_checkpoint
● pg_permissions 、 pg_ownerships 、
● サブトランザクション同時実行の性能改善
● SubtransSLRULock 多発状況で
● 外部ソートのアルゴリズム変更
● コマンドでなくモジュールで WAL アーカイブ ( committed )
● SQL/JSON の関数、 JSON_TABLE のサポート
● ロジカルレプリケーションで行フィルタリング( committed )
10
V15 追加候補新機能 (3)
● JSON 形式でログ出力(済)
● 接続に対するトリガ
● パラレルの INSERT INTO ... SELECT
● ARM64 Windows のサポート
● 実行時統計情報の共有メモリ化
● これまではプロセス間通信
● 非同期 I/O の利用拡大
● hook によるカスタム認証
● PROXY プロトコル対応
11
現在の PostgreSQL と周辺
SQL 機能:
● SQL:2016 の大部分に対応
● 各種のストアド言語
● 地理情報対応 (PostGIS)
● JSON 対応
● 豊富な拡張インタフェース
クラスタ構成:
● Streaming Replication  
● Logical Replication  
● HA クラスタ (active/standby)
● MPP クラスタ (shared nothing)
● RAC 型 (shared disk) は不可 △
性能:
● 参照更新で多コア性能スケール
(ベンチマークベース)
● パーティション/パラレル対応
● Just In Compile 対応
● インメモリ対応 △
運用:
● 各種運用監視ツール/サービス有
● 各種クライアントツール有
● 各種クラウド、 k8s 対応
● 変更ストリーム対応
12
CPU スケール(参照系)
2012 年度 PGECons WG1 成果資料より
9.2.x の段階で
参照はスケール
コア数 =
同時実行数ピーク
の結果
13
CPU スケール(更新系)
2016 年度 PGECons WG1 成果資料より
9.6.x の段階で
更新スケール
あくまでベンチマーク結果であることに注意!
14
PostgreSQL のレプリケーション
DB サーバ
DB サーバ DB サーバ
DB サーバ
DB サーバ
シングルマスタ
マルチスレーブ
カスケード
可能
DB サーバ
同期スタンバイ
を指定可能
クォーラム指定
(内何台に
    書込したら)
インスタンス単位
WAL ストリームによる
物理レプリケーション
10 から
9.0 から
DB サーバ
9.1 から 9.2 から
テーブル単位
論理レプリケーション
10 から
マルチマスタ
テーブル単位論理
レプリケーションは
サードパーティ製品で
Postgres-BDR, etc
15
PostgreSQL クラスタ構成
● HA クラスタ
● Pacemaker 等の各種 HA クラスタソフトで対応
● MPP クラスタ(シャーディング - データ分割格納)
● Greenplum
● Citus (Azure Hyperscale)
● Postgres-XL
● k8s オペレータ
● Pgpool-II
16
PostgreSQL の運用監視
https://www.sraoss.co.jp/technology/zabbix/introduction/pg_monz.php より
https://www.postgresql.jp/sites/default/files/2017-01/
B1_PGCON_JP_kondo_nttoss.pdf より
●
pg_statsinfo
●
pg_monz (Zabbix)
●
pg_badger
●
DataDog 、 Makerel
17
PostgreSQL のクライアントツール
● pgAdmin 4
● 各種商用製品 PostgreSQL 対応
● Navicat for PostgreSQL
● SI Object Browser for
Postgres
● A5:SQL Mk-2
https://www.pgadmin.org/screenshots より
18
PostgreSQL でやや困難なケース
● データ投入性能の限界
● IOT 方面/投入量要件と構成によっては専用製品に
– WAL に直列的に書く設計であるため
● OLTP 性能の限界
● 大メモリや多 CPU コアを活かしきれない場合
– 遅いストレージ格納を前提とした基本設計に起因
● スケールアウトが難しい
● HA クラスタにおける高度要件
● 障害復旧時間の最小化要件
– 10 秒以内の切替など
→ PosgreSQL から
負荷を逃がす対応で
→ トレードオフを
許容すれば可
→ 分散させれば可、
それを集約する仕組み
19
PostgreSQL クラウド / コンテナ
● クラウドサービス
● Azure Database
● AWS RDS / Aurora
● GCP Cloud SQL
● K8s オペレータ
● KubeDB
● CrunchyData/
postgres-operator
● Zalando/postgres-
operator
● Cloud Native
PostgreSQL (EDB)
20
コミュニティと商用サポート
● 開発コミュニティ (Mailing List, Git, Slack)
(PostgreSQL Global Development Group)
● 国内のコミュニティ活動
– 日本 PostgreSQL ユーザ会 (JPUG)
– PostgreSQL エンタープライズ・コンソーシアム
( PGECons )
● 国内の商用サポート
– 提供会社いくつかあり、取り扱い会社多数
https://www.pgecons.org/postgresql-info/services/
21
ユーザ動向
● 「より大規模」「よりクリティカル」は一巡
● 世界中どこで使われていても珍しくない
● Oracle Database からの移行が引き続き止まらない
● コンテナ化、クラウド化と合わせて
● JPUG による利用調査
● PostgreSQL は
4大人気 DBMS の一角
Oracle
SQLServer
MySQL
PostgreSQL
Other DBs
2019 年 JPUG 調べ :
「近年業務で関わった DBMS 」
回答数(複数回答)
22
JPUG の活動
● イベント
● PostgreSQL アンカンファレンス - 最近はオンラインで毎月
● PostgreSQL カンファレンス - 毎年秋に
● PostgreSQL 勉強会 - 各地支部で年1回~数回
● 合宿 (最近は休止中)
● OSC など各種イベントに出展(通年)
● 文書翻訳  https://github.com/pgsql-jp/jpug-doc
● ML 運営 pgsql-jp@postgresql.jp, jpug-users@postgresql.jp
● 最近は Slack postgresql-jp が中心
● Web 運営 ( www.postgresql.jp 、 lets.postgresql.jp )

Mais conteúdo relacionado

Mais procurados

アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方歩 柴田
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)NTT DATA Technology & Innovation
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutesShingo Omura
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)NTT DATA OSS Professional Services
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 

Mais procurados (20)

アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
Hadoop入門
Hadoop入門Hadoop入門
Hadoop入門
 
CRDT in 15 minutes
CRDT in 15 minutesCRDT in 15 minutes
CRDT in 15 minutes
 
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 

Semelhante a PostgresSQL UPDATE 2022

JTF2021w F3 postgresql frontline
JTF2021w F3 postgresql frontlineJTF2021w F3 postgresql frontline
JTF2021w F3 postgresql frontlineHaruka Takatsuka
 
PostgreSQL UPDATEs 2016年5月 - OSC群馬
PostgreSQL UPDATEs 2016年5月 - OSC群馬PostgreSQL UPDATEs 2016年5月 - OSC群馬
PostgreSQL UPDATEs 2016年5月 - OSC群馬Haruka Takatsuka
 
Postgre sql update_20170310
Postgre sql update_20170310Postgre sql update_20170310
Postgre sql update_20170310Haruka Takatsuka
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoShigeru Hanada
 
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)Kosuke Kida
 
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012Shigeru Hanada
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介Insight Technology, Inc.
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】Kohei KaiGai
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]Kohei KaiGai
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...Insight Technology, Inc.
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告Amazon Web Services Japan
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)NTT DATA Technology & Innovation
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tipsMasayuki Ozawa
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャーYuji Fujita
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Manabu Ori
 

Semelhante a PostgresSQL UPDATE 2022 (20)

JTF2021w F3 postgresql frontline
JTF2021w F3 postgresql frontlineJTF2021w F3 postgresql frontline
JTF2021w F3 postgresql frontline
 
PostgreSQL UPDATEs 2016年5月 - OSC群馬
PostgreSQL UPDATEs 2016年5月 - OSC群馬PostgreSQL UPDATEs 2016年5月 - OSC群馬
PostgreSQL UPDATEs 2016年5月 - OSC群馬
 
Postgre sql update_20170310
Postgre sql update_20170310Postgre sql update_20170310
Postgre sql update_20170310
 
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@KyotoPostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
PostgreSQL 9.2 新機能 - OSC 2012 Kansai@Kyoto
 
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)
 
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
PostgreSQL 9.2 新機能 - 新潟オープンソースセミナー2012
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
 
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
SSDとGPUがPostgreSQLを加速する【OSC.Enterprise】
 
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
GPUとSSDがPostgreSQLを加速する~クエリ処理スループット10GB/sへの挑戦~ [DB Tech Showcase Tokyo/2017]
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
Postgres Toolkitのご紹介
Postgres Toolkitのご紹介Postgres Toolkitのご紹介
Postgres Toolkitのご紹介
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャー
 
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
 

PostgresSQL UPDATE 2022

  • 1. 1 PostgreSQL Update 2022 オープンソースカンファレンス Online Spring 2022-03-12 16:00 - 16:45 (D 会場 ) 日本 PostgreSQL ユーザ会 理事 高塚 遥 ~ 今大体どうなっているの? ~
  • 2. 2 TOC : ● 「 PostgreSQL は今ど うなっている?」を 45 分で解説 ● 「 PostgreSQL ってな んだったっけ?」という 人でも大丈夫 講演者 : ● 高塚 遥 ● 日本 PostgreSQL ユーザ会 理事 ● 仕事ではヘルプデスク、 コンサルティングなど、 PostgreSQL 支援業務
  • 3. 3 PostgreSQL とは ● 多機能、高性能、かつオープンソースの リレーショナルデータベース管理システム – INGRES('70),POSTGRES('80) 由来の歴史 – BSD タイプのライセンス – 特定オーナー企業が無い 企業 製品 ある種の OSS 開発体制 開発者 PostgreSQL 企業 企業 企業 PostgreSQL 開発体制
  • 4. 4 0 500,000 1,000,000 1,500,000 2,000,000 2,500,000 3,000,000 3,500,000 8.0 8.1 8.2 8.3 8.4 9.0 9.1 9.2 9.3 9.4 9.5 9.6 10 11 12 13 14 PostgreSQL リリース コード行数 ‘05.01 ‘05.11 ‘06.12 ‘08.02 ‘09.07 ‘10.09 ‘11.09 ‘12.09 ‘13.09 ‘14.12 ‘16.01 ‘16.09 ‘17.10 ‘18.10 ‘19.10 ‘20.09 PITR, MSVC 4core scale OLAP, CTE SSI, FDW MView, UView RLS, UPSERT logical Repli. Table AM I/F de- duplicate Btree Parallel query JIT compile JSONB many core scale hot Update bitmap scan Repli- cation ‘21.09
  • 5. 5 近年のエンハンスメント ● ロジカルレプリケーションとその強化 (10 - 14) ● Table Access Method インタフェース (12) ● Btree インデックスの重複除去、肥大化防止 (13 - 14) ● パラレルクエリ対応と強化( 9.6 - 14) ● テーブルパーティショニング対応と強化 (10 - 14) ● 拡張統計情報 (12 - 14) ● SEARCH/CYCLE 構文 (14)
  • 6. 6 バージョン 14 ● 2021 年 9 月リリース ● 性能向上 ● Btree Index 肥大化防止 ● 式の拡張統計情報 ● LZ4 によるデータ圧縮 ● postgres_fsw 改善 ● ロジカルレプリケーション改善 ● パラレルシーケンシャルスキャン性能改善 ● 多セッション時の性能改善
  • 7. 7 バージョン 14 ● SQL 新機能 ● マルチ範囲型 ( '(1,10],(21,30])' など) ● SEARCH/CYCLE 構文 (再帰問い合わせむけ) ● 添え字構文の一般サポート ( jsoncol['aa'][5] など) ● 運用管理 ● セッション制御機能(長期アイドル切断、無効クライアント検知) ● pg_read_all / pg_write_all ロール ● 実行時統計ビューの拡張 ● pg_amcheck
  • 8. 8 V15 追加候補新機能 (1) ● Index Skip Scan ● MySQL のルースインデックススキャン、 Oracle 同名機能に相当 ● スキーマ変数( LET 文) ● SQL Server 、 MySQL のセッション変数、 Oracle パッケージ変数に相当 ● CREATE MODULE ● Oracle のパッケージに相当 ● MERGE 文 ● Oracle の同名機能に相当 ● pgbench リトライ対応 ● シリアライザブルやリピータブルリードのテストに
  • 9. 9 V15 追加候補新機能 (2) ● 今実行中の問い合わせのプランを取得 ● 展開された SQL を確認できる関数 pg_get_query_def() ● 情報取得用システムビュー ● pg_stat_buffers 、 pg_stat_toast 、 pg_stat_progress_checkpoint ● pg_permissions 、 pg_ownerships 、 ● サブトランザクション同時実行の性能改善 ● SubtransSLRULock 多発状況で ● 外部ソートのアルゴリズム変更 ● コマンドでなくモジュールで WAL アーカイブ ( committed ) ● SQL/JSON の関数、 JSON_TABLE のサポート ● ロジカルレプリケーションで行フィルタリング( committed )
  • 10. 10 V15 追加候補新機能 (3) ● JSON 形式でログ出力(済) ● 接続に対するトリガ ● パラレルの INSERT INTO ... SELECT ● ARM64 Windows のサポート ● 実行時統計情報の共有メモリ化 ● これまではプロセス間通信 ● 非同期 I/O の利用拡大 ● hook によるカスタム認証 ● PROXY プロトコル対応
  • 11. 11 現在の PostgreSQL と周辺 SQL 機能: ● SQL:2016 の大部分に対応 ● 各種のストアド言語 ● 地理情報対応 (PostGIS) ● JSON 対応 ● 豊富な拡張インタフェース クラスタ構成: ● Streaming Replication   ● Logical Replication   ● HA クラスタ (active/standby) ● MPP クラスタ (shared nothing) ● RAC 型 (shared disk) は不可 △ 性能: ● 参照更新で多コア性能スケール (ベンチマークベース) ● パーティション/パラレル対応 ● Just In Compile 対応 ● インメモリ対応 △ 運用: ● 各種運用監視ツール/サービス有 ● 各種クライアントツール有 ● 各種クラウド、 k8s 対応 ● 変更ストリーム対応
  • 12. 12 CPU スケール(参照系) 2012 年度 PGECons WG1 成果資料より 9.2.x の段階で 参照はスケール コア数 = 同時実行数ピーク の結果
  • 13. 13 CPU スケール(更新系) 2016 年度 PGECons WG1 成果資料より 9.6.x の段階で 更新スケール あくまでベンチマーク結果であることに注意!
  • 14. 14 PostgreSQL のレプリケーション DB サーバ DB サーバ DB サーバ DB サーバ DB サーバ シングルマスタ マルチスレーブ カスケード 可能 DB サーバ 同期スタンバイ を指定可能 クォーラム指定 (内何台に     書込したら) インスタンス単位 WAL ストリームによる 物理レプリケーション 10 から 9.0 から DB サーバ 9.1 から 9.2 から テーブル単位 論理レプリケーション 10 から マルチマスタ テーブル単位論理 レプリケーションは サードパーティ製品で Postgres-BDR, etc
  • 15. 15 PostgreSQL クラスタ構成 ● HA クラスタ ● Pacemaker 等の各種 HA クラスタソフトで対応 ● MPP クラスタ(シャーディング - データ分割格納) ● Greenplum ● Citus (Azure Hyperscale) ● Postgres-XL ● k8s オペレータ ● Pgpool-II
  • 17. 17 PostgreSQL のクライアントツール ● pgAdmin 4 ● 各種商用製品 PostgreSQL 対応 ● Navicat for PostgreSQL ● SI Object Browser for Postgres ● A5:SQL Mk-2 https://www.pgadmin.org/screenshots より
  • 18. 18 PostgreSQL でやや困難なケース ● データ投入性能の限界 ● IOT 方面/投入量要件と構成によっては専用製品に – WAL に直列的に書く設計であるため ● OLTP 性能の限界 ● 大メモリや多 CPU コアを活かしきれない場合 – 遅いストレージ格納を前提とした基本設計に起因 ● スケールアウトが難しい ● HA クラスタにおける高度要件 ● 障害復旧時間の最小化要件 – 10 秒以内の切替など → PosgreSQL から 負荷を逃がす対応で → トレードオフを 許容すれば可 → 分散させれば可、 それを集約する仕組み
  • 19. 19 PostgreSQL クラウド / コンテナ ● クラウドサービス ● Azure Database ● AWS RDS / Aurora ● GCP Cloud SQL ● K8s オペレータ ● KubeDB ● CrunchyData/ postgres-operator ● Zalando/postgres- operator ● Cloud Native PostgreSQL (EDB)
  • 20. 20 コミュニティと商用サポート ● 開発コミュニティ (Mailing List, Git, Slack) (PostgreSQL Global Development Group) ● 国内のコミュニティ活動 – 日本 PostgreSQL ユーザ会 (JPUG) – PostgreSQL エンタープライズ・コンソーシアム ( PGECons ) ● 国内の商用サポート – 提供会社いくつかあり、取り扱い会社多数 https://www.pgecons.org/postgresql-info/services/
  • 21. 21 ユーザ動向 ● 「より大規模」「よりクリティカル」は一巡 ● 世界中どこで使われていても珍しくない ● Oracle Database からの移行が引き続き止まらない ● コンテナ化、クラウド化と合わせて ● JPUG による利用調査 ● PostgreSQL は 4大人気 DBMS の一角 Oracle SQLServer MySQL PostgreSQL Other DBs 2019 年 JPUG 調べ : 「近年業務で関わった DBMS 」 回答数(複数回答)
  • 22. 22 JPUG の活動 ● イベント ● PostgreSQL アンカンファレンス - 最近はオンラインで毎月 ● PostgreSQL カンファレンス - 毎年秋に ● PostgreSQL 勉強会 - 各地支部で年1回~数回 ● 合宿 (最近は休止中) ● OSC など各種イベントに出展(通年) ● 文書翻訳  https://github.com/pgsql-jp/jpug-doc ● ML 運営 pgsql-jp@postgresql.jp, jpug-users@postgresql.jp ● 最近は Slack postgresql-jp が中心 ● Web 運営 ( www.postgresql.jp 、 lets.postgresql.jp )