データエンジニアリング - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データエンジニアリング

組織全体のデータフローを自動化およびオーケストレーションします。

メタデータを使用して、raw データを処理し、最適化された出力を生成するパイプラインを自動化します。 AWS CAF プラットフォームアーキテクチャとプラットフォームエンジニアリング機能、および運用の観点から定義された既存のアーキテクチャガードレールとセキュリティコントロールを活用します。プラットフォームエンジニアリングの有効化チームと協力して、パイプラインのデプロイを簡素化する一般的なパターンの再利用可能なブループリントを開発します。 

スタート

データレイクをデプロイする

構造化データと非構造化データに適したストレージソリューションを使用して、基本的なデータストレージ機能を確立します。これにより、さまざまなソースからデータを収集して保存し、そのデータにアクセスしてさらに処理や分析を行うことができます。データストレージは、データエンジニアリング戦略の重要なコンポーネントです。適切に設計されたデータストレージアーキテクチャにより、組織はデータを効率的かつ費用対効果の高い方法で保存、管理、アクセスすることができます。 AWS は、特定のビジネスニーズを満たすさまざまなデータストレージサービスを提供します。

例えば、オブジェクトストレージには Amazon Simple Storage Service (Amazon S3)、リレーショナルデータベースには Amazon Relational Database Service (Amazon RDS)、データウェアハウスには Amazon Redshift を使用して、基本的なデータストレージ機能を確立できます。これらのサービスは、データを安全かつ費用対効果の高い方法で保存し、データに簡単にアクセスして、さらなる処理と分析を行うのに役立ちます。また、パフォーマンスを向上させ、コストを削減するために、データのパーティショニングや圧縮などのデータストレージのベストプラクティスを実装することをお勧めします。

データインジェストパターンの開発

データフローを自動化およびオーケストレーションするには、データベース、ファイル、APIs。データインジェストプロセスは、ビジネスの俊敏性をサポートし、ガバナンスコントロールを考慮に入れる必要があります。

オーケストレーターは、クラウドベースのサービスを実行でき、自動化されたスケジューリングメカニズムを提供する必要があります。ポーリング機能とエラー処理機能とともに、タスク間の条件付きリンクと依存関係のオプションを提供する必要があります。さらに、パイプラインをスムーズに実行できるように、アラートシステムやモニタリングシステムとシームレスに統合する必要があります。

一般的なオーケストレーションメカニズムには、次のようなものがあります。

  • 時間ベースのオーケストレーションは、再帰的な間隔と定義された頻度でワークフローを開始します。

  • イベントベースのオーケストレーションは、ファイルの作成や API リクエストなどのイベントの発生に基づいてワークフローを開始します。

  • ポーリングは、タスクまたはワークフローがサービスを呼び出し (API など)、定義されたレスポンスを待ってから次のステップに進むメカニズムを実装します。

最新のアーキテクチャ設計では、クラウドでのインフラストラクチャ管理を簡素化し、デベロッパーやインフラストラクチャチームの負担を軽減するマネージドサービスを活用することに重点を置いています。このアプローチはデータエンジニアリングにも当てはまります。データインジェストパイプラインを構築してデータエンジニアリングプロセスを高速化するには、必要に応じてマネージドサービスを使用することをお勧めします。これらのタイプのサービスの 2 つの例は、Amazon Managed Workflows for Apache Airflow (Amazon MWAA) と です AWS Step Functions。

  • Apache Airflow は、ワークフローをプログラムで作成、スケジューリング、モニタリングするための一般的なオーケストレーションツールです。 は、Amazon Managed Workflows for Apache Airflow (Amazon MWAA) を、オーケストレーションツールのインフラストラクチャを管理するのではなく、開発者が構築に集中できるようにするマネージドサービスとして AWS 提供します。Amazon MWAA では、Python スクリプトを使用してワークフローを簡単に作成できます。有向非巡回グラフ (DAG) は、各タスクの関係と依存関係を示す方法で、ワークフローをタスクのコレクションとして表します。必要な数の DAGs を持つことができ、Apache Airflow は各タスクの関係と依存関係に従ってそれらを実行します。

  • AWS Step Functions は、開発者が IT およびビジネスプロセスを自動化するためのローコードのビジュアルワークフローを構築するのに役立ちます。Step Functions で構築するワークフローはステートマシンと呼ばれ、ワークフローの各ステップはステートと呼ばれます。Step Functions を使用して、組み込みのエラー処理、パラメータの受け渡し、推奨されるセキュリティ設定、および状態管理のワークフローを作成できます。これにより、記述および維持する必要があるコードの量が減少します。タスクは、オンプレミスまたはクラウド環境でホストする別の AWS サービスまたはアプリケーションと調整することで作業を実行します。

