パブリック クラウド需要の高まりに伴い、オンプレミス上に構築されている PostgreSQL などの「オープン ソース データベース」を、Azure Database for PostgreSQL などに移行する機会が増えているのではないかと思います。
最近、Azure Database for PostgreSQL を基本から勉強したので、その内容を自分の整理も兼ねて、まとめてみようと思います。
今回は、まずは PostgreSQL (オンプレミス) のアーキテクチャについてまとめてみます。
※ PostgreSQL (オンプレミス) は、Azure Database for PostgreSQLで選択可能なバージョン「11」を使用しています。
PostgreSQL (オンプレミス) について
■ PostgreSQL とは
「オープンソースデータベース」であり、「ソースコード」が公開されているため、必要に応じてユーザーが独自機能を追加することが可能。
※ 実際、「ソースコード」から新しい機能を独自に開発する人は少数だと思いますが。
[補足]
ライセンス:PostgreSQLの「ソースコード」を改変した場合においても、Linuxなどの他のオープンソースソフトウェアとは異なり、「ソースコード」の公開を強制されないため、カスタマイズした PostgreSQLを商用として販売することも可能。
コミュニティ : 営利企業によって維持/所有されているのではなく、コミュニティの中で世界中の技術者が協力しながら公開された場の中で開発が進められている。
■ PostgreSQL のバージョン
◇ リリース サイクル
- メジャー バージョン : 約1年
- マイナー バージョン : 約3ヶ月
◇ サポート期間
- 5年間 (メジャー バージョン)
◇ バージョン
- PostgreSQL 10 以降 : x.y (例: 11.8, 12.3)
「x」: メジャーバージョン、「y」: マイナーバージョン
- PostgreSQL 9.6 以前 : x.y.z (例: 9.5.22, 9.6.18)
「x.y」: メジャーバージョン、「z」: マイナーバージョン
[補足]
マイナーバージョンのリリースでは、「再現頻度の高い製品不具合の改修」、「セキュリティに関する問題の改修」などの修正が行われ、新機能の追加などはメジャー バージョンで追加される。
修正内容はリリースノートで確認。
■ PostgreSQL の アーキテクチャ (1)
◇ PostgreSQLの主要プロセス (SQL Server/Oracle 比較)
※ SQL Server は「sqlservr」プロセスのみであり、システム スレッドにより、「checkpoint」などのシステム処理を実施。
◇ PostgreSQLの主要プロセス説明
[まとめ]
Azure Database for PostgreSQL を理解するうえで、PostgreSQL (オンプレミス) のアーキテクチャをまとめてみました。次回、PostgreSQLのメモリアーキテクチャ、SQL Serverとは異なり「追記型アーキテクチャ」を採用しているなどの内容をまとめてみようと思います。