藤井氏は、近年基幹系などさまざまな分野で導入が進むオープンソースソフトウェア(OSS)データベース(DB)である「PostgreSQL」について、NTTデータでの社員教育にも関わっています。また、PostgreSQLのコミュニティではコミッターとして活躍し、開発においてバグの修正やパッチのレビュー、世界中の技術者への働きかけを実施しています。
聞き手は、DX、クラウド時代に対応したLinux技術者向け認定試験「LinuC」やPostgreSQLをリファレンスとしたデータベース技術者向け認定試験(OSS-DB)などを通じて技術者育成に注力するLPI-Japan理事長の鈴木敦夫氏。NTTデータの技術者育成についてインタビューし、AIやIoTなどによりデータの重要性が高まる中、DB技術の重要性を浮き彫りにしました。
広がるDBの選択肢とリレーショナルデータベース(RDB)を学ぶことの重要性
鈴木 いまデータへの注目が集まっています。データベースの専門家として、こうした状況をどのようにとらえていますか?
藤井 AIやIoT、FinTechなどのアプリケーションが急速に増えるなど、とにかくサービスが多様化しています。それに伴って、システム要件や求められるデータセットも変わってきています。例えばリアルタイム性でいえば、以前は多少遅れてもよかった領域でも、いまは最新情報が求められるものが増えています。データの規模についても、要件がさまざまです。いろいろなサービスや基盤がデータになっており、生活のありとあらゆるものがデータとしてためられています。それをいかに生かし、社会に還元できるかが問われています。
鈴木 いろいろなものがネットワークにつながり、データを収集できる時代になっています。集められたデータをAIなどで新しい価値に変換する際に、データソースがより使いやすくなっていなければならないということですね。
藤井 はい。ためることは大事ですが、それを取り出す時に使いやすい性能が確保されている必要があります。セキュリティなどの要件が確保されていることも重要です。そのためのデータ基盤として、DBが重要になってきます。
鈴木 いろいろなDBの技術がありますが、最近はパブリッククラウドのDBなどでは用途別にさまざまなものが出てきています。その中で、いまRDBを学ぶことにどのような価値がありますか?
藤井 さまざまなDBが出てきている背景には、さまざまな用途が登場していることが挙げられます。例えば、RDBみたいなかっちりしたデータ構造のものもあれば、NoSQLなどより柔軟なものも出てきています。
そういう中でRDBを学ぶ意義は、RDBがあらゆるDBを学ぶ際の軸になるからです。デファクトであるRDBを学んだ上で、いろいろな製品を見ていくことで、幅広い理解が進みます。
鈴木 なるほど、1つのDBを通して、さまざまなデータ構造やアクセス方法、データ処理方式などデータを扱う技術要素を学べるということですね。中でも、成熟しているPostgreSQLを学ぶことに価値があるということですか?
藤井 はい、その通りです。実際のところ、RDBで実装できる範囲はまだまだ大きいのが実情です。いろいろな製品がある中で、RDBがどこまで使えるのかを見極め、その上で他のDBを使っていくという意味で、RDBを学ぶことは重要です。
オープンソースコミュニティから最新の情報を得られ、世界からアドバイスをもらえる
鈴木 商用DBもある中で、OSSのDBを学ぶことの意義についてどう考えますか?
藤井 体系的にDBを学び、さらに少し突っ込んで調べたいという時に、ソースコードを見られることの意義は深いと考えています。例えば、このトランザクションはどう実現されているかや、このトラブルがいかに発生しているかなどをソースを見ながら解析できることは面白いですし、顧客にも根拠を持って説明できるため、説得力が増します。
また、オープンソースにはカンファレンスやユーザー会が多いため、新しい情報が得やすいことも利点です。さっとインストールして試せるなど、場が提供されていることも大きいです。
鈴木 藤井さんはOSSのコミュニティでも活躍されていますが 技術者同士のつながりで得られたものにどのようなものがありますか?
藤井 世界中のさまざまな背景を持った技術者が集まっているので、自分が気づけなかったニーズ、要件、使い方、自分にないものをディスカッションなどで知ることができます。オープンだからこそのコミュニティの良さです。例えば、機能的に役立つ、優れているからといった理由で実装しようとしたコードに対して、「将来的なメンテナンス性や読みやすさを考えるべきだ」といった気づきを与えてくれるメンバーがいます。とても参考になります。
鈴木 人に聞ける場があり、技術者としての成長を実感できるのがメリットですね。ただ、海外を含めたコミュニティで日本のエンジニアはなかなか活躍できていない実態もあります。どうしたら改善できるでしょうか。
藤井 いきなり英語で海外のコミュニティのディスカッションに入るのは、難易度が高いのは事実です。まずは日本のコミュニティに参加して発言するといいでしょう。最近は、Slackで情報交換するなど盛んです。PostgreSQLであれば「PostgreSQLアンカンファレンス」というイベントがほぼ毎月のように開催されており、気軽にライトニングトークで発表もできます。さまざまな技術者とつながり、知見を得られるわけです。
また、海外のコミュニティとのやりとりについては、バグ報告から始めてみるのもいいでしょう。ドキュメントのタイプミスを見つけるだけでも歓迎されます。また、困ったら日本のコミュニティで助けを求めれば解決できることもあります。
鈴木 その意味で、さまざまなDBがある中で日本のコミュニティが発展、成熟しているPostgreSQLは技術者が学び成長するのに良いプラットフォームと言えますね。
藤井 はい、そう思います。初心者をどんどん助けようという人が多いのも特徴です。