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

稼働中サービスの大規模データをどう移すか。仕訳帳検索のOpenSearch移行

Avatar for freee freee PRO
October 20, 2026

 稼働中サービスの大規模データをどう移すか。仕訳帳検索のOpenSearch移行

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

Avatar for freee

freee PRO

October 20, 2026

More Decks by freee

Other Decks in Technology

Transcript

  1. Outbox パターン ― 同じトランザクションでイベント⾏も書く 会計API / Web 登録 会計DB +

    outbox テーブル 業務処理と同じコミットに乗せる 業務データとイベントが同⼀トランザクション。at-least-once を保証できる
  2. 別プロセスが拾って、OpenSearch に⼊れる 会計API / Web 登録 会計DB + outbox テーブル

    読む 登録 Indexer 業務処理と同じコミットに乗せる outbox テーブルをポーリングし、Bulk API で投⼊する Open Search
  3. ドキュメント1件に、3つの社内サービスを叩いている 会計API / Web 登録 会計DB + outbox テーブル 読む

    登録 Indexer Open Search ファイル基盤 証憑情報 コメント基盤 コメント情報 業務処理と同じコミットに乗せる 承認基盤 申請状態 1ドキュメント = 3リモートコール
  4. そして、Pod を 1 → 2 → 4 と上げていった Pod 1台

    2台 負荷を⾒ながら、段階的に 4台
  5. ⾒ていたのは、4つのDBと OpenSearch Pod 1台 2台 4台 負荷を⾒ながら、段階的に ⾒ていたもの 会計DB コメント基盤

    承認基盤 認証基盤 CPU‧DBロード‧接続数∕JVMメモリ圧‧エラー率‧IOPS OpenSearch