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

オンラインでノートPCで作業する女性

共同執筆者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

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

データ・エンジニアリングとは、大規模なデータの集約、保存、分析のためのシステムを設計および組み込むことです。データ・エンジニアは、組織が大規模なデータセットからリアルタイムで洞察を得られるよう支援します。

SNSやマーケティング指標から従業員のパフォーマンス統計やトレンド予測まで、企業は業務の全体像を把握するために必要なすべてのデータを入手できます。データ・エンジニアは、膨大な量のデータを価値ある戦略的発見に変換します。

適切なデータ・エンジニアリングにより、組織全体の関係者(幹部、開発者、データサイエンティスト、ビジネス・インテリジェンス(BI)アナリスト)は、信頼性が高く、便利で、安全な方法で、必要なデータセットにいつでもアクセスできます。

組織は、これまで以上に多くのデータ、そしてより多くのデータ・タイプにアクセスできるようになりました。あらゆるデータが、重要なビジネス上の意思決定に影響を与える可能性があります。データ・エンジニアは、分析、予測、機械学習などの下流での使用のためのデータ管理を統括します。

専門のコンピューター科学者であるデータ・エンジニアは、未加工データをすぐに使用できるデータセットに分類するアルゴリズム、データ・パイプライン、ワークフローの作成と展開に優れています。データ・エンジニアリングは、最新のデータ・プラットフォームの不可欠な要素であり、データ・ソースや形式に関係なく、企業が受け取ったデータを分析して適用することを可能にします。

分散型のデータ・メッシュ管理システムであっても、データ・エンジニアのコア・チームがインフラストラクチャー全体の健全性に責任を負います。

データ・エンジニアリングのユースケース

データ・エンジニアには、日常的にさまざまな責任があります。データ・エンジニアリングの主なユースケースをいくつか紹介します。

データの収集、ストレージ、管理

データ・エンジニアは、組織全体でデータの取り込みと保存を合理化し、アクセスと分析を容易にします。これにより、データを効率的に保存し、ビジネスの成長に合わせて維持しやすい方法でデータを管理するプロセスを確立することで、拡張性が向上します。DataOpsの分野では、データ管理を自動化し、データ・エンジニアの作業によって実現されています。

リアルタイムのデータ分析

適切なデータ・パイプラインを導入することで、企業はデータ分析で使用するデータの収集、クリーニング、フォーマットのプロセスを自動化できます。膨大な量の使用可能なデータに1か所からアクセスできる場合、データ・アナリストは、ビジネス・リーダーが学習して重要な戦略的意思決定を行うために必要な情報を簡単に見つけることができます。

データ・エンジニアが作成するソリューションは、データがデータ・モデルに流れ込み、組織の状況を随時リアルタイムで表現するリアルタイム学習の基盤となります。

機械学習

機械学習(ML)は、膨大な量のデータを使用して人工知能(AI)モデルをトレーニングし、その精度を向上させます。多くの電子商取引プラットフォームで見られる製品推奨サービスから、急成長している生成AIの分野まで、MLアルゴリズムは幅広く使用されています。機械学習エンジニアは、データが収集された時点から、トレーニングのためにデータを使用するモデルまでデータを転送するためにデータ・パイプラインに依存しています。

データ・エンジニアとコア・データセット

データ・エンジニアは、大量の未加工データを、同僚が必要とする重要なデータを含む使用可能なコア・データセットに変換するシステムを組み込みます。そうしないと、エンドユーザーが企業の運用システム全体に分散しているデータにアクセスして解釈することが非常に困難になります。

コア・データセットは、特定のダウンストリームのユースケースに合わせて調整され、余分な情報のない使用可能な形式で必要なすべてのデータを伝達するように設計されています。強力なコア・データセットの3つの柱は次のとおりです。

1. 操作性

データ管理のデータとして製品(DaaP)方式では、アクセス可能で信頼性の高いデータをエンド・ユーザーに提供することに重点が置かれています。アナリスト、科学者、管理者、その他のビジネスリーダーは、データにアクセスして解釈する際に、できるだけ障害に遭遇しないようにする必要があります。

2. コンテキストベース

優れたデータは、現在のスナップショットであるだけでなく、時間の経過に伴う変化を伝えることでコンテキストを提供します。強力なコア・データセットは、過去の傾向を示し、より戦略的な意思決定に役立つ視点を提供します。

3. 包括的

データ統合は、企業全体のデータを統合されたデータセットに集約する実践であり、データ・エンジニアリングの役割の主な責任の1つです。データ・エンジニアは、エンド・ユーザーが業務の必要に応じてさまざまなソースからのデータを組み合わせることを可能にします。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

データ・エンジニアリングの仕組み

データ・エンジニアリングは、生の非構造化データを、データの品質と信頼性を維持する統合データセットに変換するデータ・パイプラインの設計と作成を管理します。

データ・パイプラインは、適切に機能するデータ・インフラストラクチャーのバックボーンを形成し、サービス提供先のビジネスのデータ・アーキテクチャ要件に基づいて決定されます。データ観測性とは、データ・エンジニアがパイプラインを監視して、エンド・ユーザーが信頼できるデータを受け取れるようにする手法です。

