SlideShare a Scribd company logo
1
PostgreSQL 最前線
JTF2021w
2021-01-24 13:45 - 14:10 (F3)
日本 PostgreSQL ユーザ会 理事 高塚 遥
~ 今大体どうなっているの? ~
2
TOC :
● 「 PostgreSQL は今ど
うなっている?」を
25 分で解説
● 「 PostgreSQL ってな
んだったっけ?」という
人でも大丈夫
講演者 :
● 高塚 遥
● 日本 PostgreSQL ユーザ会
理事
● 仕事ではヘルプデスク、
コンサルティングなど、
PostgreSQL 支援業務
3
PostgreSQL とは
● 多機能、高性能、かつオープンソースの
リレーショナルデータベース管理システム
– INGRES('70),POSTGRES('80) 由来の歴史
– BSD タイプのライセンス
– 特定オーナー企業が無い
企業
製品
ある種の OSS 開発体制
開発者
PostgreSQL
企業
企業
企業
PostgreSQL 開発体制
4
PostgreSQL リリース
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
コード行数
‘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
5
最近の大きなエンハンスメント
● JIT コンパイル (11)
● Table Access Method インタフェース (12)
● Btree インデックスの重複除去 (13)
● パラレルクエリ対応と強化( 9.6 - 13)
● テーブルパーティショニング対応と強化 (10 - 13)
● ロジカルレプリケーション対応 (10)
6
バージョン 14 の展望
● 例年の流れ : 5 月ごろ仕様確定 → 秋ごろリリース
● CommitFest 2020-07, 2020-09, 2020-11, 2021-01, 2021-03
● 各種拡張
● View 差分更新
● テンポラルテーブル
● Index Skip Scan ( Loose Index Scan)
● スキーマ変数(パッケージ変数相当)
● グローバル一時テーブル
● MERGE 文 /  SEARCH 、 CYCLE 句 /  標準 SQL 関数構文
● パラレル INSERT を含む並列化対応強化
● WAL 無効化オプション / 不揮発 WAL バッファ(不揮発メモリ用)
● その他にも改善多数
7
現在の PostgreSQL と周辺
SQL 機能:
● SQL:2016 の大部分に対応
● 各種のストアド言語
● 地理情報対応 (PostGIS)
● JSON 対応
● 豊富な拡張インタフェース
クラスタ構成:
● Streaming Replication  
● Logical Replication  
● HA クラスタ (active/standby)
● MPP クラスタ (shared nothing)
● RAC 型 (shared disk) は不可 ×
性能:
● 参照更新で多コア性能スケール
(ベンチマークベース)
● パーティション/パラレル対応
● Just In Compile 対応
● インメモリ対応は無し ×
運用:
● 運用監視ツール pg_statsinfo /
pg_badger / pg_monz
● クライアントツール PgAdmin4 /
SI Object Browser
● 各種クラウド、 k8s 対応
8
SQL 機能面でのアドバンテージ
● ストアド言語
● PL/pgSQL
● Perl 、 Python 、 Tcl
● V8 (JavaScript)
● JSON 対応
● JSON の内部要素に
インデックス
● JSON Path 関数
● PostGIS
● OSS 拡張
● 地理情報のデファクト
スタンダード
9
現在の PostgreSQL と周辺
SQL 機能:
● SQL:2016 の大部分に対応
● 各種のストアド言語
● 地理情報対応 (PostGIS)
● JSON 対応
● 豊富な拡張インタフェース
クラスタ構成:
● Streaming Replication  
● Logical Replication  
● HA クラスタ (active/standby)
● MPP クラスタ (shared nothing)
● RAC 型 (shared disk) は不可 ×
性能:
● 参照更新で多コア性能スケール
(ベンチマークベース)
● パーティション/パラレル対応
● Just In Compile 対応
● インメモリ対応は無し ×
運用:
● 運用監視ツール pg_statsinfo /
pg_badger / pg_monz
● クライアントツール PgAdmin4 /
SI Object Browser
● 各種クラウド、 k8s 対応
10
CPU スケール(参照系)
2012 年度 PGECons WG1 成果資料より
9.2.x の段階で
参照はスケール
コア数 =
同時実行数ピーク
の結果
11
CPU スケール(更新系)
2016 年度 PGECons WG1 成果資料より
9.6.x で
更新スケール
あくまでベンチマーク結果であることに注意!
12
現在の PostgreSQL と周辺
SQL 機能:
● SQL:2016 の大部分に対応
● 各種のストアド言語
● 地理情報対応 (PostGIS)
● JSON 対応
● 豊富な拡張インタフェース
クラスタ構成:
● Streaming Replication  
● Logical Replication  
● HA クラスタ (active/standby)
● MPP クラスタ (shared nothing)
● RAC 型 (shared disk) は不可 ×
性能:
● 参照更新で多コア性能スケール
(ベンチマークベース)
● パーティション/パラレル対応
● Just In Compile 対応
● インメモリ対応は無し ×
運用:
● 運用監視ツール pg_statsinfo /
pg_badger / pg_monz
● クライアントツール PgAdmin4 /
SI Object Browser
● 各種クラウド、 k8s 対応
13
PostgreSQL のレプリケーション
DB サーバ
DB サーバ DB サーバ
DB サーバ
DB サーバ
シングルマスタ
マルチスレーブ
カスケード
可能
DB サーバ
同期スタンバイ
を指定可能
クォーラム指定
(内何台に
    書込したら)
