Datacook Datacook

STEP 03 / 06

Step 03: 開発・構築 - 詳細(作業・成果物)

設計した変換・投入・検証処理を実装し、本番に近い移行環境を準備する。

02

詳細:作業と成果物

概要で示した作業を、Input / Output、依存関係、完成条件まで具体化します。成果物は名前だけでなく、次工程が使える状態まで仕上げます。

1. Outputの目的と完成条件

Output目的・役割サンプル/記載事項完成条件・次工程
移行実行環境本番データを安全に扱い、権限・接続・ログ・再実行を管理できる土台を作る。

次工程:ETL実装、リハーサル、本番実行の実行基盤に使う。

環境構成図、接続先、サービスアカウント、秘密情報管理、暗号化、ログ保存先接続テスト、権限レビュー、監視・ログ確認、バックアップ/復旧手順の検証が済んでいる。
移行プログラム/スクリプト抽出から投入までを再現可能・自動化可能な処理として実装する。

次工程:単体/結合テスト、リハーサル、本番移行で同一版を使う。

ソース、設定、マッピング、変換、例外処理、終了コード、実行ログ出力レビュー済みコードを同じ入力で再実行でき、成功・失敗・スキップを判別できる。
データ突合プログラム移行前後の差異を自動検出し、確認作業を属人化しない。

次工程:テスト合否、Go/No-Go、移行後の整合性確認に使う。

件数、金額・数量合計、キー別件数、ハッシュ、エラー件数、差異明細正常系・差異系のテストが済み、許容差と差異出力の確認方法が決まっている。
移行ジョブフロー依存関係のある処理を決められた順序で実行し、失敗時に止められるようにする。

次工程:リハーサルと本番移行の自動実行、進捗監視に使う。

ジョブ依存関係、開始条件、リトライ、タイムアウト、通知、再開ポイント、実行履歴正常系・異常系・再実行を検証し、監視通知と担当者の対応手順が確認されている。

2. 作業・Input / Output・依存関係

作業概要InputOutput先行依存区分
3-1. 移行環境の構築移行用サーバー、ネットワーク経路、ストレージ、暗号化・権限の設定2-5 移行手順書(初版)、インフラ構成図移行実行環境STEP 2必須
3-2. ETL/移行処理の実装抽出、クレンジング、変換、投入、ログ出力モジュールの開発2-3 データマッピング定義書、2-4 データクレンジング仕様書移行プログラム/スクリプト3-1必須
3-3. データ突合プログラム実装件数、合計金額、ハッシュ値などの自動突合プログラムの実装2-3 データマッピング定義書、3-2 移行プログラム/スクリプトデータ突合プログラム3-2必須
3-4. ジョブ自動化構築Airflow/Control-M等を用いたジョブの自動化スクリプト構築3-2 移行プログラム/スクリプト、3-3 データ突合プログラム移行ジョブフロー3-3任意

3. 補助的に用意する文書・ツール

補助文書

詳細設計書、環境構成図、権限一覧、秘密情報管理手順、運用監視設計

実装だけでなく、運用・セキュリティ・監査に必要な前提を残す。

ツール候補

Informatica、DataStage、NiFi、Airbyte、dbt、Python、Spark

データ量、接続方式、既存スキル、再実行性を基準にETL/ELTを選ぶ。

自動化・品質

Airflow、Control-M、GitHub Actions、pytest、Great Expectations

依存ジョブ、テスト、ログ収集、リリース版を一貫して管理する。

4. 変更・履歴管理

  • すべての移行プログラムコードはGitで管理し、リリースバージョン(タグ)を付与する。
  • 本番移行実行時には、承認済みの特定のコミットハッシュ(Git Commit Hash)のコードのみを使用する。

5. このStepの完了条件

変換・投入・検証を繰り返し実行できる移行基盤を整え、本番移行に備える。

  • 全体概要: 設計に基づき、抽出・クレンジング・変換・投入・検証処理を行うプログラムおよびETLジョブを実装し、本番同等の移行環境を構築する。
  • Input/Output: 【Input】データマッピング定義書、移行手順書 【Output】移行実行環境、移行プログラム/スクリプト、自動突合プログラム
  • 依存関係と必須性: [3-1.環境構築(必須)] → [3-2.ETL実装(必須)] → [3-3.突合実装(必須)] / ジョブ自動化(任意)
  • 変更管理・履歴管理: 移行コードはすべてGit管理しリリース steam タグを付与。本番移行時は承認された特定コミットハッシュのコードのみを適用。