データ統合パイプラインには、次の3つの主要なフェーズが含まれます。

1. データ取り込み

データ取り込みとは、さまざまなソースから単一のエコシステムにデータを移動することです。これらのソースには、データベース、Amazon Web Services(AWS)などのクラウド・コンピューティング・プラットフォーム、IoTデバイス、データレイクとデータウェアハウス、Webサイト、その他の顧客タッチポイントが含まれます。データ・エンジニアはAPIを使用して、これらのデータ・ポイントの多くをパイプラインに接続します。

各データ・ソースは、特定の方法でデータを保存およびフォーマットします。その方法は、構造化または非構造化である可能性があります。構造化データは効率的なアクセスのためにすでにフォーマットされていますが、非構造化データはそうではありません。データの取り込みを通じて、データは整理されたデータ・システムに統合され、さらに改良できるようになります。

2. データ変換

データ変換では、取り込まれたデータを経営幹部や機械学習エンジニアなどのエンドユーザー向けに準備します。これは、エラーを検出して修正し、重複したエントリーを削除し、データを正規化して、データの信頼性を高めるための衛生管理作業です。次に、データはエンドユーザーが必要とする形式に変換されます。

3. データ提供

データが収集され、処理されると、エンドユーザーに配信されます。リアルタイムのデータ・モデリングと視覚化、機械学習データセット、自動レポート作成システムはすべて、一般的なデータ提供方法の例です。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

データ・エンジニアリング、データ分析、データサイエンスの違い

データ・エンジニアリング、データサイエンス、データ分析は密接に関連した分野です。ただし、それぞれが、大企業内で独自の役割を果たす、焦点を絞った分野です。これら3つの役割は連携して、組織がデータを最大限に活用できるようにします。

  • データサイエンティストは、機械学習、データ探索、その他の学術分野を活用して将来の結果を予測します。データサイエンスは、アルゴリズムと統計モデルを通じて正確な予測を行うことに重点を置いた学際的な分野です。データ・エンジニアリングと同様に、データサイエンスはコード中心の役割であり、広範なプログラミングのバックグラウンドが必要です。

  • データ・アナリストは、大規模なデータセットを調査して傾向を特定し、洞察を抽出して、組織がデータに基づいた意思決定を行えるようにします。データサイエンティストは高度な計算技術を適用してデータを操作しますが、データ・アナリストは定義済みのデータセットを使用して重要な情報を明らかにし、有意義な結論を導き出します。

 

  • データ・エンジニアは、企業のデータ・インフラストラクチャーを組み込みおよび保守するソフトウェア・エンジニアです。データ統合の自動化、効率的なデータ・ストレージ・モデルの作成、パイプラインの観測可能性によるデータ品質の向上を行います。データサイエンティストやアナリストは、仕事に必要な信頼性の高い高品質のデータを提供するためにデータ・エンジニアに依存しています。

データ・エンジニアが使用するデータ・ツール

データ・エンジニアリングの役割は、専門的なスキル・セットによって定義されます。データ・エンジニアは、組織全体のデータの流れ、保存、管理、品質を最適化するために、さまざまなツールとテクノロジーに精通している必要があります。

データ・パイプライン:ETLとELTの比較

パイプラインを組み込む際、データ・エンジニアはスクリプト(反復的なタスクを実行するコード行)を使用してデータ統合プロセスを自動化します。データ・エンジニアは、組織のニーズに応じて、ETLまたはELTの2つの形式のいずれかでパイプラインを組み込みます。

ETL:抽出、変換、ロード。ETLパイプラインは、データベース内のデータの取得と保存を自動化します。未加工データはソースから抽出され、スクリプトによって標準化された形式に変換されてから、ストレージの宛先にロードされます。ETLは、特に複数のソースからのデータを統一された形式に結合する場合に最も一般的に使用されるデータ統合方法です。

ELT:抽出、読み込み、変換。ELTパイプラインは、未加工データを抽出し、それを一元化されたリポジトリーにインポートしてから、変換によって標準化します。収集されたデータは、後で必要に応じて使用ごとにフォーマットできるため、ELTパイプラインよりも高い柔軟性が得られます。

データ・ストレージ・ソリューション

