データベースエンジニアを目指せ!

データベースエンジニアの真髄を見極めよう

加山恵美
2003/2/3

 企業システムの中で欠かせないデータベース。その重要性は昔もいまも変わらない。ただ変わったのは、その利用範囲が拡大の一途をたどっている点だ。では、データベースエンジニアの役割は、何か昔と変わったのだろうか? 現在のデータベースエンジニアに求められるキャリアやスキルは、どのようなものなのだろうか? データベースベンダやシステムインテグレータのエンジニアなどに、最前線で求められていることを聞く。

 今回取材したのは電通国際情報サービス(ISID) 産業ソリューション事業部 e-プラットフォーム技術部 プラットフォームソリューショングループの芝田潤氏と仲澤淳氏の2名。同グループは、開発エンジニアなどに対して技術支援などを中心に活動を行っているという。彼らが考える“現在求められているデータベースエンジニア”とは、どんな人物像で、どんなスキルやキャリアを持っていればいいのだろか?

いまも昔も変わらないこと

電通国際情報サービス 産業ソリューション事業部 e-プラットフォーム技術部 プラットフォームソリューショングループ 統括マネージャーの芝田潤氏。1986年TISに入社後、エキスパートシステムの開発業務を担当。1991年に同社退社後、電通国際情報サービスに入社。金融機関向けミッションクリティカルシステムのアーキテクチャ設計を多数手がける。1996年よりJava開発案件に従事。2000年、Webの超短期開発ソリューションを展開し、大きな反響を得たという。現在、各種開発案件の技術支援を担当している。

 データベースの基本とは何だろうか。そう問うと仲澤氏は「データベースの基本アーキテクチャは2次元のテーブル構造です」と即答してくれた。テーブルの論理設計や、SQLを使ったテーブルへのアクセス方法が基本になるという。さらに、実際には物理設計や製品知識も必要になってくるという。

 「昔は、ER(Entity Relation)図を描くことから始めたものです」と、芝田氏は付け加える。新人が最初にやることにER図(Entity Relation Diagram)があり、そこからデータベース構造を学んだという。

 「最初は教科書どおりに正規化したりするのですが、正規化しすぎて逆に冗長性が悪くなり、(データベースの)パフォーマンスが出なくなることもあります。そこから物理設計や内部的なことも含めて多角的にチューニングしていきます」

 まずテーブル構造が存在し、常とうの正規化があり、教科書的な基本知識を基に設計を始める。しかし個別の運用では環境に合わせて細かくチューニングをしていくというのが普遍的な流れだ。

現在は事情が変化

 近年はそういった基本的な流れに変化が見えてきた。データベースエンジニアはそれだけに専念すれば十分という時代ではなくなった。

 IT関連技術の進化・発展により、データベースを取り巻く多種多様な技術も知る必要が出てきた。昔はVisual Basic(VB)やVisual C(VC)で開発し、2層で行っていたものが、いまはWebアプリケーションサーバを用いてJavaベースで開発を行い、JDBCでアクセスするなど、急速に発展する周辺知識をいち早く習得する必要性が高まっている。

 一方、データベースそのものの知識については敷居が低くなってきているという。コマンドラインでしか操作できなかった時代とは違い、近年はGUIツールが充実して操作の難易度が下がってきた。また、ハードウェア性能が向上し、開発環境の構築も気軽に行えるようになってきた。やろうと思えば普段使うパソコンにだって、開発環境を構築していろいろな操作を試すこともできる。

 一昔前まではデータベース技術は特殊で高度な世界だったが、いまでは入り口の難易度が下がり、概要レベルなら容易に学ぶことができる。しかし、データベースの知識だけでは十分でなくなってきた。「深くデータベースを知ることと、広く周辺知識を知ること、そういったT字型の人材が求められてきています」と芝田氏はいう。

仲澤 淳氏●電通国際情報サービス
産業ソリューション事業部 e-プラットフォーム技術部 プラットフォームソリューショングループ マネージャーの仲澤淳氏。1994年山一情報システムに入社後、オープン系システムの開発を担当。1998年に同社を退社後、電通国際情報サービスに入社、金融系を中心としたミッションクリティカルシステムの設計・構築を多数手がける。OracleをコアにしたDB技術者で、さまざまなベンダのプラットフォームやクラスタリング技術にも精通している。現在は、Webシステム開発案件の技術支援を担当している。

