開発ログ

履歴データを移行して品質を検証する

30秒でわかる概要

今回なにをした?

旧DBの履歴データ680,899件を、新しいCanonical DBへ実際に移行しました。

680,721件を受理し、受理条件を満たさない178件は理由付きRejectとして分離しました。

新しいDBには何が入っている?

Canonical DBでは、競馬データを次のように分けて管理します。

  • race:レース
  • horse:馬
  • race_entry:出走
  • race_result:結果
  • payout:払戻

レース・馬・出走・結果・払戻を役割ごとに分け、後からデータの出所や関係を確認しやすい構造にしています。

なぜ178件を残した?

欠損や親データ不在のデータまで推測で受理すると、その誤りが後の学習や検証へ混ざる可能性があります。

そのため、受理できないデータは無理に補完せず、理由付きRejectとして追跡できる状態を残しました。

何が変わった?

旧DBを読み取り専用のまま維持しつつ、履歴データを新Canonical DBへ移せるようになりました。

また、処理件数・受理件数・Reject件数を照合し、移行結果そのものを後から検証できる状態になりました。

現在の状態

  • 処理件数:680,899件
  • Canonical DB受理:680,721件
  • 未解決Reject:178件
  • 移行元DB:読み取り専用
  • 書き込み先:新Canonical DBのみ

検証結果

  • 件数照合:PASS
  • Canonical DB整合性:PASS
  • スキーマ整合性:PASS
  • Reject理由の保存:PASS
  • 再処理可能性:PASS

安全境界

欠損や親データ不在の行を、推測でCanonical DBへ混入させないことを優先しています。

また、移行元DBを書き換えず、元データを後から確認できる状態を維持しています。

まだ残っていること

未解決Rejectは178件残っています。

この工程では、それらを隠したり強制的に受理したりせず、理由付きで追跡可能な状態にしています。

また、この工程だけでモデル精度・回収率・収益性が改善したとは判断しません。

次工程

次は、新しいCanonical DBを正式に受け入れてよいか、旧DBからの切替準備が整っているかを確認します。

全体ロードマップを見る →

← 開発ログへ戻る

掲載内容は、その時点の開発・検証記録です。将来の利益や的中を保証するものではありません。