/note/tech

一枚岩の「巨大SQL」から脱却するために。Airペイ新機能のデータ基盤を支える、ニジボックスの技術力

要約:

■ 1. プロジェクト概要と体制

  • Airペイの新機能「オンライン決済」(2025年3月リリース)に向けた分析用データマートの開発プロジェクト
  • リクルートが設計・要件定義を担いニジボックスが実装を担当
  • 開発フェーズ:
    • 第1フェーズ: 4名体制で最低限の分析が可能なデータマートを構築
    • 第2フェーズ: 岩井・村上の2名でディメンショナルモデリングによるリファクタリングを実施
  • 役割分担:
    • 岩井(リクルート): プロジェクト管理・スケジューリング・ステークホルダー折衝・データマートのモデル設計
    • 村上(ニジボックス): 実装担当
    • 林田(ニジボックス): 村上のバックアップ

■ 2. データマート新設の背景

  • 既存のAirペイのデータマートは2015年のリリース以来 複雑化した処理を抱えており解消作業を進めている状況
  • オンライン決済とAirペイ(対面決済)は決済の仕組みが異なる
    • オンライン決済には「支払いリンク発行→送信→ID登録→決済」というファネルが存在
    • 取得するデータの量とバリエーションが対面決済と異なる
  • 社内の担当チームも分かれているためデータマートを分ける判断をした
  • データレイクのローデータ活用には高度なドメイン知識とデータ加工技術が必要
  • ビジネスサイドのメンバーが自律的にデータ分析・モニタリングできる基盤が必要
  • 分析者によって結果が異なるリスク(ロジックの違いや母集団のズレ)を排除する必要がある

■ 3. 採用技術と手法

  • ディメンショナルモデリング:
    • データを「ファクト(計測対象)」と「ディメンション(計測軸)」に分離するモデリング手法
    • システム開発における責務の分離をデータ開発に適用する考え方
    • 処理を段階的に切り分けた実装が可能になる
  • dbt(data build tool):
    • モジュール単位でSQLを記述しロジックを積み上げる形で開発可能
    • テストが書きやすく処理の所在が一目瞭然になる
    • 従来の内製ジョブ基盤による巨大クエリに比べ開発効率性とメンテナンス性が向上
  • 品質管理:
    • データの整合性テストを入念に実施
    • データ異常を検知するテストをリリースと同時に稼働
    • データ環境・提供するデータ自体をプロダクトと位置付けている

■ 4. ビジネスサイドとの折衝

  • AirペイのKPI分析軸をある程度トレースできたため要件のすり合わせは比較的スムーズ
  • エンジニア側の厳密さとビジネス活用上の許容範囲に若干の温度差があった
    • 例: 加盟店のアクティブ・非アクティブ定義をKPIモニタリングの観点から協議して決定
  • セキュリティ・ガバナンス上の問題がない限りビジネスサイドの意向を優先する方針

■ 5. チームコミュニケーションと協業体制

  • リクルートとニジボックスはグループ会社として垣根なく協業する体制を構築
  • チーム内コミュニケーションの工夫:
    • メンバーの発言にスピーディーに反応する
    • 実装上の懸念点や要望を積極的に出しやすい雰囲気を意図的に作る
    • 設計に対するメンバーからのフィードバックを積極的に採用
  • Slackでの作業ログ・思考プロセスの共有が詰まりポイントの可視化に貢献
    • メンションなしにつぶやきを拾い疑問を解消する仕組みが機能
    • 同様の課題を抱えるメンバーにとっても参照可能な情報資産となる
  • マネジメント側の取り組み:
    • コミュニケーションが苦手なメンバーには個別フォローを行うとともにリクルート側にも受け入れ準備を依頼
    • プロジェクトの方向性とユーザーニーズをメンバーにしっかり共有

■ 6. キャリア成長と今後の展望

  • 村上の成長実績:
    • 初めてディメンショナルモデリングとdbtを習得
    • 新規開発からリファクタリングまで一貫して関与することでデータ設計と品質への意識が向上
  • 今後の目標:
    • 村上: 設計工程も自己完結できるスキルの習得
    • 村上: dbtの社内研修準備と社内エンジニアへの知識共有
  • ニジボックスのキャリア環境:
    • リクルートグループとして垣根なく協業できる環境がスキル・キャリア成長の強みとなる
    • 未経験の技術・業務に挑戦しやすい文化とマネジメント体制を整備