ちょっと前に合格したDP-300についてちょっと語ってみる #Azureリレー
2021-04-01
azblob://2022/11/11/eyecatch/2021-04-01-dp-300-what-to-learn-000.jpg

はじめに

こんにちは。
何時も何かしら技術習得か資格取得を目指してじたばたしているなむゆです。
あまりブログで触れていなかったのですが、マイクロソフト資格の一つ、DP-300に合格していました。
自分の興味が強い分野の一つであるDB関連の資格ということで前から気になってはいたのですが、あまり周りにそのことについて共有していなかったので、今回はここで一席打ちたいと思います。

DP-300ってどんな試験?

公式サイトはこちらです。
分野としてはデータベース関連の技術の試験なのですが、その中でもMicrosoft SQL Serverや Azure SQL DatabaseといったAzureのRDB系のサービスの管理、運用方法についての理解度を問う試験になっています。
単純にSQL Serverの使い方を問われるだけではなく、Azureのマネージドサービスとして存在するSQL Databaseにおける追加の機能や他のサービスとの連携方法など、Azureならではの機能についてちゃんと運用できるかといった点も問われます。
サービスを実装する際のやり方というよりは、運用や管理に重点が置かれており、たとえばユーザーをどうやって管理するか、Azure Active Directoryとの連携方法や監視のセットアップ方法、パフォーマンスチューニング周りのトピックがメインです。
なので、SQL Databaseを使ったサービスの実装方法のようなトピックを期待しているとちょっと違うと感じるかもしれません。
似た分野の試験としては新しい方のラインナップでいうとDP-900が挙げられますが、こちらはDP-300のベースとなるような資格で、Azureのデータベースサービス全般が範囲になっています。
DP-300では試験範囲がSQL DatabaseのようなRDBに限定されていますが、DP-900ではAzure Table StorageやCosmos DBのようなNoSQL系のサービスなども試験範囲に含まれ、広く浅く問われるイメージです。
学習の順序としては、Azureのデータベース系サービスについて学びたくなったらまずはDP-900の試験範囲について学習して資格を取得し、それからRDBに特化して学びたくなったらDP-300を目指すのが王道のように思います。
なお自分はDP-900をすっ飛ばしてDP-300を受験しました。
普段からSQL Databaseを使用する機会が多かったのでレベル感よりは専門性で選んでの方針だったように思います。

どんな人向け?

Azureのデータベース系サービス、その中でも特にRDBサービスであるSQL Databaseについて興味がある人。
さらに、その中でもSQL Databaseを使ったアプリケーションの開発というよりはSQL Databaseの管理や運用の方に興味や技能がある人向けの試験です。
DBの監視や可用性の維持など、データベースの中に入っているデータよりそのデータベース自体に興味がある人にとっては挑み甲斐がある試験のように思います。
そのあたりの分野やあるいは後述する個々のトピックを見て何か刺さった人はDP-300のページの下部にあるMicrosoft Learnのラーニングパスから、ハンズオンも含めて学習を始めてみるといいかと思います。

どんなトピックが出題される?

個人的な感覚でいうと、トピックを大きく分けるとセキュリティ系、監視系、可用性系があるように思います。
全体を網羅することはできないのですが、印象深いトピックを羅列していきます。
いかん、セキュリティ系趣味がバレてしまう・・・

セキュリティ系

  • Azure Active DirectoryとSQL Databaseを連携させてActive DirectoryのアカウントでSQL Databaseにログインできるようにする
  • SQL Databaseの個々のユーザーに対してテーブルごとに権限を持たせるT-SQLの基礎的なお話
  • 透過的データ暗号化でSQL Databaseのデータを暗号化する
  • さらに、Azure Key Vaultと連携してその暗号化キーをAzure Key Vaultで保持する
  • SQL Databaseへのファイアウォール規則の構成方法。SQL Database触ったことある人なら一回はやったことあるはず。
  • 動的データマスクという機能を使うとユーザーのロールごとに出力されるデータをXXXなどの文字列でマスキングがかけられる

監視・運用系

  • SQL Serverの開発環境であるSSMSを使ってクエリパフォーマンスの最適化を行う
  • その他SQL Database周りで種々のパフォーマンス問題の解決法
  • Azure Automataionという自動化サービスを使うことで定期的にSQL Databaseにインデックス構築を行うなど種々のタスク自動化ができる
  • AzureでSQL Serverを使う方法はSQL Databaseを使うことだけでもない。VMを立ててその中にSQL Serverを建てることもできるとか・・・実際にやるかはともかく。

可用性系

  • SQL Databaseの可用性グループを使った可用性の向上
  • 他のAzure系試験でも定番のリソースのレプリケーション。
  • SQL Databaseのデータベースのバックアップ、復元のやり方
    etc…

おわりに

今回は少し前に受けた資格試験のDP-300について語ってみました。
AzureのRDB、その中でも運用管理系という若干ニッチな分野に特化した資格であるDP-300ですが、試験勉強中に学んだトピックはかなり興味を惹かれるものが多く、覚えておくといつか使いそうな気がしています。
何か興味が出た方は学習して受験してみるのもいいかと思います。

参考