データ・エンジニアが作成するシステムは、多くの場合、データ・ストレージ・ソリューションで始まり、終わります。つまり、ある場所からデータを収集し、それを処理して、パイプラインの最後に別の場所に保存します。

  • クラウド・コンピューティング・サービス:データ・エンジニアリングで成功するには、クラウド・コンピューティング・プラットフォームの習熟が不可欠です。IBM Cloudをはじめ、Microsoft Azure Data Lake Storage、Amazon S3、およびその他のAWSソリューション、Google Cloudはすべて人気のプラットフォームです。

  • リレーショナル・データベース:リレーショナル・データベースは、事前に定義された関係のシステムに従ってデータを整理します。データは行と列に配置され、データ・ポイント間の関係を伝える表を形成します。この構造により、複雑なクエリーでも効率的に実行できます。アナリストとエンジニアは、リレーショナル・データベース管理システム(RDBMS)を使用してこれらのデータベースを管理します。ほとんどのRDBMSソリューションはクエリーの処理にSQLを使用します。主要なオープンソースRDBMSオプションとしては、MySQLとPostgreSQLの2つがあります。

  • NoSQLデータベース:データベース管理の選択肢はSQLだけではありません。NoSQLデータベースを使用すると、データ・エンジニアは従来のモデルに依存せずにデータ・ストレージ・ソリューションを組み込めます。NoSQLデータベースでは、事前定義されたテーブルにデータが保存されないため、ユーザーは事前に計画を立てなくても、より直感的に作業できます。NoSQLは、SQLベースのリレーショナル・データベースと比較して、より柔軟性が高く、水平方向の拡張性も容易です。

  • データウェアハウス:データウェアハウスは、企業全体からデータを収集して標準化し、単一の真実のソースを確立します。ほとんどのデータウェアハウスは、データを格納する最下層、高速クエリーを可能にする中間層、ユーザー向けの最上層の3層構造で構成されています。従来のデータウェアハウス・モデルは構造化データのみをサポートしますが、最新のソリューションでは非構造化データを保存できます。データウェアハウスは、データを集約し、リアルタイムで高速クエリーを実行することで、データの品質を向上させ、より迅速なビジネス分析情報を提供し、戦略的なデータ主導の意思決定を可能にします。データ・アナリストは、単一のインターフェースから必要なすべてのデータにアクセスでき、リアルタイムのデータ・モデリングと視覚化のメリットを享受できます。

  • データレイク:データウェアハウスは構造を重視しますが、データレイクは、構造化データと非構造化データの両方を大量に保存する、自由形式のデータ管理ソリューションです。データレイクは、事前定義されたスキーマを必要としないため、データウェアハウスよりも柔軟に使用でき、組み込みコストも低くなります。これらには、新しい未加工データ、特に機械学習システムのトレーニングに最適な非構造化ビッグデータが格納されます。しかし、十分な管理がなければ、データレイクは簡単にデータ・スワンプ(扱いにくいほど複雑で乱雑なデータの山)になってしまいます。多くのデータレイクは、Apache SparkやKafkaなどのリアルタイム・データ処理ソリューションを含むHadoop製品エコシステム上に組み込まれています。

  • データレイクハウス:データレイクハウスは、データ管理の次の段階です。これらは、ウェアハウス・モデルとレイク・モデルの両方の弱点を軽減します。レイクハウスは、レイクのコスト最適化とウェアハウスの構造および優れた管理を融合し、機械学習、データサイエンス、BIアプリケーションの需要を満たします。

プログラミング言語

コンピューター・サイエンスの分野として、データ・エンジニアリングにはさまざまなプログラミング言語に関する深い知識が必要です。データ・エンジニアはプログラミング言語を使用してデータ・パイプラインを組み込みます。

  • SQLまたは構造化クエリー言語は、データベースの作成と操作に使用される主なプログラミング言語です。これはすべてのリレーショナル・データベースの基礎を形成し、NoSQLデータベースでも使用できます。

  • Pythonには、Luigiを使用した複雑なパイプラインの組み込みからApache Airflowを使用したワークフローの管理まで、データ・エンジニアリング・プロセスのさまざまな側面を高速化するための幅広い組み込み済みのモジュールが用意されています。多くのユーザー向けソフトウェア・アプリケーションは、基盤としてPythonを使用しています。

  • ScalaはApache Sparkとよく適合するため、ビッグデータに使用するのに適しています。Pythonとは異なり、Scalaでは開発者が複数の並行性プリミティブをプログラムし、複数のタスクを同時に実行できます。この並列処理機能により、Scalaはパイプライン組み込みによく選ばれます。

  • Javaは、多くのデータ・エンジニアリング・パイプラインのバックエンドでよく選ばれています。組織が独自の社内データ処理ソリューションを組み込むことを選択する場合、Javaがプログラミング言語として選択されることがよくあります。がまた、分析に重点を置いたウェアハウス・ツールである Apache Hiveの基盤にもなります。

関連ソリューション
分析ツールとソリューション

企業が繁栄するには、データを活用して顧客ロイヤルティーを構築し、ビジネス・プロセスを自動化し、AI駆動型のソリューションで業務を刷新する必要があります。

分析ソリューションの詳細はこちら
データ分析コンサルティングサービス

IBMコンサルティングと連携することで、企業データの価値を引き出し、ビジネス上の優位性をもたらす洞察を活用した組織を構築します。

分析サービスを発見する
IBM Cognos Analytics

より良い意思決定を可能にする、AIを活用して洞察を引き出すCognos Analytics 12.0をご紹介します。

Cognos Analyticsの詳細はこちら
次のステップ

企業が繁栄するには、データを活用して顧客ロイヤルティーを構築し、ビジネス・プロセスを自動化し、AI駆動型のソリューションで業務を刷新する必要があります。

分析ソリューションの詳細はこちら 分析サービスを発見する