データ処理の高速化

データ処理は、最新の組織によって収集された膨大な量のデータを理解する上で重要なステップです。データ処理を開始するために、 は、強力な抽出AWS Glue、変換、ロード (ETL) 機能を提供する などのマネージドサービス AWS を提供します。組織は、これらのサービスを使用して、データのクリーニング、正規化、集計などの raw データの処理と変換を開始して、分析の準備をすることができます。

データ処理は、集計やフィルタリングなどの単純な手法から始まり、初期データ変換を実行します。データ処理のニーズが進化するにつれて、さまざまなソースからデータを抽出し、特定のニーズに合わせて変換し、一元化されたデータウェアハウスまたはデータベースにロードして統合分析できるようにする、より高度な ETL プロセスを実装できます。このアプローチにより、データが正確で完全であり、タイムリーに分析できるようになります。

データ処理にマネージド AWS サービスを使用することで、組織はより高いレベルの自動化、スケーラビリティ、コスト効率からメリットを得ることができます。これらのサービスは、スキーマ検出、データプロファイリング、データ変換など、多くの日常的なデータ処理タスクを自動化し、より戦略的アクティビティのために貴重なリソースを解放します。さらに、これらのサービスは、データボリュームの増加をサポートするために自動的にスケーリングされます。

データ可視化サービスを提供する

データの視覚化を使用してデータを有意義かつ迅速に解釈する意思決定者がデータを利用できるようにする方法を説明します。ビジュアライゼーションを通じて、技術的なスキルに関係なく、パターンを解釈し、さまざまな利害関係者の集まりのエンゲージメントを高めることができます。優れたプラットフォームにより、データエンジニアリングチームは、オーバーヘッドをほとんど発生させずに、迅速かつ迅速にデータを視覚化するリソースをプロビジョニングできます。また、エンジニアリングの専門知識を必要とせずにデータストアに簡単にクエリできるツールを使用して、セルフサービス機能を提供することもできます。 には、データビジュアルやインタラクティブダッシュボードを通じてサーバーレスのビジネスインテリジェンスを提供し、 では自然言語を使用してバックエンドデータをクエリできる組み込みツールの使用を検討してください。 

アドバンス

ほぼリアルタイムのデータ処理を実装する

データ処理は、あらゆるデータエンジニアリングパイプラインに不可欠なコンポーネントであり、組織は raw データを有意義なインサイトに変換できます。従来のバッチ処理に加えて、リアルタイムデータ処理は、今日の高速なビジネス環境ではますます重要になっています。リアルタイムのデータ処理により、組織はイベントの発生時に対応でき、意思決定と運用効率が向上します。

データ品質を検証する

データ品質は、データから導き出されるインサイトや意思決定の精度と信頼性に直接影響します。データ検証とクレンジングプロセスを実装することは、分析に高品質で信頼できるデータを使用するために不可欠です。

データ検証では、事前定義されたルールと基準に照らしてデータの精度、完全性、一貫性を検証します。これにより、データの不一致やエラーを特定し、目的に適合させることができます。データクレンジングには、データ内の不正確さ、不整合、または重複の特定と修正が含まれます。

データ品質プロセスとツールを実装することで、組織はデータから派生したインサイトの精度と信頼性を向上させ、意思決定と運用効率を向上させることができます。これにより、組織のパフォーマンスが向上するだけでなく、生成されたデータと分析に対するステークホルダーの信頼と信頼も向上します。

データ変換サービスの証明

データ変換は、高度な分析と機械学習モデルのためにデータを準備します。これには、データの正規化、エンリッチメント、重複排除などの手法を使用して、データがクリーンで一貫性があり、分析の準備が整っていることを確認する必要があります。

  • データの正規化には、データを標準形式に整理し、冗長性を排除し、さまざまなソース間でデータの一貫性を確保することが含まれます。これにより、複数のソースからのデータの分析と比較が容易になり、組織は運用をより包括的に理解できます。

  • データエンリッチメントには、属性データや市場傾向などの外部ソースからの追加情報を使用して既存のデータを強化することが含まれます。これにより、内部データソースだけでは明らかではない可能性がある顧客の行動や業界の傾向に関する貴重なインサイトが得られます。

  • 重複排除には、重複するデータエントリを特定して削除し、データが正確でエラーがないことを確認する必要があります。これは、少数の重複であっても分析の結果が歪む可能性がある大規模なデータセットを処理する場合に特に重要です。

