データエンジニアリングのイントロダクション

[What Is Data Engineering? \| Dremio](https://www.dremio.com/resources/guides/intro-data-engineering/)の翻訳です。

ビジネスでは大量のデータが生成されます。顧客フィードバックからセールスのパフォーマンス、株価に至る全ては、企業のオペレーションに影響を与えます。しかし、データが告げるストーリーを理解することがは常に簡単で直感的とは限りません。だからこそ、多くの企業がデータエンジニアリングに依存しているのです。

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

データエンジニアリングとは、様々なソースやフォーマットで提供される生のデータを収集、分析できるようにするシステムの設計、構築に関するプロセスを意味します。このようなシステムによって、ユーザーはビジネスの成長につながる実践的なデータアプリケーションを作り出すことが可能となります。
![](https://www.dremio.com/wp-content/uploads/2022/03/data-engineering.png)

# なぜ、データエンジニアリングが重要なのでしょうか？

企業の規模に関係なく、すべての企業が重要なビジネス上の質問に回答するために調査する必要がある膨大な量の様々なデータを所有しています。データエンジニアリングは、アナリスト、データサイエンティスト、エグゼクティブのようなデータ利用者がすべてのデータを信頼しながら、クイックかつセキュアに調査できるようにするためのプロセスをサポートすることを目的としています。

データが様々テクノロジーによって管理され、多様な構造で格納されているため、データアナリストは課題に直面にしています。さらに、分析で使用するツールはデータが同じテクノロジーで管理され、同じ構造で格納されていることを前提としています。

例えば、あるブランドが顧客に関して収集するすべてのデータを考えてみます:
- あるシステムには請求と出荷が格納されています。
- 別のシステムでは注文履歴を保持しています。
- そして、他のシステムではカスタマーサポート、行動情報、サードパーティデータが格納されています。

全体的にはこのデータは顧客の包括的なビューを提供します。しかし、これらの様々なデータセットは独立しており、「どのようなタイプの注文が最も高価なカスタマーサポートのコストにつながったのか」という特定の質問への回答が非常に困難になります。

データエンジニアリングでは、これらのデータセットを統合し、あなたの質問をクイックかつ効率的に回答できるようにします。

# データエンジニアは何をするのでしょうか？

データエンジニアリングは、需要の高まっているスキルです。データエンジニアは、データを統合し、あなたたちがナビゲートする助けとなるシステムを設計する人たちです。データエンジニアは以下を含む様々なタスクを実行します:
- 取得：ビジネスに関連するすべての様々なデータセットを特定します
- クレンジング：データにおけるすべてのエラーを特定し、綺麗にします
- 変換：すべてのデータに共通的なフォーマットを与えます
- 曖昧性の除去：複数の方法で解釈し得るデータを解釈します
- 重複排除：データの重複したコピーを排除します

これらが完了すると、[データレイク](https://www.dremio.com/resources/guides/intro-data-lakes/)や[データレイクハウス](https://www.dremio.com/data-lakehouse/)のような中央リポジトリにデータを格納することができます。また、データエンジニアはデータのサブセットを[データウェアハウス](https://www.dremio.com/resources/guides/intro-data-warehouses/)にコピー、移動することができます。

# なぜ、データエンジニアリングで処理が必要なのでしょうか？

データエンジニアは、モダンなデータ分析を支援するために複雑化が進む環境の設計、オペレーション、サポートで重要な役割を担います。これまでは、データエンジニアは適切なパフォーマンスを保証するためにクエリーがクイックに処理されるように、データウェアハウスのスキーマ、テーブル構造、インデックスを注意深く作成していました。データレイクの出現によって、データエンジニアは後段にいるデータ利用者が分析に使用するより多くのデータを管理、提供することになりました。データレイクに格納されるデータは、構造化されておらず、フォーマットも適用されていないことがあります。ビジネスサイドがデータから価値を導出する前に、データエンジニアは注意を払う必要があります。

幸運なことに、データエンジニアリングを通じてデータが完全に綺麗にフォーマットされることで、データの読み込み、理解が容易になります。ビジネスにおいては定常的にデータが生成されるので、これらのプロセスのいくつかを自動化するソフトウェアを見つけ出すことが重要となります。

適切なソフトウェアスタックは、あなたのデータから膨大な量の情報と価値を抽出し、「[データパイプライン](https://www.dremio.com/resources/guides/intro-data-pipeline/)」として知られるデータに対するエンドツーエンドのジャーニーを作り出すことでしょう。パイプラインを通じて情報が伝達され、その過程で何度かの変換、補強、要約を行われることになります。

# データエンジニアリングのツールとスキル

データエンジニアはデータを操作するために、数多くの様々なツールを活用します。彼らは、ソースシステムからターゲットの目的地にデータを移動するエンドツーエンドのデータパイプラインを作成する特殊なスキルセットを活用します。

データエンジニアは以下を含む様々なツールとテクノロジーを扱います:
- ETLツール: [ETL(抽出、変換、ロード)ツール](https://www.dremio.com/resources/guides/intro-etl-tools/)はシステム間でデータを移動します。データにアクセスし、分析により適した形にするステップを通じてデータを「変換」するルールを適用します。
- SQL: 構造化クエリー言語(SQL)はリレーショナルデータベースへのクエリーにおける標準言語です。
- Python: Pythonは汎用プログラミング言語です。データエンジニアはETLタスクでPythonを使うことがあります。
- クラウドデータストレージ: Amazon S3、Azure Data Lake Storage(ADLS)、Google Cloud Storageなど
- クエリーエンジン: 回答を得るためにデータに対してクエリーを実行するエンジン。データエンジニアは、[Dremio Sonar](https://www.dremio.com/platform/sonar)、Spark、Flinkなどのエンジンを取り扱います。

# データエンジニア vs. データサイエンス

データエンジニアリングとデータサイエンスはお互いに補完し合うスキルです。データエンジニアは、分析のためにデータを信頼でき、一貫性のあるものにする助けとなります。データサイエンティストは、大規模なデータセットを必要とする、データ探索、機械学習、その他の分析プロジェクトで信頼できるデータを必要とします。データサイエンティストは、自分たちの分析で必要とするデータの特定、準備でデータエンジニアを頼りにすることができます。

# Dremioによるデータエンジニアリング

Dremioはデータエンジニアによるデータ管理、BIやアドホック分析における企業データに対する単一かつ統合されたアクセスポイントをシンプルにします。Dremioによる[データレイクハウス](https://www.dremio.com/data-lakehouse/)の詳細を学びましょう。

より詳細を知りたいですか？[データエンジニアリング](https://www.dremio.com/resources/guides/data-engineering/)に関する技術文書をご覧ください。