LPI-Japanオンラインセミナー レポート
2023年7月26日開催「データベース技術を習得してワンランク上のエンジニアになるために~いま求められるスキルとその学び方~」より

世の中のITサービスが多様化・高度化する中で
全体を見渡せる「骨太なデータベース技術者」を目指そう

株式会社NTTデータグループ 技術革新統括本部 
技術開発本部 IOWN推進室 
藤井 雅雄 氏


「ビッグデータ活用」「データドリブン経営」といった言葉がしきりに叫ばれる中、データベース技術者のニーズも高まる一方だ。だが一方で、体系的な知識を持たないまま現場の業務に携わり、自分の力量と業務要件とのギャップに悩む人は少なくない。さらに高度化する「データの時代」に向けて、ワンランク上のデータベース技術者に成長するのに必要な考え方やスキル、そして学習法とは? 株式会社NTTデータグループ 藤井雅雄氏による「骨太なデータベース技術者が求められる理由」の講演内容からダイジェストでご紹介しよう。

NTTデータグループの藤井です。現在は主にデータベースの研究開発や、PostgreSQLを用いた案件プロジェクトに対する技術サポートなどを担当しています。現在の研究開発テーマとしては、PostgreSQLを複数台並べてスケールさせる「分散トランザクション」や、 Kubernetes上のコンテナでPostgreSQLを動かすといったことに取り組んでいます。また会社の業務以外では、PostgreSQLのコミュニティでコミッタ(主要開発者)*を務めています。

PostgreSQL のソースレポジトリ上のソースコードを、直接変更する権限(コミット権限)を持っている人のこと

骨太なデータベース技術者になるために押さえたい3つのポイント

早速ですが、今回のテーマである「骨太なデータベース技術者」になるには、どうしたらよいでしょうか。私は自分の経験から、大きく以下の3つのポイントがあると思っています。

ポイントその1:お気に入りのデータベース製品やサービスを見つけよう

これはどんな技術でもそうですが、自分が「これは好きだ」「興味を持ってやれそうだ」と思えるものを探すことが、とても大事です。「自分はこれが気に入っている」というマインドは、長く続けていくためにも、また困難を乗り越えるうえでも、大きな支えになるからです。

とはいえ、現在世の中にあるデータベース製品は非常に多く、しかも増え続けています。定番のRDB(リレーショナルデータベース)ではOracle、SQL Server、DB2などのプロプライエタリ製品、OSSではPostgreSQL、MySQLなどが代表格です。この他にもDWH(データウェアハウス)や情報分析系、非リレーショナル、NoSQL系、さらに最近はNewSQLなど、実に多種多様なデータベース製品が存在し、次々に新製品もリリースされています。

これだけの中から、「自分のお気に入り」をどうやって見つけるのか。私としては、これからデータベースを学ぶ方には、やはり定番のRDBから入ることをお勧めします。というのも、役立つ情報が豊富にあり、教えてくれる方や交流できる技術者が周囲に大勢存在しているからです。私が仕事で手がけているOSSでいえば、歴史が長く世界中に普及しているMySQLやPostgreSQLのような RDBは学習者にうってつけです。

ポイントその2:データベースの要素を体系的に押さえよう

データベースと一口に言っても、いろいろな要素があります。SQLはもちろん、テーブル設計や論理、物理、パラメーター設定、そしてバックアップや運用系などなど……。しかしこれらの要素すべてに精通し、相互の関係も含めて体系的に理解しておくことは、データベースをより効率的かつ的確に扱ううえで重要です。そこで、以下に効果的な学習法を2つ挙げます。

1つ目は、「お気に入りのデータベース製品のドキュメントを最初から最後まで読んでみる」。これを実行したことのある方は、意外に少ないと思います。しかし改めて読んでみると、実にいろいろなことが書いてあって、非常に気づきも多い。全部読む時間がなければ、入門書や資格本など、体系的に知識をまとめてあるものを探すのもよいでしょう。

2つ目は「どこまで自分自身が理解できたのか、理解度を確認する」。これには資格が効果的です。PostgreSQLであれば「OSS-DB技術者認定試験」が、このオンラインセミナーを主催しているLPI-JAPANからも提供されています。認定試験を受けることで、自分の理解度を客観的に確認できるし、認定を取ればそれが次のステップへのモチベーションにもなります。

ポイントその3:データベースの中身や仕組みまで理解しよう

最近はクラウド上に提供されたマネージドデータベースも増えて、最初からそれを使えばこと足りるケースも増えました。しかしそれだと、データベースの内部が分からないまま使っていくことになります。骨太のデータベース技術者を目指すならば、自分が扱うデータベースをブラックボックスにせず、中身や仕組みまでを詳細に理解できるようになりましょう。

仕組みというのは、例えばデータベースのアーキテクチャやデータ構造などを指しています。またPostgreSQLだと「追記型アーキテクチャ」のような、独自の仕組みを持っていることもある。そうした細かな知識が、実務で使える技術力につながります。さらにできれば、「なぜこのデータベースは、こういう仕組みを採用しているのか」といった設計思想のようなところまで踏み込めるとよいと思います。

データベースの3つの注目トレンド~多様化やマネージド化の波

