2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PostgreSQL Conference Japan 2024 参加レポート

Last updated at Posted at 2024-12-12

こんにちは。インプリムのhmineです。

ふだんはOSSのノーコード・ローコードツール「プリザンター」に機能追加をしています。

PostgreSQL Conference Japan 2024に参加しました。

2024/12/6(金)にオフライン開催された「PostgreSQL Conference Japan 2024」。
インプリムはシルバースポンサー(展示あり)として参加しました。

私は展示ブースのメンバーとして参加しつつ、カンファレンスを現地で聴講しました。
大変楽しい一日でした!

講演を聴講しました。

■基調講演1 PostgreSQL 17とPostgreSQL開発最前線

PostgreSQL17が2024/9/26にリリースされた。
https://www.postgresql.org/docs/17/release-17.html

Vacuum機能の改善、論理レプリケーション機能の改善や、増分バックアップ機能の追加といったニュースを、開発者自らが解説。

■基調講演2 AWS and the PostgreSQL community

PostgreSQLの開発コミュニティの体制について。

・全世界における開発者(発表者調べ):
 コア:7名/コミッター:30名/
 コントリビュータ(本体開発、周辺機能の開発、レビュー、翻訳 含む):450名超
 セキュリティ:17名/インフラ:6名 ←これはコミュニティ活動専用システムの部隊。
・他にAdvocacy(支援者)が多数。

AWSの社員の一部には、PostgreSQLの開発専任者がいる。(基調講演者のAWS社員2名もそれに該当)

コードベースの開発規模は年々増加傾向にある。コミュニティでレビュアーを育成することが今後の課題。

■MySQL 8.0 から PostgreSQL 16 への移行と RLS 導入までの道のりと学び

機密性の高い情報を扱うSaaSを運営している、スタートアップ企業の事例。(運用のベースはAWS)

アプリケーションは人力で設計・実装されるものであるためミスが多い → DBの仕組みによる情報漏洩防止策が必要だった。
MySQLからPostgreSQLに移行したのは、MySQLでは漏洩を防ぐ仕組みが脆弱と判断したためである。

移行に併せてPostgreSQLのRow Level Security機能を導入した。
事前調査に力を入れていたことや、移行計画に余裕を持たせていたことが幸いし、スムーズに移行をすることができた。

■PostgreSQL でインデックスはどう使われるのか

SQL文の読取りから内部の実行処理まで流れを確認。
・パーサ → リライタ → プランナ → エグゼキュータ

処理の流れに着目し「なぜインデックスを追加したのに、SELECT文を高速化できないのか?」よくある原因を解説。

もし「遅いクエリ」を検知した際には、プランナーの実行計画を確認し、「インデックスが使われていないのではないか?」という可能性も疑ってみる。

■基礎から学ぶ PostgreSQL のバックアップ ―基本機能と運用設計

バックアップの手法について、単純なものから解説。
・オフライン物理バックアップ → DB停止後、OS上でファイルをコピーする。
・オンライン論理バックアップ → pg_dumpコマンド、pg_dumpallコマンドでSQL文を取得する。
・オンライン物理バックアップ → PostgreSQLの主力機能。WAL(先行書き込みログ)の理解がカギ。

バックアップとは、それを利用してリストア→リカバリできることが前提であり、リストア・リカバリの方式を併せて理解することが重要である。

感想

PostgreSQLの機能、AWS等のクラウドサービスが提供する機能の理解…と、やることは、いくらでも、たくさんあると思いました。

ふだん開発に関わっている「プリザンター」がPostgreSQLも使用できる(※)関係上、私の周りには、Windows版やLinux版のPostgreSQL、Dockerイメージ、クラウドサービスのPostgreSQLに触れる環境が整っています。

※:GitHubで配布しているモジュールを利用する場合、PostgreSQL・MySQL・SQLServerの中から、使用するDBを選択します。
※:なおプリザンターのSaaS版(Pleasanter.net)ではAzure SQL Database固定です。

公式ドキュメントはじめ、様々な事例で紹介されているPostgreSQLの機能をこれからも試していきたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?