1分で分かる!データベースエンジニア
うーん。遅いなぁ…。
ことりん君どうしたの?
いつも使っているスマホのアプリがとっても遅いんだよ…
そんなに重いんだ?ずっと遅いの?
ううん。1年前くらいから使ってるけど、最近特に遅いんだよねぇ。
もしかしたら、インフラ基盤(データベース)エンジニアが辞めちゃったのかもしれないね。
インフラ基盤(データベース)エンジニアって何をするひとなの?
インフラ基盤(データベース)エンジニアっていうのは、データベース専門のエンジニアだね。データベースっていうのは、データを格納しておく保管倉庫のようなものなんだ。例えば、ひよこさんが使っているスマホアプリは会員登録とかしているかな?その会員情報みたいな、ユーザーが入力したデータを保管していたり、必要に応じて保管庫から取り出してユーザーに表示してあげたりするんだ。
なるほどなるほど!でもなんでインフラ基盤(データベース)エンジニアがいないとスマホアプリが遅くなっちゃうの?
インフラ基盤(データベース)エンジニアは、データベースが正常に動いているかを監視しているんだよ。そして、もし何か問題があった場合は、対策するのもお仕事の1つなんだ。
そうなんだ!じゃあいまはデータベースに何か問題が起きているかもしれないってことかな?
その可能性が高いね!データベースは保存しているデータが多くなると、処理速度が一気に遅くなることもあるんだ。インフラ基盤(データベース)エンジニアがいれば、適切な対応ができるんだけどね。
だからスマホアプリが遅いまままんだね…。インフラ基盤(データベース)エンジニアって他にどんなお仕事をするの?
データベースって一言でいってもいろんな設定があるんだ。権限、セキュリティといった設定からパフォーマンスに関わる部分まで、クライアントの意向に合わせたデータベースを検討するのも大事な仕事だね。あとはデータを保管する部屋(正式にはテーブル)はどういう単位でどういうデータの形にするかっていうのを考えるのも仕事なんだよ。
そうなんだね!
あとは、さっきもいったようにデータベースのチューニングだったり、バックアップを管理するという仕事もあるよ。
本当にデータベースのこと全般を担当しているんだね!
そうだね!データベースは奥が深いので、インフラ基盤(データベース)エンジニアもかなりの専門性が求められる仕事なんだよ!
じゃあインフラ基盤(データベース)エンジニアは簡単に見つからないかもしれないね!
こんな遅いアプリなんて使えないから、スマホアプリは削除しちゃおうっと!
ことりん君、意外と気が短いんだね…。
データベースエンジニアとは?採用のための予備知識
インフラ基盤(データベース)エンジニアの仕事は、主に以下の3つです。
- データベースの設計
- データベースの構築
- データベースの運用
データベースの設計とは、どのようなデータベースサーバーを用意するか、どれくらいのストレージ(データ保存専用の機械)を用意といったハードウェア面に加えて、データベースにどのようなテーブルをつくるか、どのような情報を持たせるかといったソフトウェア面などの検討を行う仕事です。また、アクセス権の設定やバックアッププランなども検討していきます。
データベースの構築とは、設計した内容に基づいてデータベースサーバーを構築し、データベースソフトウェアをインストールします。また、データベースのテーブルなどを作成し、アプリケーションなどが使用できるようにします。
データベースの運用とは、稼働したデータベースを安定して稼働するための作業を行います。具体的にはデータベースの権限の管理や、パフォーマンスのチューニング、日々のバックアップ取得などです。
インフラ基盤(データベース)エンジニアとはどんな人か
インフラ基盤(データベース)エンジニアは、ユーザーの見えない部分を担当するため、縁の下の力持ち的な存在だといえます。また、データベースで管理するデータによっては、個人情報や機密性が高い情報を扱うこともあります。そのため、慎重さに加えて、高い倫理観が求められる職種でもあります。
採用にあたって知っておいた方がよいポイント
業務範囲
インフラ基盤(データベース)エンジニアは、前述したようにデータベースに関する業務を担当します。ただし、その範囲はサーバー構築などのハードウェア面から、テーブル設計・作成などのソフトウェア面、さらには運用や保守というまで、広範囲に及びます。
企業側が求めるエンジニア像と候補者のスキルについては、あらかじめ確認しておくようにしましょう。
データベースソフトウェアの種類
データベースと一言でいっても様々な種類があります。そして、それらは様々な差異があります。「こちらでは問題がなかったのに、こちらのデータベースではエラーになる」 といったこともあるので、候補者がどのようなデータベースに対して知見があるのかは確認しておくとよいでしょう。
参考までに人気が高いデータベースソフトウェアをご紹介しておきます。
- Oracle
- MySQL
- Microsoft SQLServer
- PostgreSQL
- MongoDB
キャリアパス
インフラ基盤(データベース)エンジニアのキャリアパスとしては、よりデータに特化したデータベース管理者やデータ管理者などがあります。また、ネットワークやサーバーなどのスキルを身に付けて、インフラ全般を担当するインフラエンジニアを目指すというキャリアパスも存在します。
データベースエンジニア豆知識
データベースソフトウェアにはたくさんの種類があるとお伝えしましたが、企業という単位でみるとシェアはOracleとMicrosoftという2つの企業でシェアの大部分を占めています。
順位 | データベースの種類 | 企業 |
1 | Oracle | Oracle |
2 | MySQL | Oracle |
3 | Microsoft SQL Server | Microsoft |
4 | PostgreSQL | ※ オープンソース |
5 | MongoDB | MongoDB Inc. |
元々はMySQLもオープンソースソフトウェアだったのですが、企業買収などにより現在ではOracleの傘下に属する形となっています。
データベースエンジニアとは? 採用のための専門知識編
インフラ基盤(データベース)エンジニアに必要な知識
インフラ基盤(データベース)エンジニアとして活躍するためには、下記のようなスキルが必要です。
データベースソフトウェアに関するスキル
前述してきたようにデータベースソフトウェアは様々なものがあります。面倒なことにどれも製品の仕様が異なるため、主要なデータベースソフトウェアに関する知識は身に付けておきたいところです。
データモデリングや管理に関するスキル
どういったデータの単位で扱うかといったモデリングと呼ばれるスキルや、データベースの監視、チューニング、障害対応といった管理面の知識は、インフラ基盤(データベース)エンジニアに必須となります。また、障害発生時に備えてバックアップやリカバリーなども対応するため、それらの知識も必要です。これらに関する詳細な手順はデータベースソフトウェアにより異なりますが、考え方や概念などは普遍的なものとなります。
セキュリティ等に関するスキル
データベースはアプリケーションにおいて、最もセキュリティを堅牢にしないといけないポイントです。なぜならば、データベースに格納されているデータは、外部に漏えいすることが許されないデータを扱う事が多いからです。このような漏えいやセキュリティ事故を未然に防ぐためには、セキュリティに関する高いスキルが必要となります。