HIRO Tracks

ソフトウェアエンジニアが日々学んだ知識を発信します。

OSS-DB Silver ver3.0に受かったので【勉強方法】と【得られた知見】について語る

これは何?

OSS-DB Silver ver3.0に受かったのでその振り返り記事です! (パッと読めます)

受験経緯

  • 現場でPostgeSQLを利用する機運が高まってきたため。
  • PostgreSQLにおける性能改善や運用周りで困ることがないように。
    • また困ったとしてもすぐ「そういえばこんな解決策あったな」と知識にアクセスできるようにしておきたい。

勉強方法

三つ挙げます。 試験直前はPing-t問題集と「内部構造から〜」の本を回してました。

なお、勉強期間は仕事しながら約2ヶ月ほどで合格しました。

書籍(黒本)

book.impress.co.jp

  • Q&A形式で知識が得られるため、便利。
  • 初期段階で全く知見がない分野(レプリケーションとか)についてはまず解答見ながら本を一周。その後覚えてるか確認のためもう一周。
  • 途中からは以下の2つばっかりやるようになったのでやや空気に。、

Ping-t

ping-t.com

  • Web問題集サイト。
  • 【Very Good!】ミスった問題を記録したりしてくれるので、黒本より自分の弱点が見やすくて便利。
  • 寝る前にスマホで10問解いてから寝る、とかしてた
  • 有料のものと無料のものがあるが、OSS-DBについては有料。

内部構造から学ぶPostgreSQL

gihyo.jp

  • 「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も受験予定です。パフォーマンスチューニングに関する知見がまた得られそうなので楽しみ。(性能改善タスクって改善確認できた時気持ちいいですよね)