SlideShare a Scribd company logo
第20回 PostgreSQLアンカンファレンス@オンライン
© 2021 NTT DATA Corporation
PostgreSQLのgitレポジトリから見える2020年の開発状況
2021年2月2日
株式会社NTTデータ 藤井 雅雄
© 2021 NTT DATA Corporation 2
2
© 2021 NTT DATA Corporation
自己紹介
藤井 雅雄
Database Technical Lead @ NTTデータ
データベース研究開発
PostgreSQL 技術支援
PostgreSQLコミッタ
レプリケーション
WAL圧縮
バックアップ進捗確認
pg_bigm(全文検索モジュール)コミッタ
@fujii_masao
© 2021 NTT DATA Corporation 3
YouTubeチャンネル “NTT DATA Tech”
技術取り組み、活用情報を中心にお届けします
https://www.youtube.com/NTTDATATech
© 2021 NTT DATA Corporation 4
4
© 2021 NTT DATA Corporation
本講演について
講演資料は、NTTデータのSlideShareアカウント上で公開予定です。
https://www.slideshare.net/nttdata-tech
PostgreSQLカンファレンスや以前のアンカンファレンスの講演資料も公開しています。
• 押さえておきたい、PostgreSQL 13 の新機能!!
• オンライン物理バックアップの排他モードと非排他モードについて
• PostgreSQL 13 での pg_stat_statements の改善について
• PostgreSQL 13 での pg_basebackup の改善について
• PostgreSQL 13 での レプリケーション関連 の改善について
© 2021 NTT DATA Corporation
PostgreSQLのgitレポジトリから見える
2020年の開発状況
© 2021 NTT DATA Corporation 6
6
© 2021 NTT DATA Corporation
前提
$ git branch
REL9_5_STABLE
REL9_6_STABLE
REL_10_STABLE
REL_11_STABLE
REL_12_STABLE
REL_13_STABLE
master
調査対象のブランチはmasterのみ
$ git clone git://git.postgresql.org/git/postgresql.git
$ git clone https://github.com/postgres/postgres.git
PostgreSQL本体のgitレポジトリを調査
© 2021 NTT DATA Corporation 7
7
© 2021 NTT DATA Corporation
前提
$ git log --since 2020-01-01 --until 2020-12-31
--pretty=format:"%h %cd %s" --date=iso-local | tail -1
7559d8ebfa 2020-01-02 02:21:45 +0900 Update copyrights for 2020
$ git log --since 2020-01-01 --until 2020-12-31
--pretty=format:"%h %cd %s" --date=iso-local | head -1
32d6287d2e 2020-12-31 10:21:42 +0900
Get heap page max offset with buffer lock held.
もしくは、下記のコミットのハッシュを指定して2020年のコミットを取得
$ git ... --since 2020-01-01 --until 2020-12-31
--sinceと--untilのオプション指定で2020年のコミットを取得
© 2021 NTT DATA Corporation 8
8
© 2021 NTT DATA Corporation
2020年の総コミット数
$ git log --since 2020-01-01 --until 2020-12-31 --oneline | wc -l
2180
2020年の総コミット数
$ git log --pretty=format:"%cd" --date=format:"%Y" | sort |
uniq -c | awk '{print $2 " " $1}' | tail -5
2017 2477
2018 2127
2019 2130
2020 2181
2021 129
直近5年の各年の総コミット数
2020年は例年並みのコミット数?
総コミット数については新型コロナの影響はなさそう
© 2021 NTT DATA Corporation 9
9
© 2021 NTT DATA Corporation
1996年から2020年までの各年のコミット数の推移
0
500
1000
1500
2000
2500
3000
3500
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
$ git log --pretty=format:"%cd" --date=format:"%Y" | sort | uniq -c |
awk '{print $2 " " $1}'
v10 (論理レプリ、パーティション)
v7.1 (WAL、TOAST)
© 2021 NTT DATA Corporation 10
10
© 2021 NTT DATA Corporation
2020年の月別のコミット数の推移
$ git log --since 2020-01-01 --until 2020-12-31 --pretty=format:"%cd"
--date=format:"%Y-%m" | sort | uniq -c
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12
Feature Freeze
夏休み??
クリスマス休暇??
© 2021 NTT DATA Corporation 11
11
© 2021 NTT DATA Corporation
2020年のコミッタ別のコミット数
$ git shortlog --since 2020-01-01 --until 2020-12-31 -s -n | nl
1 567 Tom Lane
2 261 Peter Eisentraut
3 244 Michael Paquier
4 131 Bruce Momjian
5 122 Alvaro Herrera
6 115 Peter Geoghegan
7 108 Fujii Masao
8 93 Amit Kapila
9 69 Thomas Munro
10 59 Andres Freund
11 56 Heikki Linnakangas
12 48 Robert Haas
....
© 2021 NTT DATA Corporation 12
12
© 2021 NTT DATA Corporation
2020年の(コミッタ所属の)会社別のコミット数
1 690 Crunchy Data (4)
2 626 EnterpriseDB (6)
3 300 VMWare (3)
4 212 Microsoft (4)
5 108 NTT Data (1)
6 93 Fujitsu (1)
7 53 Unknown (3)
8 48 Postgres Professional (2)
9 31 Redpill Linpro (1)
10 8 NTT (1)
10 8 University of Cambridge (1)
12 2 SRA OSS (1)
13 1 credativ (1) ※2020年のコミッタ別のコミット数について、
2020年末時点のコミッタの所属企業ごとに集計
© 2021 NTT DATA Corporation 13
13
© 2021 NTT DATA Corporation
2020年によく更新されたドキュメント
$ git diff 7559d8ebfa 32d6287d2e --stat | grep "¥.sgml" |
sort -k 3 -n -r | head -5
doc/src/sgml/func.sgml | 34376 +++++++++++--------
doc/src/sgml/catalogs.sgml | 10495 +++---
doc/src/sgml/monitoring.sgml | 7795 +++--
doc/src/sgml/information_schema.sgml | 6549 ++--
doc/src/sgml/glossary.sgml | 1962 ++
2020年に更新の多かったドキュメント、トップ5
関数やカタログ、統計情報ビューなどの
一覧表についてフォーマットが大幅変更
© 2021 NTT DATA Corporation 14
14
© 2021 NTT DATA Corporation
関数やカタログ、統計情報ビューなどの一覧表のフォーマット変更
v12以前
v13以降
※https://www.postgresql.org/docs/12/functions-math.html
※https://www.postgresql.org/docs/13/functions-math.html
© 2021 NTT DATA Corporation 15
15
© 2021 NTT DATA Corporation
2020年によく更新されたドキュメント
$ git diff 7559d8ebfa 32d6287d2e --stat | grep "¥.sgml" |
sort -k 3 -n -r | head -5
doc/src/sgml/func.sgml | 34376 +++++++++++--------
doc/src/sgml/catalogs.sgml | 10495 +++---
doc/src/sgml/monitoring.sgml | 7795 +++--
doc/src/sgml/information_schema.sgml | 6549 ++--
doc/src/sgml/glossary.sgml | 1962 ++
2020年に更新の多かったドキュメント、トップ5
用語集がドキュメントに追加
© 2021 NTT DATA Corporation 16
16
© 2021 NTT DATA Corporation
用語集
※https://www.postgresql.org/docs/13/glossary.html
© 2021 NTT DATA Corporation 17
17
© 2021 NTT DATA Corporation
2020年によく更新されたソースファイル
$ git diff 7559d8ebfa 32d6287d2e --stat | grep -E "¥.[chy]" |
sort -k 3 -n -r | head -5
src/include/common/unicode_norm_table.h | 7955 ++---
src/include/common/unicode_normprops_table.h | 7775 +++++
src/backend/commands/copy.c | 4683 +--
src/include/common/unicode_norm_hashfunc.h | 2932 ++
src/backend/utils/adt/multirangetypes.c | 2790 ++
2020年に更新の多かったソースファイル、トップ5
Unicode文字列を正規化するためのルールなどを保持。
Unicodeデータのアップデートでソースを大量更新
18
© 2020 NTT DATA Corporation
Unicode文字列の正規化関数
v13から、normalize関数を使って、Unicode文字列を正規化可能に!
=# SELECT normalize('アイウエオ', NFKC);
正規化対象の文字列 正規化形式
• NFC (デフォルト)
• NFD
• NFKC
• NFKD
19
© 2020 NTT DATA Corporation
Unicode文字列のNFKCでの正規化例
=# SELECT normalize('アイウエオ', NFKC);
normalize
------------
アイウエオ
(1 row)
=# SELECT normalize('AbCdE123', NFKC);
normalize
-----------
AbCdE123
(1 row)
=# SELECT normalize('㌢㋿㊨⑤Ⅷ㈲', NFKC);
normalize
-----------------------
センチ令和右5VIII(有)
(1 row)
半角カタカナを全角カタカナに変換
全角英数字を半角英数字に変換
記号や環境依存文字を変換
© 2021 NTT DATA Corporation 20
20
© 2021 NTT DATA Corporation
最後に - 2021年の目標
$ git shortlog -s -n | head -18 | nl
1 14660 Tom Lane
2 13637 Bruce Momjian
3 4762 Peter Eisentraut
4 2181 Robert Haas
5 1527 Alvaro Herrera
6 1491 Marc G. Fournier
7 1398 Heikki Linnakangas
~
15 519 Vadim B. Mikheev
16 453 Simon Riggs
17 414 Tatsuo Ishii
18 400 Fujii Masao
全期間のコミッタ別のコミット数 (2021-01-21時点)
2021年でコミット数500の大台に!!できれば。。
© 2020 NTT DATA Corporation
その他、記載されている会社名、商品名、又はサービス名は、
各社の登録商標又は商標です。