システム全体を見渡せること

 データベースエンジニアの腕の見せどころは、チューニングだ。大規模システムだと、ループや条件分岐の構造によって大きく処理時間が変わってくる。芝田氏は、「ある開発で最初は、夜間バッチが100時間もかかってしまいました。これでは夜間だけでは終わらないどころか、1週間近くかかることになります。そこで懸命にチューニングを行い、6時間にまで処理を短縮したことがあります」と、笑いながら体験談を語ってくれた。

 チューニング手法としては、SQL文を効率よく書き換えたり、パラメータを調節したり、時にはハードウェアを増強することもある。ハードウェアの増強と簡単にいっても、その時々の状況によって増強すべき部分が違うので、的確にその部分を見極めることが重要だ。特に、データベースエンジニアならハードディスクのアクセスパスがどうなっているのかは、知っておくべきだろう。

 また、チューニングは時間とトレードオフの関係にある。「F1レースで例えるなら、直線でのスピードを高めると、逆にカーブでスピードが出なくなることがあります。こうした条件を加味して、トータルでいかに早く処理を終わらせるのかが重要になります」と芝田氏はいう。

 さらに主要な処理以外にも考慮しなくてはならないことは多くある。バックアップなど補助的な処理を早く終了させることや、問題が起きたら早く回復できるような仕掛けも考えておかなくてはならない。また実運用を担当するなら、問題発生時には関係者への報告を早く的確に伝える判断力や行動力も大事だ。

 システム全体を見渡せるようになるまでには、かなりの知識や経験が必要になるという。知識や経験を積むと職人的な勘も養われてくるという。勘といってもそれは経験に基づいた目の付けどころ、現象の分析、また危機をいち早く察知する能力といえるだろう。

キャリアパスの例

 一般的にはデータベースエンジニアはどう仕事内容を広めていくのだろうか。あくまで例だが、電通国際情報サービスの場合を語ってもらった。

 まず、新人は先輩とともに行動して現場に慣れ、技術を学ぶ。最初は客先での会議の議事録作成を行うことで、周囲の会話を理解できるようにする。また、データベース技術は知識と実践から学んでいく。ここでも文書化は重要で、例えばデータベースのインストールを行ったら、すぐにそれをドキュメントとしてまとめることで、知識を整理していく。こうしてひととおりの技術を習得して一人前になるには、早い人で1年から、一般的には2〜3年くらいかかるだろうという。

 「図が描けるかは重要です」と仲澤氏はいう。具体的にシステムの相関関係を正しく把握できていれば、図で他人に説明できるという。図ではないが、ドキュメント作成という訓練方法も効果的なのかもしれない。

 一般知識が備わるとシステム設計への関与度が高くなっていく。実際の開発や管理を行いながら、より広くより深く知識や経験を積んでいく。若いうちは体力仕事を強いられる場面も多々あるという。「特に夏のマシンルームは外気温との差が激しくて、寒さに耐えなくてはならないことがあります。また、トラブルで深夜に呼び出されることもあります。こういうことは若いうちの試練かもしれませんね」と仲澤氏はいう。

 システム開発への関与も、より中心的な部分を任されるようになってくると、自社の社員以外に協力会社などにも仕事を指示するようになってくる。こうしてシステムやインフラ全体を把握して、プロジェクトマネージャ級の成熟した技術者になるには8〜10年目くらいかかる(図1)。

図1 電通国際情報サービスのキャリアパスの一例

明るく沈着冷静な人であること

 データベースエンジニアにも適性はあるのだろうか? 芝田氏は「明るく、沈着冷静であること」と答えてくれた。データベースにトラブルが発生するとシステムに与える影響が大きい。数分間システムが止まっただけでも膨大な損害が発生することもある。そういった大きなプレッシャーに負けない明るさ、つまり気丈さが必要になるというのだ。

 「実際にトラブルが発生したとき、現場の関係者からの視線と無言のプレッシャーを背後に感じつつ、目の前のマシンとの板ばさみになるのでつらいですね。『頼むからちゃんと動いてくれよ』と心の中で祈りながら復旧操作をしたことがあります」というのは仲澤氏だ。

 「そういう場面でどれだけ冷静に的確な判断が下せるかが大切でしょう。焦って動揺すると、操作ミスを引き起こすことがあります。ささいな操作ミスから膨大なデータが失われる危険もあります。私も誤ってデータベースそのものを消してしまったことがあります。そうした2次災害を防ぐためにも冷静さは大切です」と、芝田氏は付け加える。

