【技術書】 内部構造から学ぶPostgreSQL 読書メモ クラウドサービスの恩恵
みなさんこんばんはLonです。
タイトル通り、今日は最近読み終えた技術書「[改訂3版]内部構造から学ぶPostgreSQL」について私が得た学びを共有したいと思います。
本記事では、本書の要約や概要はあまり掘り下げず、主に私が学んだ「クラウドサービスの恩恵」というテーマに焦点を当てています。
(本書の内容をかい摘んで説明することにあまり価値がないと思ったためです。具体的な内容は本書を読んでいただく方が間違いがないです。)
読書の背景
最近マネージャーとの1on1で「各技術のHow it worksを深掘りして勉強した方がいい」とアドバイスを貰いました。
私は普段からPostgreSQLを業務で使ってはいますが、深堀してきちんと勉強したことはありませんでした。
そのため、この機会にPostgreSQLの内部構造について勉強したいと考えました。
そこで友人のPostgreSQLコミッタに初心者向けとして教えて貰ったのが本書でした。
(まさに求めていた内容の書籍でした。持つべきものはOSSコントリビュータの友人です。。。)
概要
本書はその概要説明の通り、PostgreSQLの仕組み(各プロセスがどのような役割で動いているのか)から実際の運用での注意点、およびパフォーマンスチューニングに至るまで詳しく書かれており、PostgreSQLに関わるエンジニアが読んで損はない本でした。ただひたすら勉強になりました📚
感想
本書を読んでPostgreSQLに関する技術的な学びも得たのですが、もう一点良かったのが、冒頭でも述べた通り「クラウドサービスの恩恵」をより解像度高く知ることができたことでした。
私自身、クラウドサービス(特にAWS)を利用しての開発しか経験したことがないです。本書で書かれている自前でPostgreSQLを構築・運用する際のポイントを読み、いくつかはクラウドサービスがかなりの部分を抽象化しているのだと改めて気づき、自前で運用する際との差分を明確に知りました。
特に以下の点です。
バックアップとリストア
フェイルオーバーとレプリケーション
モニタリングとロギング
Amazon Auroraを使えば、バックアップ機能は提供されていますし、フェイルオーバーについても自動フェイルオーバーの機能があります。
モニタリング・ロギングについてもCloud Watchから簡単に各種メトリクスを見ることができます。
以前だとDBの設計・実装だけで大変だったところがどんどん抽象化されて開発が楽になっているという事実と、テクノロジーで開発がどんどん容易になっている時代の潮流を改めて実感しました。
ということで所感でした。
本書で学んだことをベースにして、もう少し手を動かした技術的な検証をしたいと思っているので、どこかで共有できればいいなと思います。
最後までお読み頂き、ありがとうございました。