primeNumberデータマネジメント特集

今からはじめる、データエンジニアリング・ロードマップ

データエンジニアリングとは何か

昨今、データドリブンな経営・事業推進の重要性が日に日に高まってきていますが、それを実現するためにはデータの分析環境(≒データ分析基盤)が必要不可欠です。しかしながらデータ分析基盤を構築・運用するためには、専門性の高いデータエンジニアリングのスキルやノウハウを身につける必要があります。

この記事ではデータエンジニアリングを実践するにあたって「何が必要か」⁠どうキャッチアップすれば良いのか」を説明していきます。

なお、本記事は筆者の経験則に基づく解釈が多く含まれております。より客観的に学びたい方に向けて参考文献も記載しておりますので、併せてご参照頂けますと幸いです。

データ分析基盤の必要性

データ分析やデータ活用を行うシステム基盤のことを、データ分析基盤と言います。

通常分析に必要なデータは企業内に散在しており、分析するためには1箇所に集約する必要があります。

たとえば、広告の費用対効果を算出したい場合、広告費用に関するデータは広告管理画面から取得し、一方で広告経由で発生した売上データはSalesforceなどのCRMツールから取得します。それらを1箇所に集め、集計することによって費用対効果を算出します。

これを実現するためには、データウェアハウス(DWH)と言われる分析用データベースを構築し、さまざまな分析データをDWH内に統合するアプローチをとります。そうすることでSQLやBIツールなどを用いて、DWH内のデータに対して分析処理を実行することが可能になるのです。

このデータ統合を行う仕組み(ETL・データ収集基盤とも言う)やDWHをまとめて「データ分析基盤」と呼び、それらを構築・運用する行為が「データエンジニアリング」です。

データエンジニアの役割

次に、データ分析基盤の構築や運用を行う役割である「データエンジニア」について説明します。

前述したデータエンジニアリングを実際の業務として行う人のことを「データエンジニア」と言います。

データ分析基盤の構築と運用をメインの役割としておりますが、データ活用を行うための環境整備や、場合によってはデータ分析自体を行う場合もあります。

一方で「データサイエンティスト」「データアナリスト」はデータエンジニアが整備した環境を利用し、様々なデータ活用を行うことをメインの役割としています。

技術要素・技術スタック

では、データエンジニアリングの世界では日々どのような業務を行っていて、そこではどんな技術が活用されているのでしょうか。

ここでは、以下2つのフレームワークを使って解説していきたいと思います。

DAMAホイール図から見る、技術スタック

DAMAホイール図とは、データマネジメント協会という全世界に支部を持つ団体の出版しているDMBOK2という書籍で出てくる、⁠データマネジメントに必要な知識領域」をまとめたものです。

データマネジメントとは、エンジニアリングの技術ノウハウを用いて、データ分析基盤周辺のデータを正しく管理することです。

図1がDAMAホイール図で提唱されている、データマネジメントに必要な10+1の領域となります。

図1 DAMAホイール図
図1

それぞれの領域では以下のような目的を達成するべきものとしています。

  • データアーキテクチャ:データ分析基盤全体の設計図を作成する
  • データストレージとオペレーション:データを保管するシステムの構築・運用保守をする
  • データ統合と相互運用性:分析データを1箇所に統合し、組織内で運用しやすい形で保持する
  • データモデリングとデザイン:データをビジネス活用しやすい形に設計・変換する
  • データウェアハウジングとビジネスインテリジェンス:DWHシステムの選定・構築と、BIツールなどを用いてデータをビジネス活用する
  • マスタデータ管理:組織横断で利用されるデータをマスタデータとして定義し、運用保守する
  • ドキュメントとコンテンツ管理:PDFやワード・エクセルファイルなど、非構造データを管理する
  • データセキュリティ:データの取扱いに関するルールを策定し、組織内で監査する
  • データ品質:蓄積したデータについての品質要件を定義し、要件を満たすようにデータの品質を担保する
  • メタデータ管理:各データに対して説明を付与し、検索性や運用性を向上する
  • データガバナンス:10領域について組織内での実運用を行い、ビジネスに活用していく

Peter Aiken's framework(Peter Aikenフレームワーク)によると、これらの要素技術は図2のようなピラミッド構造で表現することもできます。

図2 DMBOK2で定義されているPeter Aikenフレームワーク
図2

図の下から、色分けされた層順に以下のような分類となっており、より実運用に近い依存関係や関連性がわかるかと思います。

  • データガバナンスの実行:他の各領域を、組織内で実運用する
  • データ品質・利便性の向上:データの品質や利便性を担保する
  • データの統合・蓄積:データを組織内で利用しやすい形で管理する
  • データの提供:データを処理・利用するための手段を提供する
  • データ分析の実行:実際にデータ分析を行い、ビジネスに活用する

こちらのDAMAホイールで紹介されている各種領域について詳しく知りたい方は、以下の書籍をおすすめします。

ゆずたそ著データマネジメントが30分でわかる本

The Modern Data Stackから見る、近年の必要技術スタック

The Modern Data Stackとは、現代におけるデータ処理・管理方法に関する技術領域をまとめたものです。

DAMAのホイール図と比べると、より具体的な要素技術にフォーカスしており、なおかつ最新の技術進化への追従性が高いことが特徴的です。

The Modern Data Stackの要素技術を習得することは、データエンジニアになるための必修科目と言っても過言ではないでしょう。

具体的には以下のような領域が存在しています。

