NTTデータにおけるDB技術者の育成
鈴木 ここまでのお話で、データを扱う技術者の重要性はますます高まっており、DB技術を学ぶ価値が見直されていることがよく分かりました。NTTデータではDB技術者の育成に、どのように取り組んでいますか?
藤井 DB技術者にも、いくつかのパターンがあります。私のようなデータベースマネジメントシステム(DBMS)を作る人もいれば、顧客のプロジェクトに入って開発し、運用するといった人もいます。いろいろな経験をしてもらいながら、本人がどこにいきたいかを見極める必要があります。最初はDBについて全体を体系的に学び、そこから希望や適性に合わせて深めるという育て方をしています。
また、PostgreSQLなどDB自体を作りたいというのであれば、社内にいるだけでは成長できないので、どんどん社外のコミュニティに出てもらっています。講演をしたり、パッチを出したりといった機会を通じて、社外の環境を含めて育ててもらっています。
鈴木 社外に出て行くというのは、NTTデータの気風や仕組みと関係していますか?
藤井 特に技術系の部門にはその気風があります。ブランド力拡大という意味で、どんどん外へという方向性が出てきています。
鈴木 NTTデータはオープンソースのコミュニティでも表彰されるなど、活躍が目立ちますね。
藤井 もっともっと、とがった技術者がいることをアピールしていきたいと考えています。
技術者がデータを扱えることの魅力
鈴木 技術者にとって、データを扱えることの魅力はどんなことでしょう。
藤井 技術の“はやり廃り”は、らせん状の性質があります。10年たつと元に戻るといったこともあり、バラバラに追いかけてもあまり意味がありません。それよりも、RDBのような根幹技術を知り、軸とすることの意義は大きいです。
特にDBは、トランザクションだけでなく、コンピュータサイエンスのエッセンスを凝縮した世界でもあります。文字コードや、内部にソートを使っているアルゴリズム、その時のディスクI/O、メモリ、キャッシュなどの機能が含まれています。学んでおけば、情報技術者としての土台ができます。そうすると、らせんを描く技術の変遷で、何がはやり、廃っても対応できます。よくよく考えると、面白いものです。
鈴木 データを扱う技術を学ぶことはコンピュータを学ぶことにもなるため、無限の可能性があるといってもいいかもしれません。データを扱える技術者がもっとたくさんいなければならない時代ですね。そうしたデータを扱う基盤があってこそのIoT、データ分析ということでしょう。
藤井 はい。DBが中核になってきます。DB自体を専門にしないとしても、DBを学ぶ意義は非常に大きいと言えます。
OSS-DB技術者認定を取得することで広がる可能性
鈴木 NTTデータでは、LPI-Japanが実施する「OSS-DB技術者認定」を持っている人がたくさんいらっしゃいます。認定をとることの価値や推奨の仕方について教えてください。
藤井 私が関連する部署では、最初にOSS-DB技術者認定のSilverを取るという方向性を示しています。いきなりプロジェクトに入ってDBを使うとすると、それがアプリケーション開発のフェーズならSQLしか学べず、物理設計、バックアップや監視、セキュリティなどが分からないということになってしまいます。そのため、Silverによって、DBを構成するさまざまな要素を学べることは大きいです。
まずはそれを学んでもらいたく、Silverに取り組んでもらっています。学ぶ際のゴールやモチベーションにもなりますし、われわれとしても資格の有無によって、その技術者との会話の前提がつかめるというメリットもあります。
鈴木 OSS-DBの取得を目指して体系的に学ぶことで技術者自身が持つ「技術力のポケット」にさまざまなものが入ることになり、技術者としての幅が広げられるということですね。
NTTデータはOSS-DB Gold取得者数首位に
インタビューで話題に挙がった、PostgreSQL技術者の認定資格「OSS-DB技術者認定」。「OSS-DB Gold」と「OSS-DB Silver」という2つのレベルがある。OSS-DB Goldの認定は、PostgreSQLの内部構造についての深い知識を持ち、設計・構築からパフォーマンスの改善やトラブルシューティングまで行える技術力を証明し、OSS-DB SilverはPostgreSQLを使ったデータベースシステムの運用管理を確実に行える技術力を証明するものである。
藤井 2020年のOSS-DB技術者認定で、NTTデータはOSS-DB Goldで1位、Silverで2位という結果になりました。
鈴木 OSS-DB Goldで1位ということで、より高度な技術者の育成に力を入れていることの結果が出ているのだと感じます。OSS-DB Goldを多数の技術者が取得するのは難しいと思いますが、何か取り組みをされてますでしょうか。
藤井 実際のところ、プロジェクトの中で、PostgreSQLを使うという必要に迫られて取っている人も多いです。
鈴木 DBの分野では、「DBの専門家が勉強するもの」というイメージが強いのが実情です。かつてはDBシステムを自ら設計・開発することも多くありましたが、いまはデータベースを「使う」人をデータベース技術者と呼ぶことも多いです。
しかし、データ構造やアクセス、及ぼすシステムの影響を考えられる技術者でなければ、データベースの技術者として活躍できません。その意味で、商用でなく、中まで見えるOSSのDBを学ぶことの効果は大きいと考えています。
藤井 本当にそう思います。同じ機能を提供していてもDBごとにアーキテクチャはバラバラなので、データ構造などDBの内部まで知ることで、機能をより使いこなしたり、難しいトラブルシューティングができたりするような場面が出てきます。
例えば、DBで多いトラブルとして、従来インデックスで高速アクセスしていたシステムにおいて、途中で選択するSQL実行プランが変更になり、インデックスが使われなくなることで性能が劣化することがあります。DBがSQLプランを選択する仕組みやどのような要素がSQL実行プランの選択に影響を及ぼすのか知ることで、そのような性能劣化のトラブルシューティングが楽になります。
鈴木 まさに、中身を知っていないと解決できない問題ですね。技術者であれば本質的な技術を押さえてほしいところです。それが技術者の醍醐味だと感じます。
藤井 はい、そこが面白いところなので、ぜひ面白いと思ってもらえるとうれしいといつも思っています。
鈴木 本日のお話を通して膨大なデータが蓄積され、活用される時代にあって、データをどう保存しどう取り出すかが重要になってきていること、その仕組みを設計できる技術者が重要であること、その技術者の育成においてPostgreSQLを通したデータベース技術の学習が大変有効であることがよくわかりました。本日は貴重なお話をいただき、ありがとうございました。
本インタビューは、新型コロナウィルス感染症対策に留意した上でマスクを外し、撮影を行いました。