ここからは、現在のデータベーステクノロジーのトレンドと、データベース技術者に求められる役割について紹介します。まず私から見た、最近のデータベースの注目トレンドは以下の3つがあります。

1.データの種類も使いかたも、規模、寿命、利用者、要件も多種多様

データベースの扱うデータが、実に多様化しています。データ自体が多種多様な上に、用途も複雑化しています。特に最近は生成AIや自動運転の画像データなど、最先端のテクノロジーへの利用例が増えてきています。

2.やっぱり定番って強い~RDBの強さが再認識されつつある

新しいものが次々登場する一方で、RDBの強さが再認識されています。従来のRDBはリレーショナルデータをいかに効率よく処理するかが主眼でしたが、そこに新しい技術を組み合わせて活用の幅を広げる試みが、色々な分野で行われるようになってきています。

3.マネージドなデータベースの提供が、より当たり前になってきた

パブリッククラウドでも、プライベート環境でも、マネージドデータベースを利用する事例が急増しています。新しくリリースされるデータベース製品も、コアの部分をOSSで提供しながら、併せてクラウドサービスのマネージドサービスをリリースしているパターンが少なくありません。

「データベースの技術者」から「サービス全体を見渡せる技術者」へ

上記のようなトレンドの中で、骨太なデータベース技術者にはどんな役割が期待されてくるのでしょうか。ここでは、重要なものを2つ挙げておきます。

1.自分が担当するシステムにどんな製品を使うべきかを、要件に即して判断する役割

多種多様なデータベース製品から、自分が担当するシステムにはどれを採用すべきか。この選択の勘どころを押さえて、最適な製品を比較・選択できる能力が、これからのデータベースエンジニアには要求されます。なお、この「能力」には、良い製品を選ぶだけでなく、「これは選ぶべきでない」判断を下す鑑識眼も含まれます。

とはいうものの、実際の業務では、定番のRDBをしっかり押さえておけば、案件全体の8割は対処できるというのが私の個人的な感想です。OSSならPostgreSQLやMySQLで、どこまで対応できるかを熟知しておくことが、最初に目指すべき到達目標と考えるとよいでしょう。

2.マネージドサービス全盛の中、基盤技術を一気通貫で見られる「最後の砦」の役割

マネージドデータベースが普及してくると、技術者の中にも使い方だけ知っている人が増えて、その基盤構造や機能までを一気通貫で理解しているエンジニアは貴重になっていきます。つまり、予想外の事態=障害発生やシステムダウンなどが起きた時に、対処できる人がいないのです。

そうなった時、データベース本体を含むサービス全体を見通して、原因究明や解決にあたれる骨太なデータベース技術者は、インシデント発生時の「最後の砦」の役割を担うことになるでしょう。これまではバックエンドのデータベースの開発・運用担当に過ぎなかった存在から、「あの人がいれば、何かあっても安心」と信頼を集める存在になっていくと私は考えています。

技術コミュニティに参加して、仲間と学びながら「その先」へ進もう

ここまで読んでいただいて、「骨太なデータベース技術者にはなりたいけど、勉強することが多そうだなあ」と思っている方も多いのではないでしょうか。もちろん自分1人だけで次々に出てくる新技術や製品を追いかけたり、知識を深掘りするのには限界があります。そこでぜひお勧めしたいのが、技術コミュニティへの参加です。

世界でも、日本国内でも、さまざまなデータベース技術のコミュニティが活動しています。そこに参加していろいろな技術者と交流しながら、新しいテクノロジーへのキャッチアップや情報交換、時には雑談の中で刺激をもらいながら学んでいくことが、自らのモチベーションを長く保つうえでも大いに役立ちます。

OSS系のコミュニティだと、PostgreSQL、MySQL共に、いろいろなコミュニティがあります。中でも「日本PostgreSQLユーザ会(略称 JPUG)」は、カンファレンスが定期的に開催されているので、最初はここに参加してみるのもよいでしょう。初心者の方にお勧めは、同ユーザ会の「PostgreSQLアンカンファレンス」で、ほぼ毎月1回のペースでライトニングトークや短い講演スタイルの発表などを開催していて、非常に参加しやすく自らも発表しやすい場になっています。

この他にも、PostgreSQL エンタープライズ・コンソーシアムという団体では、いろいろな企業が集まってノウハウの公開や検証などを行っています。どれでも自分が関心を覚えたところに一度参加してみて、その雰囲気を体感してみてはどうでしょうか。

最後に繰り返しになりますが、日々、多種多様なデータが生まれ、新しいデータベース技術が登場してきています。その一方で、世の中ではマネージドサービスが主流になりつつあり、システム全体の仕組みをトータルに理解できる技術者、基盤技術に精通している技術者の価値はますます高まってきています。そうした中で骨太なデータベース技術者を目指すのはとても楽しいし、もちろん学ぶのは大変ですが、十分にやりがいがあると思います。

私のこれまでのデータベース経験がPostgreSQLだったので、今回お話ししたこともPostgreSQL中心になりがちでしたが、他のデータベースにも十分通じるような内容を心がけたつもりです。どうぞ参考になさって、骨太なデータベース技術者を目指してください。


当日の動画

企業の基幹システムや業務システムでの
PostgreSQLの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。