Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI Readyな安定性の高いデータ基盤を目指し、120個のデータコントラクトを結んだ話

Avatar for freee freee PRO
October 20, 2026

AI Readyな安定性の高いデータ基盤を目指し、120個のデータコントラクトを結んだ話

freee 技術の日 2026のセッション資料です。

Avatar for freee

freee PRO

October 20, 2026

More Decks by freee

Other Decks in Technology

Transcript

  1. スキーマ変更リスクなどはどうすればいいの?現実から理想へ • 現実 ◦ 今まではなんとなく運⽤でお互いになんとなくでしかルールがなかった ▪ こういうことがあると、下流に影響があるよ、ということを知らない⼈ が多かった ▪ 知っていて善意で教えてくれる⼈のおかげで“⼀部”成り⽴っていた

    ◦ プロダクト数も多いので担当者を把握するのも⼤変 • 理想 ◦ データ提供者と利⽤者が双⽅が楽に共通認識を持てる ◦ 変更があったときに速やかに双⽅が情報共有できる ◦ I/Fを決めておくことで、ルールさえ守っておけばお互いの事情を知らなく て済むのでスケールしていく
  2. データコントラクトを“運⽤する”ということ • 特に開発側は以下のような運⽤負担が増える → 不均衡な利害関係 ◦ スキーマ変更時の連絡 ◦ 連携失敗時のトラブルシューティング etc

    • 利害を超えた協⼒関係を実現するには、北極星(= データを活⽤し、⾃分たちの 仕事を変えていくこと)を強く⽰すことが⼤切
  3. データコントラクトの⽬的に⽴ち返る • データコントラクトの⽬的は、⽂⾯に書かれていることを守ることでは なく以下を達成すること ◦ 安定したデータ供給が重要であることの共通認識の醸成 ◦ 提供者側と基盤側で協⼒して運⽤する関係の構築 • 次に、それらをより低コストに維持するためにルールを設ける

    ◦ ルールを守れば、安定してデータ基盤が運⽤できますよねという、お 互いの関⼼ごとを減らすためのツール 何のためにルールを作るのかに⽴ち返る。 ⽬的はあくまで安定してデータをデリバリーし続けること。 “ルールを設ける”というのはあくまでそのやり⽅の⼀つ。
  4. Tips 3: 巨⼤な組織への対応 • データコントラクトは1プロダクト単位で締結した。1プロダクトを1チームで開発し ている場合は⽐較的スムーズだが、⼤きなプロダクトではチームが細分化されてい ることがある • すると、「プロダクトAのテーブルαの取り込みが失敗している」という状況になっ ても、そもそもどのチームに問い合わせればよいのか分からない、という事態が起

    こる • そうしたケースでは以下のような“障害時の初動体制だけは決めておく”という運⽤ 体制を敷いた ◦ ①プロダクト側にデータコントラクトの対応責任者を⽴ててもらう ◦ ②障害発⽣時にはデータ基盤からその責任者に連絡し、適切なチームへフォワー ドしてもらう • すべてを⼀度に整えようとせず、まず⽌⾎できる形をつくることを優先した
  5. 将来の展望 フェーズ 1(現在) フェーズ 2(システム化 ) フェーズ 3(リネージ化 ) 文章ベースでデータ提供側とデータ収集側

    システム 化 をして 規 定 したデータ 品 質 や 上流データで結んだコントラクトを下流のコ がコントラクトを締結している状態 SLAを自 動 的にチェックや検 知ができる状 ントラクトと伝搬させるようにする状態 態