More Related Content

PDF
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PPTX
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
pg_standbyの今後について(第19回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのfull_page_writesについて(第24回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLモニタリング機能の現状とこれから(Open Developers Conference 2020 Online 発表資料)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQLの統計情報について(第26回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL初心者がパッチを提案してからコミットされるまで(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
祝!PostgreSQLレプリケーション10周年!徹底紹介!!

What's hot (20)

PDF
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PPTX
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PDF
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
PPTX
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
PPTX
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
PPTX
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PPTX
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
PPTX
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PPTX
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PPTX
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
PPTX
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
PPTX
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
PPTX
RyzenでC2 JITと戯れる(JJUGナイトセミナー 2020年8月26日 発表資料)
PPTX
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
オンライン物理バックアップの排他モードと非排他モードについて(第15回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
堅牢な国内システムへの導入でも安心!実践的Mulesoft設計テクニック(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
まだプログラム手で書いて消耗してるの?~入出力例からプログラムを自動生成する技術~(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019...
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
RyzenでC2 JITと戯れる(JJUGナイトセミナー 2020年8月26日 発表資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
Ad

Similar to PostgreSQLのgitレポジトリから見える2020年の開発状況(第20回PostgreSQLアンカンファレンス@オンライン 発表資料) (20)

PDF
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PPTX
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PDF
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PDF
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PDF
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
PDF
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PDF
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
PDF
PostgreSQL 15 開発最新情報
PDF
10大ニュースで振り返るPGCon2015
PDF
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
10大ニュースで振り返るpg con2013
PDF
PostgreSQL 12の話
PDF
【Jpug勉強会】10大ニュースで振り返るpg con2013
PDF
PostgreSQL 9.6 新機能紹介
PPTX
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
PDF
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発...
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
PostgreSQL 15 開発最新情報
10大ニュースで振り返るPGCon2015
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
10大ニュースで振り返るpg con2013
PostgreSQL 12の話
【Jpug勉強会】10大ニュースで振り返るpg con2013
PostgreSQL 9.6 新機能紹介
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
C27 基幹領域への適用におけるpostgre sqlの抱える課題 by 原嘉彦
Ad

More from NTT DATA Technology & Innovation (20)

PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PDF
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
PDF
2025年現在のNewSQL (最強DB講義 #36 発表資料)
PDF
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
PDF
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
PDF
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
PDF
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PDF
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
PDF
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PDF
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PDF
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
PDF
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
PDF
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)

PostgreSQLのgitレポジトリから見える2020年の開発状況(第20回PostgreSQLアンカンファレンス@オンライン 発表資料)

  • 1. 第20回 PostgreSQLアンカンファレンス@オンライン © 2021 NTT DATA Corporation PostgreSQLのgitレポジトリから見える2020年の開発状況 2021年2月2日 株式会社NTTデータ 藤井 雅雄
  • 2. © 2021 NTT DATA Corporation 2 2 © 2021 NTT DATA Corporation 自己紹介 藤井 雅雄 Database Technical Lead @ NTTデータ データベース研究開発 PostgreSQL 技術支援 PostgreSQLコミッタ レプリケーション WAL圧縮 バックアップ進捗確認 pg_bigm(全文検索モジュール)コミッタ @fujii_masao
  • 3. © 2021 NTT DATA Corporation 3 YouTubeチャンネル “NTT DATA Tech” 技術取り組み、活用情報を中心にお届けします https://www.youtube.com/NTTDATATech
  • 4. © 2021 NTT DATA Corporation 4 4 © 2021 NTT DATA Corporation 本講演について 講演資料は、NTTデータのSlideShareアカウント上で公開予定です。 https://www.slideshare.net/nttdata-tech PostgreSQLカンファレンスや以前のアンカンファレンスの講演資料も公開しています。 • 押さえておきたい、PostgreSQL 13 の新機能!! • オンライン物理バックアップの排他モードと非排他モードについて • PostgreSQL 13 での pg_stat_statements の改善について • PostgreSQL 13 での pg_basebackup の改善について • PostgreSQL 13 での レプリケーション関連 の改善について
  • 5. © 2021 NTT DATA Corporation PostgreSQLのgitレポジトリから見える 2020年の開発状況
  • 6. © 2021 NTT DATA Corporation 6 6 © 2021 NTT DATA Corporation 前提 $ git branch REL9_5_STABLE REL9_6_STABLE REL_10_STABLE REL_11_STABLE REL_12_STABLE REL_13_STABLE master 調査対象のブランチはmasterのみ $ git clone git://git.postgresql.org/git/postgresql.git $ git clone https://github.com/postgres/postgres.git PostgreSQL本体のgitレポジトリを調査
  • 7. © 2021 NTT DATA Corporation 7 7 © 2021 NTT DATA Corporation 前提 $ git log --since 2020-01-01 --until 2020-12-31 --pretty=format:"%h %cd %s" --date=iso-local | tail -1 7559d8ebfa 2020-01-02 02:21:45 +0900 Update copyrights for 2020 $ git log --since 2020-01-01 --until 2020-12-31 --pretty=format:"%h %cd %s" --date=iso-local | head -1 32d6287d2e 2020-12-31 10:21:42 +0900 Get heap page max offset with buffer lock held. もしくは、下記のコミットのハッシュを指定して2020年のコミットを取得 $ git ... --since 2020-01-01 --until 2020-12-31 --sinceと--untilのオプション指定で2020年のコミットを取得
  • 8. © 2021 NTT DATA Corporation 8 8 © 2021 NTT DATA Corporation 2020年の総コミット数 $ git log --since 2020-01-01 --until 2020-12-31 --oneline | wc -l 2180 2020年の総コミット数 $ git log --pretty=format:"%cd" --date=format:"%Y" | sort | uniq -c | awk '{print $2 " " $1}' | tail -5 2017 2477 2018 2127 2019 2130 2020 2181 2021 129 直近5年の各年の総コミット数 2020年は例年並みのコミット数? 総コミット数については新型コロナの影響はなさそう
  • 9. © 2021 NTT DATA Corporation 9 9 © 2021 NTT DATA Corporation 1996年から2020年までの各年のコミット数の推移 0 500 1000 1500 2000 2500 3000 3500 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 $ git log --pretty=format:"%cd" --date=format:"%Y" | sort | uniq -c | awk '{print $2 " " $1}' v10 (論理レプリ、パーティション) v7.1 (WAL、TOAST)
  • 10. © 2021 NTT DATA Corporation 10 10 © 2021 NTT DATA Corporation 2020年の月別のコミット数の推移 $ git log --since 2020-01-01 --until 2020-12-31 --pretty=format:"%cd" --date=format:"%Y-%m" | sort | uniq -c 0 50 100 150 200 250 300 1 2 3 4 5 6 7 8 9 10 11 12 Feature Freeze 夏休み?? クリスマス休暇??
  • 11. © 2021 NTT DATA Corporation 11 11 © 2021 NTT DATA Corporation 2020年のコミッタ別のコミット数 $ git shortlog --since 2020-01-01 --until 2020-12-31 -s -n | nl 1 567 Tom Lane 2 261 Peter Eisentraut 3 244 Michael Paquier 4 131 Bruce Momjian 5 122 Alvaro Herrera 6 115 Peter Geoghegan 7 108 Fujii Masao 8 93 Amit Kapila 9 69 Thomas Munro 10 59 Andres Freund 11 56 Heikki Linnakangas 12 48 Robert Haas ....
  • 12. © 2021 NTT DATA Corporation 12 12 © 2021 NTT DATA Corporation 2020年の(コミッタ所属の)会社別のコミット数 1 690 Crunchy Data (4) 2 626 EnterpriseDB (6) 3 300 VMWare (3) 4 212 Microsoft (4) 5 108 NTT Data (1) 6 93 Fujitsu (1) 7 53 Unknown (3) 8 48 Postgres Professional (2) 9 31 Redpill Linpro (1) 10 8 NTT (1) 10 8 University of Cambridge (1) 12 2 SRA OSS (1) 13 1 credativ (1) ※2020年のコミッタ別のコミット数について、 2020年末時点のコミッタの所属企業ごとに集計
  • 13. © 2021 NTT DATA Corporation 13 13 © 2021 NTT DATA Corporation 2020年によく更新されたドキュメント $ git diff 7559d8ebfa 32d6287d2e --stat | grep "¥.sgml" | sort -k 3 -n -r | head -5 doc/src/sgml/func.sgml | 34376 +++++++++++-------- doc/src/sgml/catalogs.sgml | 10495 +++--- doc/src/sgml/monitoring.sgml | 7795 +++-- doc/src/sgml/information_schema.sgml | 6549 ++-- doc/src/sgml/glossary.sgml | 1962 ++ 2020年に更新の多かったドキュメント、トップ5 関数やカタログ、統計情報ビューなどの 一覧表についてフォーマットが大幅変更
  • 14. © 2021 NTT DATA Corporation 14 14 © 2021 NTT DATA Corporation 関数やカタログ、統計情報ビューなどの一覧表のフォーマット変更 v12以前 v13以降 ※https://www.postgresql.org/docs/12/functions-math.html ※https://www.postgresql.org/docs/13/functions-math.html
  • 15. © 2021 NTT DATA Corporation 15 15 © 2021 NTT DATA Corporation 2020年によく更新されたドキュメント $ git diff 7559d8ebfa 32d6287d2e --stat | grep "¥.sgml" | sort -k 3 -n -r | head -5 doc/src/sgml/func.sgml | 34376 +++++++++++-------- doc/src/sgml/catalogs.sgml | 10495 +++--- doc/src/sgml/monitoring.sgml | 7795 +++-- doc/src/sgml/information_schema.sgml | 6549 ++-- doc/src/sgml/glossary.sgml | 1962 ++ 2020年に更新の多かったドキュメント、トップ5 用語集がドキュメントに追加
  • 16. © 2021 NTT DATA Corporation 16 16 © 2021 NTT DATA Corporation 用語集 ※https://www.postgresql.org/docs/13/glossary.html
  • 17. © 2021 NTT DATA Corporation 17 17 © 2021 NTT DATA Corporation 2020年によく更新されたソースファイル $ git diff 7559d8ebfa 32d6287d2e --stat | grep -E "¥.[chy]" | sort -k 3 -n -r | head -5 src/include/common/unicode_norm_table.h | 7955 ++--- src/include/common/unicode_normprops_table.h | 7775 +++++ src/backend/commands/copy.c | 4683 +-- src/include/common/unicode_norm_hashfunc.h | 2932 ++ src/backend/utils/adt/multirangetypes.c | 2790 ++ 2020年に更新の多かったソースファイル、トップ5 Unicode文字列を正規化するためのルールなどを保持。 Unicodeデータのアップデートでソースを大量更新
  • 18. 18 © 2020 NTT DATA Corporation Unicode文字列の正規化関数 v13から、normalize関数を使って、Unicode文字列を正規化可能に! =# SELECT normalize('アイウエオ', NFKC); 正規化対象の文字列 正規化形式 • NFC (デフォルト) • NFD • NFKC • NFKD
  • 19. 19 © 2020 NTT DATA Corporation Unicode文字列のNFKCでの正規化例 =# SELECT normalize('アイウエオ', NFKC); normalize ------------ アイウエオ (1 row) =# SELECT normalize('AbCdE123', NFKC); normalize ----------- AbCdE123 (1 row) =# SELECT normalize('㌢㋿㊨⑤Ⅷ㈲', NFKC); normalize ----------------------- センチ令和右5VIII(有) (1 row) 半角カタカナを全角カタカナに変換 全角英数字を半角英数字に変換 記号や環境依存文字を変換
  • 20. © 2021 NTT DATA Corporation 20 20 © 2021 NTT DATA Corporation 最後に - 2021年の目標 $ git shortlog -s -n | head -18 | nl 1 14660 Tom Lane 2 13637 Bruce Momjian 3 4762 Peter Eisentraut 4 2181 Robert Haas 5 1527 Alvaro Herrera 6 1491 Marc G. Fournier 7 1398 Heikki Linnakangas ~ 15 519 Vadim B. Mikheev 16 453 Simon Riggs 17 414 Tatsuo Ishii 18 400 Fujii Masao 全期間のコミッタ別のコミット数 (2021-01-21時点) 2021年でコミット数500の大台に!!できれば。。
  • 21. © 2020 NTT DATA Corporation その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。