インスタンス単位
WAL ストリームによる
物理レプリケーション
10 から
9.0 から
DB サーバ
9.1 から 9.2 から
テーブル単位
論理レプリケーション
10 から
マルチマスタ
テーブル単位論理
レプリケーションは
サードパーティ製品で
Postgres-BDR, etc
14
PostgreSQL クラスタ構成
● HA クラスタ
● Pacemaker 等の各種 HA クラスタソフトで対応
● MPP クラスタ(シャーディング - データ分割格納)
● Greenplum
● Citus (Azure Hyperscale)
● Postgres-XL
● k8s オペレータ
● Pgpool-II
15
現在の PostgreSQL と周辺
SQL 機能:
● SQL:2016 の大部分に対応
● 各種のストアド言語
● 地理情報対応 (PostGIS)
● JSON 対応
● 豊富な拡張インタフェース
クラスタ構成:
● Streaming Replication  
● Logical Replication  
● HA クラスタ (active/standby)
● MPP クラスタ (shared nothing)
● RAC 型 (shared disk) は不可 ×
性能:
● 参照更新で多コア性能スケール
(ベンチマークベース)
● パーティション/パラレル対応
● Just In Compile 対応
● インメモリ対応は無し ×
運用:
● 運用監視ツール pg_statsinfo /
pg_badger / pg_monz
● クライアントツール PgAdmin4 /
SI Object Browser
● 各種クラウド、 k8s 対応
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
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 クラスタにおける高度要件
● 障害復旧時間の最小化要件
– 15 秒以内、など
19
PostgreSQL クラウド / コンテナ
● クラウドサービス
● Azure Database
● AWS RDS / Aurora
● GCP Cloud SQL
● K8s オペレータ
● KubeDB
● CrunchyData/
postgres-operator
● Zalando/postgres-
operator
20
コミュニティと商用サポート
● 開発コミュニティ (Mailing List, Git, Slack)
(PostgreSQL Global Development Group)
● 国内のコミュニティ活動
– 日本 PostgreSQL ユーザ会 (JPUG)
– PostgreSQL エンタープライズ・コンソーシアム
( PGECons )
● 国内の商用サポート
– 提供会社いくつかあり、取り扱い会社多数
https://www.pgecons.org/postgresql-info/services/
21
ユーザ動向
● 「より大規模」「よりクリティカル」は一巡
● 世界中どこで使われていても珍しくない
● Oracle Database からの移行、最終組がスタート
● 「 RAC 同様」の壁は残る
● JPUG による利用調査
● PostgreSQL は
4大人気 DBMS の一角
Oracle
SQLServer
MySQL
PostgreSQL
Other DBs
2019 年 JPUG 調べ :
「近年業務で関わった DBMS 」
回答数(複数回答)
22
JPUG の活動
● イベント
● PostgreSQL アンカンファレンス - 最近はオンラインで毎月
● PostgreSQL カンファレンス
● PostgreSQL 勉強会 - 各地支部でそれぞれ年1回~数回
● 合宿 (年 0 ~ 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 )
Ad

Recommended

Postgre sql update_20170310
Postgre sql update_20170310
Haruka Takatsuka
 