図3 The Modern Data Stack(引用:The modern data stack: a guide
図3

図3はThe Modern Data Stackの一部領域・一部技術を紹介しているため、最新の網羅的な技術スタックを知りたい方はModern Data Stackを参照してください。

Modern Data Stack

ここですべててのカテゴリについて説明することは控えますが、とくに押さえるべき技術要素を一部ピックアップしてご紹介します。

データの統合・蓄積

  • Data Warehouses:分析に最適化された形でデータを蓄積するためのサービス群
  • ETL Tools / Change Data Capture / Data Streaming:データを統合するためのサービス群

データ処理

  • Modeling & Transformation:蓄積されたデータを変換するためのサービス群

データの管理

  • Workflow Orchestration:データ統合やデータモデリングを動かすためのジョブ管理サービス群
  • Data Cataloging / Data Discovery:メタデータを蓄積し、データの検索性や理解を促すためのサービス群
  • Data Quality Monitoring:低品質なデータの検知や、データ品質を担保するためのサービス群

分析・活用

  • Reverse ETL:蓄積したデータを実ビジネスで利用している別サービスに連携するためのサービス群
  • Business Intelligence:データの可視化や簡易的な処理を行うためのサービス群
  • Product Analytics:提供製品の分析に特化したサービス群

Modern Data Stackでは、これらの技術要素を実現するための実サービスやOSSを紹介していたり、各企業で利用しているデータ関連の技術スタックをまとめていたりします。

ロードマップ

さて、ここまででデータエンジニアリングの定義と、必要となる技術要素について解説してきました。

ここでは、それらの技術要素をどのような順序で学ぶべきか、ロードマップを用いてご紹介します。

データエンジニアリング・ロードマップ

データエンジニアリングを実際に行うにあたり、筆者が適していると思う学習の順序・過程を以下の図4にまとめました。

Startから順に学んでいくことで、データ基盤の成長過程に適した技術を学べるようにしています。

図4 データエンジニアリング・ロードマップ
図4

Startからいきなり「分析課題の整理」という抽象度の高い要素が来ていますが、実は非常に重要なポイントです。

「何ができるか、どんな技術を使うか」といった手段から入ってしまうと、往々にして「使われない分析基盤」ができあがります。

「何の目的でデータ分析基盤を作るのか、誰のどんな課題を解決するためにやるのか」といったゴール設定をすることは非常に大事です。

以後は前述の部分で説明したカテゴリと要素技術が並んでいます。

なお、説明の都合上、独断によって前述とは異なるカテゴリに分類されている要素がある点にご留意ください。

データエンジニアのキャリア

ここまで学んできたデータエンジニアとしてキャリアを歩みはじめる場合、どのようなキャリアパスが存在するのかをご紹介していきます。

キャリアのはじまり

一般的には、ソフトウェアエンジニアやインフラエンジニアといったキャリアからのコンバートが多いかと思います。

これはデータエンジニアリングやデータマネジメントといった領域が専門性が高く、エンジニアリングのベストプラクティスを結集して解決すべき難易度の高い課題に溢れていることが影響しているかと思われます。

また、多くの場合データ分析基盤はクラウド上に構築するため、AWSやGCPといったクラウドに関する基礎知識も必要とされるでしょう。

初級データエンジニア

ロードマップにおける「0. 前提知識」から「2. データの提供」を最小構成で実装できるレベルが初級データエンジニアです。

多くの場合、他のエンジニア職種からコンバートして、書籍やネット上の情報を頼りに独学で学ぶことが多いかと思います。

社内外でメンターや顧問を探し、最短ルートで学びながら「失敗の少ないデータ分析基盤ベストプラクティス」を身につけることが次のレベルに行くための近道だと思われます。

中級データエンジニア

「0. 前提知識」から「2. データの提供」に関して、より多くのデータ種・データ量を踏まえてシステム構築・運用保守が出来ており、なおかつその際に発生する課題の解決として「3. データ品質・利便性の向上」および「4. 組織への浸透」を実践できるレベルが中級データエンジニアです。

ここまで来るとかなり多くの課題に直面するため、人員を増やしてチームを組織する必要も出てきます。

データ分析の品質・効率性を上げ、組織そのもののグロースを意識することも重要なポイントです。組織とともにデータ分析基盤が成長していくような状態を作ることが次のレベルに行くための近道です。

上級データエンジニア

ジェネラリストとスペシャリストの2つのキャリアパスがあると考えます。

ジェネラリストは上述するすべての要素技術を一通り学び、チームを指揮しながら組織においてインパクトの大きいデータ分析課題を解決する能力が求められます。

スペシャリストは要素技術の一部に関して、最新の技術を駆使しながらより難易度の高い課題を解決する能力が求められます。例えば膨大な量のデータを、一定時間内に高速に処理するETLに関する能力などです。

まとめ

今回の記事では、データエンジニアリングの定義と、それを学ぶためのロードマップやキャリアパスについてご紹介しました。

データエンジニアリングはかなり多くの技術領域があり、なおかつそれぞれの領域の専門性が非常に高いため、かなり難易度の高い分野だと思います。

それゆえに市場価値も高く、ソフトウェアエンジニアやインフラエンジニアからの次のステップとしてもおもしろいと思います。

あなたの学んできたエンジニアリングの知見をすべて活かしながら、チャレンジしてみるのはいかがでしょうか。

おすすめ記事

記事・ニュース一覧