OSS-DB Silverを取得してみた感想
こんにちは、村中です。
2024年12月22日、OSS-DB Silverというデータベースに関する試験に無事合格しました。
OSS-DB Silverは、データベース(PostgreSQL)の基本知識や操作スキルを認定する資格です。データベースやSQLの知識を体系的に広く浅くキャッチアップするのにちょうど良いと考え、資格取得を目指しました。
今回は、この資格取得を振り返りながら、感想をまとめたいと思います。
お前はだれだ
WEBマーケティングを本職としている24歳です。主戦場はSEO対策とサイト制作。スプレッドシートオタクで、QUERY関数やBigQueryをよく使います。ただ、SQLに自信があるかと聞かれると「うーん」というのが正直なところです。
趣味でRails × Reactを使ったアプリ開発にも挑戦中ですが、データベース周りは「なんとなく」で実装している状態。そんな自分が、SQLやデータベースの知識を強化すべくOSS-DB Silverに挑戦しました。
なぜデータベースを勉強しようと思った?
目的の整理。
スムーズにアプリ開発ができるようになりたかった
そもそも、なぜデータベースを勉強しようと考えたのか。理由はシンプルで、アプリ開発をしているうちにデータベースで詰まることが多かったから です。
今の目標は「アプリを小さくたくさん作ること」。業務用やネタ用のアプリを、Railsでバックエンドを構築し、Reactでフロントを作るといった形で、サクッと形にしたいと思っています。
実際にいくつかチャレンジもしてきました。たとえば、Supabaseをバックエンドに、PrismaをORMとして使い、Next.jsでフロントを作った学習アプリ。途中で挫折しましたが…
特に苦戦したのが、思い通りにデータが表示されない問題でした。たとえば、userのidに紐づいたpostが表示されるはずが、別のuserのpostが表示されてしまう。最初は「API設計が悪いのかな」とHTTPメソッドやリクエストの仕組みを深掘りしましたが、調査を進めるうちに原因はデータのリレーションにあると判明。
つまり、問題はデータベースだったんです。
結局、アプリといってもデータのやりとりが肝
SocialDogのCEO・koniさんの投稿で「SaaSは特定領域特化型のスプシ(Excel)にすぎない」と言われているように、多くのアプリで行われていることは、複雑な設計を除けばスプレッドシートと同じレベルのデータ管理です。
アプリの本質は「データのやりとり」 であり、それ以外の部分は、多少崩れていてもなんとかなる場合が多いのかなと。
(なので最近では、まずスプレッドシートやAppSheetなどのノーコードツールで簡単に機能を作成し、その後コードでアプリ化していく方法が良いと考えています。)
以上のような背景から、データベースの知識を深めることで、アプリ開発がもっとスムーズになると感じました。
なぜ資格取得?
「資格取得よりも、実際にアプリを作って学べ」という意見があります。
一理あるなと思いつつも、個人的には資格取得を通じた勉強が好きです。そのうえ、AIが発展するにつれて、知識インプット型の学習の重要性はむしろ高まると考えています。
というのも、AIを使えば、良くも悪くも理解が浅くても形にできてしまうんですよね。人間は楽をしたい生き物なので、一度「形になった」と思うと、それ以上深く考えずに進めてしまうことも多いです。
こうした理由から、試験形式の学習が有効だと思っています。資格試験では、ただ形を作るだけではなく、強制的に知識を整理し、理解を深めるプロセスが求められます。
勉強方法
学習に使ったのは以下の3つです。
・OSS教科書 OSS-DB Silver Ver.3.0対応
・Ping-t
・ChatGPT
教科書は、たまに本屋で立ち読みして知識を体系的に整理するために使ったくらいで、そこまで深く読み込んではいません。
メインはPing-tとChatGPTです。 Ping-tで問題を解いて、そのあとChatGPTで理解を深めるのが基本の流れでした。ChatGPTのおすすめプロンプトは「例え話を用いて解説して」です。これでイメージを掴んでから理解を進める感じです。
実際にPostgreSQLをインストールして、ターミナルでいろいろコマンドを試したりもしましたが、結局ChatGPTで例を教えてもらった方が手っ取り早く理解できました。
勉強時間は通勤中。自宅から会社までの最寄駅間が片道25分くらいあるので、行きと帰りでスマホを使ってポチポチ問題を解いたり、調べたりしていました。期間はだいたい1ヶ月くらいです。
試験結果
合格ラインが64点のところ、72点で無事に合格しました。各分野の結果は、一般知識が62%、運用管理が73%、開発/SQLが75%と、全体的に平凡なスコアです。
実際の試験は、「Ping-tと全く同じ問題が出る」ということはなく、やはりしっかり理解しているかどうかを問われる印象 でした。2択までは絞れるけど、最後どちらか判断がつかない、という問題がいくつかあり、詰めの甘さを痛感しました。
とはいえ、試験は50問中32問正解すれば合格できます。問題を解き終えて復習しているとき、「あとで復習する」のフラグをつけた問題が18問以下だったので、その時点で「いけたかも」と薄々感じていました。
しっかり基礎を固めれば、通勤時間中にぽちぽち勉強するスタイルでも十分合格可能だと思います。
自分お疲れ様でした + 感想
OSS-DB Silverに限った話ではありませんが、資格を取得すると、その範囲の基礎に対して自信を持てるようになりますね。
ここでの「自信」とは、単に知識を得たという以上に、「どの部分を確実に理解していて、どの部分に余白があるのか」を自覚できるようになる ことを指しています。
基礎的な部分では、「試験範囲内でカバーされているから、ここは間違いなく理解している」という確信が生まれます。
一方で、資格試験に含まれない応用的な内容に出会ったときも、「知らないのは当然」と割り切れます。これは、基礎知識の裏付けがあってこそです。
こうした視点があると、新しい課題に直面しても「ここまではわかる。これ以降は調べるべきだ」と冷静に判断できるようになります。 つまり、未知の領域にも前向きに向き合えるようになる わけです。
今後
2025年、おもしろいアプリを小さくたくさん作っていくぞ!
Discussion