データエンジニアは、データの移動と保存を行うインフラストラクチャを構築・維持します。パイプラインを作成し、データベースを管理し、データが必要な場所に、時間通りに、かつ使用可能な状態で届くようにします。データサイエンティストやアナリストは、エンジニアが作成したデータを利用します。パイプラインが故障すれば、彼らの作業は停止してしまいます。
データ量の増加に伴い、この役割も拡大してきました。初期のデータエンジニアは、リレーショナルデータベースと ETL スクリプトを管理していました。現代のデータエンジニアは、クラウド プラットフォーム、分散処理フレームワーク、ストリーミング システムで作業します。Python、Scala、または Java でコードを書きます。SQL を深く理解しています。スキーマの設計、テーブルのパーティション化、クエリの最適化の方法を理解しています。また、午前 3 時に何かが失敗した場合の監視、アラート、復旧などの運用も担当します。この仕事は、ソフトウェア エンジニアリング、データベース管理、配管作業の一部です。華やかではありませんが、不可欠です。時間の半分を壊れたパイプラインの修復に費やすデータ サイエンティストは、データ サイエンスを行っていません。優秀なデータ エンジニアは、その問題を解消します。パイプラインは実行され、データはクリーンです。アナリストとサイエンティストは、本来の業務に集中できます。
データエンジニアの責任
- パイプラインを構築する ― データの抽出、変換、ロード
- ストレージの管理 ― データベース、データレイク、データウェアハウス
- 信頼性を確保する — 監視、アラート、復旧
- パフォーマンスの最適化 — クエリチューニング、パーティショニング
- 消費者(アナリスト、科学者、アプリケーション)をサポートする
データエンジニアは道路を作る。他の人たちはその道路を走る。道路が良ければ、誰も気づかない。
Comments
No comments yet. Be the first to share a thought.
Leave a comment