PostgreSQL UPDATEs 2016年5月 - OSC群馬
PostgreSQL UPDATEs 2016年5月 - OSC群馬
Haruka Takatsuka
 
PostgreSQL共有バッファと関連ツール
PostgreSQL共有バッファと関連ツール
Masahiko Sawada
 
PostgreSQL安定運用のコツ2009 @hbstudy#5
PostgreSQL安定運用のコツ2009 @hbstudy#5
Uptime Technologies LLC (JP)
 
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
Shigeru Hanada
 
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Uptime Technologies LLC (JP)
 
pgstattuple2: デッドタプル推定のための統計的手法
pgstattuple2: デッドタプル推定のための統計的手法
Uptime Technologies LLC (JP)
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
 
Jpug study-pq 20170121
Jpug study-pq 20170121
Kosuke Kida
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
Kohei KaiGai
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
Uptime Technologies LLC (JP)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
Toshi Harada
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Uptime Technologies LLC (JP)
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説
Masahiko Sawada
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
Insight Technology, Inc.
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
Kosuke Kida
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
Shigeru Hanada
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
Uptime Technologies LLC (JP)
 
JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)
Chika SATO
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料
Chika SATO
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
NTT DATA OSS Professional Services
 

More Related Content

What's hot (20)

PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
 
Jpug study-pq 20170121
Jpug study-pq 20170121
Kosuke Kida
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
Kohei KaiGai
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
Uptime Technologies LLC (JP)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
Toshi Harada
 
PostgreSQLバックアップの基本
PostgreSQLバックアップの基本
Uptime Technologies LLC (JP)
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説
Masahiko Sawada
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
Insight Technology, Inc.
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
Kosuke Kida
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
Shigeru Hanada
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
Uptime Technologies LLC (JP)
 
JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)
Chika SATO
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
Uptime Technologies LLC (JP)
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料
Chika SATO
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
 
Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
Toshi Harada
 
Jpug study-pq 20170121
Jpug study-pq 20170121
Kosuke Kida
 
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
PostgreSQLアーキテクチャ入門(INSIGHT OUT 2011)
Uptime Technologies LLC (JP)
 
並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
Kohei KaiGai
 
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
Uptime Technologies LLC (JP)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
Toshi Harada
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説
Masahiko Sawada
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
 
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
PostgreSQLの新バージョン -PostgreSQL9.4- のご紹介
Insight Technology, Inc.
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
Kosuke Kida
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
Shigeru Hanada
 
まずやっとくPostgreSQLチューニング
まずやっとくPostgreSQLチューニング
Kosuke Kida
 
JPUG 沖縄支部セミナー資料(2013-04-27)
JPUG 沖縄支部セミナー資料(2013-04-27)
Chika SATO
 
OSC東京2013/Spring_JPUG資料
OSC東京2013/Spring_JPUG資料
Chika SATO
 

Similar to JTF2021w F3 postgresql frontline (20)

最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL9.3新機能紹介
PostgreSQL9.3新機能紹介
NTT DATA OSS Professional Services
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
NTT DATA Technology & Innovation
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL 12の話
PostgreSQL 12の話
Masahiko Sawada
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Insight Technology, Inc.
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
Toshi Harada
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
Masahiko Sawada
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6
Toshi Harada
 
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
Insight Technology, Inc.
 
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
Yoshinori Nakanishi
 
Incoming PostgreSQL 9.4 次バージョンの新機能をご紹介
Incoming PostgreSQL 9.4 次バージョンの新機能をご紹介
Ryuichiro Munechika
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
Insight Technology, Inc.
 
10大ニュースで振り返るPGCon2015
10大ニュースで振り返るPGCon2015
NTT DATA OSS Professional Services
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
Ohyama Masanori
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
NTT DATA Technology & Innovation
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Insight Technology, Inc.
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
Toshi Harada
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
Masahiko Sawada
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6
Toshi Harada
 
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
[B32] クイズと都市伝説から見る、ありのままのPostgreSQL by Shigeyuki Tokuhara
Insight Technology, Inc.
 
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
 
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
各スペシャリストがお届け!データベース最新情報セミナー -PostgreSQL10-
Yoshinori Nakanishi
 
Incoming PostgreSQL 9.4 次バージョンの新機能をご紹介
Incoming PostgreSQL 9.4 次バージョンの新機能をご紹介
Ryuichiro Munechika
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
Kohei KaiGai
 
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
[db tech showcase Tokyo 2014] C31: PostgreSQLをエンタープライズシステムで利用しよう by PostgreS...
Insight Technology, Inc.
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
Ohyama Masanori
 
