OSS-DB Silver ver3.0に受かったのでその振り返り記事です!
(パッと読めます)
受験経緯
- 現場でPostgeSQLを利用する機運が高まってきたため。
- PostgreSQLにおける性能改善や運用周りで困ることがないように。
- また困ったとしてもすぐ「そういえばこんな解決策あったな」と知識にアクセスできるようにしておきたい。
勉強方法
三つ挙げます。
試験直前はPing-t問題集と「内部構造から〜」の本を回してました。
なお、勉強期間は仕事しながら約2ヶ月ほどで合格しました。
書籍(黒本)
- Q&A形式で知識が得られるため、便利。
- 初期段階で全く知見がない分野(レプリケーションとか)についてはまず解答見ながら本を一周。その後覚えてるか確認のためもう一周。
- 途中からは以下の2つばっかりやるようになったのでやや空気に。、
Ping-t
- Web問題集サイト。
- 【Very Good!】ミスった問題を記録したりしてくれるので、黒本より自分の弱点が見やすくて便利。
- 寝る前にスマホで10問解いてから寝る、とかしてた
- 有料のものと無料のものがあるが、OSS-DBについては有料。
内部構造から学ぶPostgreSQL
- 「PostgreSQL理解した」と言うためには最終的にマスターしないといけない本(多分)
- 黒本、Ping-tのQ&Aでなんとなく得られた知見を文章で体系的に再確認できる。
- Gold受けるに当たっても読み続けると思う
ブログ記事化を目指したちょっとの工夫
これは初めて試してみたことなのですが、今回、下記のような工夫をしてみました。
- 「この知識、ブログにするとしたらどう書こう、まとめよう」を考えながら勉強する
- 初めての知識は、はてなブログの下書き記事に構造化しながらまとめてみる
ブログ記事ネタもできるし、(自分の中で)知識も体系化されるし理解が進みやすかったイメージです。
理解・吸収できたこと
基本的なSQLの知識に加えて、以下の分野の知見に触れることができました。
- VACUUM・ANALYZEって何?(どんなオプションがあるかも含めて)
- postgresql.conf,pg_hba.confの各設定値で何ができるのか
- バックアップ周り(物理バックアップ/論理バックアップ)
- レプリケーション周り
言うてまだ「知見に触れた」程度なので、これから実務レベルに昇格させていきたいところです。
自分の中でまとめて記事化できそうな分野がいくつかあるので、それは別記事として執筆予定です!
ver2.0とver3.0の違い
https://ferret-one.akamaized.net/files/63d9074c5ffa9119e6657cba/OSSDB-v3.pdf?utime=1675167564
上記に記載がありました。
- JSONや非構造など
- レプリケーション周り
が大きな違いのようです。
個人的にJSONBデータ型が「JSON型なのにインデックスが効く」と言う知識を得た時はびっくりしました。。すごいなー。
今後はGoldも勉強しつつ実務に生かしていきたい
ドヤ顔で語ってきましたが、まだまだ実務レベルではないため、まだまだ未熟者。
実務の中で知識を経験に変えていきたいところです。
まだGoldも受験予定です。パフォーマンスチューニングに関する知見がまた得られそうなので楽しみ。(性能改善タスクって改善確認できた時気持ちいいですよね)