高度なデータ変換手法を使用することで、組織はデータの品質、正確性、およびより複雑な分析の準備が整っていることを確認できます。これにより、意思決定が強化され、運用効率が向上し、マーケットプレイスで競争上の優位性が得られます。

データ民主化を有効にする

すべての従業員がデータにアクセス可能、理解可能、使用できるようにすることで、データ民主化の文化を促進します。データの民主化は、従業員がデータ駆動型の意思決定を行い、組織のデータ駆動型の文化に貢献します。つまり、サイロを破壊し、意思決定を推進するために全従業員がデータを共有して使用する文化を創造します。

全体として、データ民主化とは、組織内のすべての人がデータを尊重、アクセス、理解できる文化を創造することです。データ民主化を可能にすることで、組織はイノベーションを推進し、意思決定を改善し、最終的にビジネスの成功につながるデータ駆動型の文化を育みます。

Excel

UI ベースのオーケストレーションを提供する

アジャイルで効果的なアプローチを使用する組織を構築するには、事業部門全体の開発および運用リソースで使用される最新のオーケストレーションプラットフォームを計画することが重要です。目標は、単一のチーム、テクノロジー、サポートモデルに依存しずに、データパイプラインとワークフローを開発、デプロイ、共有することです。これは、UI ベースのオーケストレーションなどの機能によって実現されます。drag-and-drop操作などの機能により、技術的な専門知識がほとんどないユーザーは DAGsやステートマシンのデータフローを構築できます。これらのコンポーネントは、データパイプラインを調整する実行コードを生成できます。 

DataOps は、データ管理の複雑さを克服し、組織全体のシームレスなデータフローを確保します。メタデータ駆動型のアプローチにより、組織の義務に従ってデータの品質とコンプライアンスを確保できます。マイクロサービス、コンテナ化、サーバーレス関数などのツールセットを改良することで、スケーラビリティと俊敏性が向上します。

データエンジニアリングチームに依存してデータから価値を引き出し、day-to-dayインフラストラクチャタスクをオートメーションに任せることで、組織はオートメーションとオーケストレーションの優秀性を実現できます。データフロー管理タスクのほぼリアルタイムのモニタリングとログ記録は、即時の修復アクションをサポートし、データフローパイプラインのパフォーマンスとセキュリティを向上させます。これらの原則は、安全なデータ共有モデルを確保しながらスケーラビリティとパフォーマンスを実現し、将来の成功に向けて組織をセットアップするのに役立ちます。

DataOps の統合

DataOps は、データパイプラインの作成、テスト、デプロイを合理化するための開発プロセスと運用プロセスの統合を強調する、データエンジニアリングへの最新のアプローチです。DataOps のベストプラクティスを実装するために、組織は Infrastructure as Code (IaC) と継続的インテグレーションおよび継続的デリバリー (CI/CD) ツールを使用します。これらのツールは、パイプラインの自動作成、テスト、デプロイをサポートしているため、効率が大幅に向上し、エラーが軽減されます。DataOps チームはプラットフォームエンジニアリングの有効化チームと協力してこれらの自動化を構築し、各チームが最善を尽くすことに集中できるようにします。 

DataOps メソッドを実装すると、データエンジニア、データサイエンティスト、ビジネスユーザー向けのコラボレーション環境が促進され、データパイプラインと分析ソリューションの開発、デプロイ、モニタリングが迅速に行えるようになります。このアプローチにより、チーム間のコミュニケーションとコラボレーションがよりシームレスに行われるため、イノベーションが速くなり、成果が向上します。

DataOps の利点を最大限に活用するには、データエンジニアリングプロセスを合理化することが重要です。これは、コードレビュー、継続的統合、自動テストなど、プラットフォームエンジニアリングチームのベストプラクティスを使用することで実現されます。これらのプラクティスを実装することで、組織はデータパイプラインの信頼性、スケーラビリティ、安全性を確保し、ビジネスステークホルダーと技術ステークホルダーの両方のニーズを満たすことができます。