Ad

JTF2021w F3 postgresql frontline

  • 1. 1 PostgreSQL 最前線 JTF2021w 2021-01-24 13:45 - 14:10 (F3) 日本 PostgreSQL ユーザ会 理事 高塚 遥 ~ 今大体どうなっているの? ~
  • 2. 2 TOC : ● 「 PostgreSQL は今ど うなっている?」を 25 分で解説 ● 「 PostgreSQL ってな んだったっけ?」という 人でも大丈夫 講演者 : ● 高塚 遥 ● 日本 PostgreSQL ユーザ会 理事 ● 仕事ではヘルプデスク、 コンサルティングなど、 PostgreSQL 支援業務
  • 3. 3 PostgreSQL とは ● 多機能、高性能、かつオープンソースの リレーショナルデータベース管理システム – INGRES('70),POSTGRES('80) 由来の歴史 – BSD タイプのライセンス – 特定オーナー企業が無い 企業 製品 ある種の OSS 開発体制 開発者 PostgreSQL 企業 企業 企業 PostgreSQL 開発体制
  • 4. 4 PostgreSQL リリース 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 コード行数 ‘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
  • 5. 5 最近の大きなエンハンスメント ● JIT コンパイル (11) ● Table Access Method インタフェース (12) ● Btree インデックスの重複除去 (13) ● パラレルクエリ対応と強化( 9.6 - 13) ● テーブルパーティショニング対応と強化 (10 - 13) ● ロジカルレプリケーション対応 (10)
  • 6. 6 バージョン 14 の展望 ● 例年の流れ : 5 月ごろ仕様確定 → 秋ごろリリース ● CommitFest 2020-07, 2020-09, 2020-11, 2021-01, 2021-03 ● 各種拡張 ● View 差分更新 ● テンポラルテーブル ● Index Skip Scan ( Loose Index Scan) ● スキーマ変数(パッケージ変数相当) ● グローバル一時テーブル ● MERGE 文 /  SEARCH 、 CYCLE 句 /  標準 SQL 関数構文 ● パラレル INSERT を含む並列化対応強化 ● WAL 無効化オプション / 不揮発 WAL バッファ(不揮発メモリ用) ● その他にも改善多数
  • 7. 7 現在の PostgreSQL と周辺 SQL 機能: ● SQL:2016 の大部分に対応 ● 各種のストアド言語 ● 地理情報対応 (PostGIS) ● JSON 対応 ● 豊富な拡張インタフェース クラスタ構成: ● Streaming Replication   ● Logical Replication   ● HA クラスタ (active/standby) ● MPP クラスタ (shared nothing) ● RAC 型 (shared disk) は不可 × 性能: ● 参照更新で多コア性能スケール (ベンチマークベース) ● パーティション/パラレル対応 ● Just In Compile 対応 ● インメモリ対応は無し × 運用: ● 運用監視ツール pg_statsinfo / pg_badger / pg_monz ● クライアントツール PgAdmin4 / SI Object Browser ● 各種クラウド、 k8s 対応
  • 8. 8 SQL 機能面でのアドバンテージ ● ストアド言語 ● PL/pgSQL ● Perl 、 Python 、 Tcl ● V8 (JavaScript) ● JSON 対応 ● JSON の内部要素に インデックス ● JSON Path 関数 ● PostGIS ● OSS 拡張 ● 地理情報のデファクト スタンダード
  • 9. 9 現在の PostgreSQL と周辺 SQL 機能: ● SQL:2016 の大部分に対応 ● 各種のストアド言語 ● 地理情報対応 (PostGIS) ● JSON 対応 ● 豊富な拡張インタフェース クラスタ構成: ● Streaming Replication   ● Logical Replication   ● HA クラスタ (active/standby) ● MPP クラスタ (shared nothing) ● RAC 型 (shared disk) は不可 × 性能: ● 参照更新で多コア性能スケール (ベンチマークベース) ● パーティション/パラレル対応 ● Just In Compile 対応 ● インメモリ対応は無し × 運用: ● 運用監視ツール pg_statsinfo / pg_badger / pg_monz ● クライアントツール PgAdmin4 / SI Object Browser ● 各種クラウド、 k8s 対応
  • 10. 10 CPU スケール(参照系) 2012 年度 PGECons WG1 成果資料より 9.2.x の段階で 参照はスケール コア数 = 同時実行数ピーク の結果
  • 11. 11 CPU スケール(更新系) 2016 年度 PGECons WG1 成果資料より 9.6.x で 更新スケール あくまでベンチマーク結果であることに注意!
  • 12. 12 現在の PostgreSQL と周辺 SQL 機能: ● SQL:2016 の大部分に対応 ● 各種のストアド言語 ● 地理情報対応 (PostGIS) ● JSON 対応 ● 豊富な拡張インタフェース クラスタ構成: ● Streaming Replication   ● Logical Replication   ● HA クラスタ (active/standby) ● MPP クラスタ (shared nothing) ● RAC 型 (shared disk) は不可 × 性能: ● 参照更新で多コア性能スケール (ベンチマークベース) ● パーティション/パラレル対応 ● Just In Compile 対応 ● インメモリ対応は無し × 運用: ● 運用監視ツール pg_statsinfo / pg_badger / pg_monz ● クライアントツール PgAdmin4 / SI Object Browser ● 各種クラウド、 k8s 対応
  • 13. 13 PostgreSQL のレプリケーション DB サーバ DB サーバ DB サーバ DB サーバ DB サーバ シングルマスタ マルチスレーブ カスケード 可能 DB サーバ 同期スタンバイ を指定可能 クォーラム指定 (内何台に     書込したら) インスタンス単位 WAL ストリームによる 物理レプリケーション 10 から 9.0 から DB サーバ 9.1 から 9.2 から テーブル単位 論理レプリケーション 10 から マルチマスタ テーブル単位論理 レプリケーションは サードパーティ製品で Postgres-BDR, etc
  • 14. 14 PostgreSQL クラスタ構成 ● HA クラスタ ● Pacemaker 等の各種 HA クラスタソフトで対応 ● MPP クラスタ(シャーディング - データ分割格納) ● Greenplum ● Citus (Azure Hyperscale) ● Postgres-XL ● k8s オペレータ ● Pgpool-II
  • 15. 15 現在の PostgreSQL と周辺 SQL 機能: ● SQL:2016 の大部分に対応 ● 各種のストアド言語 ● 地理情報対応 (PostGIS) ● JSON 対応 ● 豊富な拡張インタフェース クラスタ構成: ● Streaming Replication   ● Logical Replication   ● HA クラスタ (active/standby) ● MPP クラスタ (shared nothing) ● RAC 型 (shared disk) は不可 × 性能: ● 参照更新で多コア性能スケール (ベンチマークベース) ● パーティション/パラレル対応 ● Just In Compile 対応 ● インメモリ対応は無し × 運用: ● 運用監視ツール pg_statsinfo / pg_badger / pg_monz ● クライアントツール PgAdmin4 / SI Object Browser ● 各種クラウド、 k8s 対応
  • 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 クラスタにおける高度要件 ● 障害復旧時間の最小化要件 – 15 秒以内、など
  • 19. 19 PostgreSQL クラウド / コンテナ ● クラウドサービス ● Azure Database ● AWS RDS / Aurora ● GCP Cloud SQL ● K8s オペレータ ● KubeDB ● CrunchyData/ postgres-operator ● Zalando/postgres- operator
  • 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 からの移行、最終組がスタート ● 「 RAC 同様」の壁は残る ● JPUG による利用調査 ● PostgreSQL は 4大人気 DBMS の一角 Oracle SQLServer MySQL PostgreSQL Other DBs 2019 年 JPUG 調べ : 「近年業務で関わった DBMS 」 回答数(複数回答)
  • 22. 22 JPUG の活動 ● イベント ● PostgreSQL アンカンファレンス - 最近はオンラインで毎月 ● PostgreSQL カンファレンス ● PostgreSQL 勉強会 - 各地支部でそれぞれ年1回~数回 ● 合宿 (年 0 ~ 1 回程度) ● OSC など各種イベントに出展(通年) ● 文書翻訳  https://github.com/pgsql-jp/jpug-doc ● ML 運営 [email protected], [email protected] ● 最近は Slack postgresql-jp が人口増加中 ● Web 運営 ( www.postgresql.jp 、 lets.postgresql.jp )