ビッグデータという言葉が話題になってずいぶん経ちます。名前のとおり大量のデータを指すのですが、IoT(モノのインターネット)の広がりにより本格的にビッグデータ時代が到来したと言われています。
IoTでは様々なものにセンサーやインターネット送信機能をつけることによって、生活で使うあらゆるモノが情報の収集と送信を行うことができるようになりました。そのために従来では難しかった飲食や娯楽などのサービス業でもデータの集積や分析を扱えるようになってきました。
IoTにより生活に入り込んだモノがデータ収集を行うことと、脳科学や画像解析技術があわさることで、人間の感情にまつわる行動なども定量化し計測できるようになりつつあります。
これを押し進めていけば、たとえば必要なものをニーズにあわせて必要なだけ生産して届けるなど、社会全体の最適化が行えます。またARやVRといった技術と組み合わせることにより、新たな体験を提供したり、わたしたちの行動そのものを変えることも可能です。
データベースとデータベースエンジニアの重要性は増加の一途
こういったビッグデータを扱うためにはデータベース技術が必要となります。データベースはビジネスにおいては以前より企業のお金やモノを管理するために使われてきましたが、インターネットの普及やビッグデータ時代の到来によりその活用の場は広がり続けています。
わたし達の社会のあらゆるところでデータのやりとりが行われています。インターネットは全世界に張り巡らされ、スマートフォンのデータは人工衛星を通じて飛び交い、常に大量のデータが蓄積されているのです。
データはただ蓄積しただけでは役には立ちません。解析したり適宜参照できるようにするなどデータベースを適切に運用する必要があります。またインフラの構築や負荷分散処理も重要になり、分散プログラミングやデータ最適化アルゴリズムは必須です。
そのため、データベースの開発、管理、運用を行うデータベースエンジニアのニーズは非常に高まっています。さまざまな会社がデータサイエンス部門を設置してビッグデータ解析に取り組んでおり、データベースを扱える技術者が必要とされているのです。
ビッグデータとIoT
ビッグデータの活用といってもぴんと来ない人が多いかもしれませんが、たとえばECサイトにおける個人の買い物や嗜好にまつわるデータなどは、セールスに役立ちます。何かを買うとオススメ品が表示されるショップは多いですが、これもビッグデータの活用法のひとつです。
IoTではさまざまなモノがデータを送信します。日常で用いる道具もIoT化することで、個人の普段の行動パターンが丸見えになります。そのためIoTにより集めたデータをどう取り扱うか、セキュリティの強化なども重要な問題です。
こうしたデータは悪用を心配する声が高いですが、適切に運用すれば医療や災害予測などにも役立たせることができます。
データベースエンジニアの仕事とは?
データベースを取り扱うデータベースエンジニアは企業のシステムを構築し支えるだけでなく、データを分析して企業の経営戦略に役立てることも求められます。そのため豊かな知識とスキルが必要となります。
データベースエンジニアは業務内容からソフトウェアエンジニア、ハードウェアエンジニア、運用系エンジニアの3つがあります。
ソフトウェアエンジニア(データベース開発・設計者)
データベース製品を用いて最適なデータベースを作るのがソフトウェアエンジニアです。データベース製品としては、OracleやMicrosoft SQL Serverといった商用データベースや、MySQLや分散システムのHadoopのようなオープンソースデータベースなどがあります。またデータベースの統計処理と合わせて機械学習アルゴリズムによるデータ分析もできれば、顧客の高度な要求を満たすことができるでしょう。
ハードウェアエンジニア(データベース管理者)
データベースシステムのインフラやデータを保存するためのストレージ・サーバーなどデータベースを納めるハードウェアを管理するのがハードウェアエンジニアです。インフラの使用効率の最大化を図ったりストレージの最適化を行います。
運用系エンジニア(データベース運用者)
稼働中のデータベースの運用や、セキュリティ規則設計などを行うのが運用系エンジニアです。セキュリティに関してはセキュリティエンジニアが行うこともありますが、外部攻撃への対策やアクセス権管理などのセキュリティ関連の設計と運用も行います。
定常業務として定常運用するのが役割であり、ソフトウェアエンジニアやハードウェアエンジニアのような仕事を定常業務として行います。
データベースエンジニアに必要なスキルとは?
データベースエンジニアはOracleやMySQL、PostgreSQL、Microsoft SQL Serverといった主なデータベースの知識が必要なのは大前提です。その上で、そのデータベースシステムが使われている業務について熟知している必要があります。
データベースエンジニアは未経験でいきなり就くことは少なく、プログラマやシステムエンジニアの実務経験がある人が重視されます。システム開発の全貌を理解している方が良いためです。
また従来はデータベースの分析は統計が中心でしたが、今は予測などを取り扱うデータサイエンスが中心になりつつあり、そちらの知識も重要です。また分析能力、問題解決力、プレゼンテーション力なども必要です。
データベースエンジニア向けの資格
データベースエンジニアになるには特に資格はいりません。ですが業務に役立つ資格はあり、いくつかは身につけておくことをおすすめします。
データベーススペシャリスト試験
経済産業省が主催する情報処理技術者試験はIT業界に携わるなら必須とも言えるもので、ITパスポート試験(レベル1)や基本情報技術者試験(レベル2)、応用情報技術者試験(レベル3)まではITエンジニアとしては持っておきたいものです。
さらにデータベースエンジニアとして業務に携わるのであればレベル4の高度情報処理技術者試験のうちデータベーススペシャリスト試験は取っておきたいものです。この試験はなかなか難しく、合格率は平成27年度で17.6%となっています。
オラクルマスター
商用データベースで大きなシェアを占めているのがオラクル社のデータベースです。そのオラクル社のデータベース認定試験であるオラクルマスターは取得しておくと良いでしょう。これは会社で取得するように言われることも多く、補助金が出るところもあります。
オラクルマスターはオラクル製品のバージョンごとに資格が別れています。さらにデータベース管理者・アプリケーションサーバー管理者・開発者の3つの分野で認定方法が異なります。難易度はBronze、Silver、Gold、Premiumがあり、Silver以降では世界共通のOracle Certification Programによる認定が与えられ世界で通用するようになります。
試験はコンピュータで行われオンライン判定されて結果はその場でわかります。
データベースエンジニアに必要な知識を学ぶには
最近ではMOOC(Massive Open Online Course)と言って、インターネットで誰でも受講できる講義がいくつもあります。そうしたものでデータサイエンスについて学ぶのもおすすめです。日本語のものもありますが、海外のものの方が良くできていることが多く、英語の学習も兼ねて受講してみることをおすすめします。
また文部科学省委託事業としてデータサイエンティスト育成ネットワークの形成というプロジェクトがあり、これでデータサイエンスの全体を学べる動画が公開されているので、まずは見てみると良いでしょう。
スタンフォード大学のMOOCであるCourseraでのアンドリュー・ウン准教授の講義や、gaccoの統計検定取得向けの講座などもおすすめです。
分散型システムを学ぶためには、オープン分散環境のApache Hadoopについての無料講義が良いでしょう。SlideShareにもスライドがあり、Youtubeに動画があります。
ニーズが高まっている今こそデータベースエンジニアを目指そう
データベースエンジニアの重要性が増しニーズも高まり、データベースエンジニアは人材不足の状態です。今後のIT業界の中核を担うデータベースエンジニアをぜひ目指してみてはどうでしょうか。
幸い現代ではインターネットを通じて無料で資料に触れることができ、独学のためのインターネット講座なども良質なものがたくさんあります。IT業界で経験を積んでいるなら、キャリアアップ先としてデータベースエンジニアを検討してみてください。