どこまで求められているのかを判断する

 それでは、どういうタイプの人間がデータベースエンジニアとして伸びる可能性があるのだろうか。「これはITエンジニア全体にいえることですが、何事にも興味を持つことだと思います。新しい技術に嫌悪感なくついていけるようになるには、エンジニアに必須の要素でしょう。さらに、昨今の技術は広大ですから、引き出しがたくさんある人がよいでしょう」と芝田氏。

 自分の守備範囲以外のことを聞かれたら、だれに聞けばいいのか、またはどこを調べたらいいのか、そういう対処ができることが大事だという。ノウハウ(Know-How)よりノウフウ(Know-Who)ということだ。「孤高な人の方が、実は危険なんです。のめり込んでしまって、独りよがりになり、いつまでも問題解決できないままでいることもあるからです」と、芝田氏は危険なエンジニアのタイプを指摘する。

 はまり過ぎないためにも、早く見切りをつける決断力が必要だという。それには仕事の目標を把握して、自分の仕事が完璧ではなくても、次のステップへ頭を切り替える「割り切り」が大切だ。「例えば、10時間の処理を1週間頑張って2時間まで短縮したとします。まだチューニングの余地があったとしても、あと1週間かけて10分しか短縮できないのであれば、そこまでは必要ないと判断することもあります。自分の満足度とビジネスの必要要件を分けて判断できるドライさも必要でしょう」(芝田氏)

資格は必要か?

 「弊社は資格は必須ではありませんが、技術取得の成果として推奨しています。また、IT系の試験なら試験費用は補助しています。また、私の部署はミドルウェア専門なので、最初の1年でORACLE MASTERのPlatinumを取得する人が多くいます」と芝田氏はいう。

 最近はeラーニングの普及もあり、ORACLE MASTERで例えると、Goldまでなら教材だけで取得できることもあるという。ただし、Platinumとなると実戦経験がないと取得は厳しいという。

 「情報処理技術者試験なら、データベーススペシャリストまで取得できれば理想でしょうね。この試験は、設計や事例解析に要点が置かれていますので、ベンダ試験とはまた違った知識が必要です」(仲澤氏)

 また、名刺に資格のロゴなどを載せると「安心するお客さんもいるのは事実です。だからといって実際に構築するシステムが保証されたわけではありませんから、資格を取得したからといって、エンジニアは安心してはいけません」(芝田氏)

データベースエンジニアはゴールではない

 仲澤氏いわく、「データベースエンジニアを目指すことは悪くはありませんが、それを最終目標として掲げてしまうのは疑問があります。データベースだけでシステムは完結しませんし、技術を究めることはエンジニアのキャリアを考えたら過程の1つと考えた方がよいでしょう。その後にコンサルタントやプロジェクトマネージャに進む場合も多いはずです」

 「ただし、中には徹底的にデータベースの技術を追究する人、したい人もいるでしょう。これだけデータベースがコモディティ化してきて敷居が低くなってくると、いつかまたデータベースを究めた職人が求められるようになるかもしれません」と、仲澤氏は将来求められる人材像が変わるかもしれないという。

 ひと口にデータベースエンジニアといっても、ここ数年はその姿も多様化してきた。データベースの正規化に始まり、チューニングに明け暮れることだけがデータベースエンジニアの仕事ではなくなってきた。データベースエンジニアからキャリアをスタートし、もっと広い範囲をカバーできるエンジニアになったり、次のステップにつなげるのもよいだろう。

 ただ、忘れてならないのは、データベースはシステムの根幹であるということだ。データベースだけでシステムが完結することはないが、データベースはどんなときもシステムの中心にある。どのような道を歩むにせよ、データベースはエンジニアの必修科目と認識しておいた方がいいだろう。これからのデータベースエンジニアの課題は、習得したデータベースの技術を次の自分のキャリアとしてどう生かすか、どう次のステップにつなげるかだ。

仲澤氏の推薦図書

 最後に、仲澤氏がデータベースエンジニアに推薦する書籍を紹介しよう。

   Oracleを扱うエンジニアのための実用書として

  仲澤氏が差し出した本はすでにかなりボロボロで、相当頻繁に活用してきたことを物語っている。この本はOracle8を扱うエンジニアのための実用書だ。Oracle8の構成、データベースの構造と作成、ロック機能、SQLオプティマイザ、パフォーマンス管理などについて扱っている。また、システム全体を考慮して、安全性やトラブル回避方法、障害対策について解説されている。

仲澤氏:「この本はかなり難易度が高いです。Oracleの認定試験でいうなら、Platinumレベルです。まったくの初心者が読んでもさっぱり理解できないでしょう。高度な知識を持ち、実践で活躍しているエンジニアに推薦します。それぞれのパラメータについて詳細な解説があります。現場でのトラブルシューティングや、より高度なOracleデータベースの理解に役立つでしょう

Oracle8プロフェッショナル・テクニック

小幡一郎、石川雅也、木脇光太郎、鵜飼淳代著
ソフト・リサーチ・センター
1997年7月
ISBN4-88373-122-7
4300円(税別)


データベースエンジニアを目指せ! バックナンバー
データベースは設計と上流から押さえる
データベースコンサルタントへの道
データベースの習得に王道はあるか?
データベースの学び方
顧客の変化とともに成長するエンジニアになる
理想のデータベースエンジニアとは?
データベースエンジニアの真髄を見極めよう
自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。