無停止DB移行の人的ミスと工数を削減
Googleが実践 DB無停止移行で数カ月の手作業を完全自動化した手法
基幹DB刷新に伴う手作業の二重書き込み実装は、数カ月の工数と人的ミスを招く。Googleはいかにして無停止移行を自動化し、データ整合性を担保したのか。開発を停滞させない実践知を解き明かす。
「基幹データベースの刷新を進めたいが、本番サービスを止めるわけにはいかない」「二重書き込みのコード改修に工数を奪われ、本来の開発が完全に止まっている」。レガシー刷新を担う情シスが直面するこの板挟みに、Googleのファイナンスエンジニアリングチームが実践した自動化の手法が注目を集めている。
ステージング環境での検証段階ではあるが、同社はいかにして30以上のデータアクセスオブジェクト(DAO)をミスなく書き換え、レガシーDBからSpannerへの無停止移行を成し遂げたのか。本記事では、チャット型AIの限界を超え夜間バッチで安全にコードを改修する仕組みと、社内システム刷新に応用できる3原則を解説する。大規模なDB移行を控える情シスは参考にしてほしい。
手作業なら数カ月、30超のDAO改修という壁
米Googleのファイナンスエンジニアリングチームは、レガシーデータ層を同社が開発した分散データベース「Spanner」へ移行するにあたり、Antigravity CLIのヘッドレスモードを活用した自動リファクタリングパイプラインを構築した。同チームのアプリケーションエンジニアであるサチン・マタパティ氏が、Google Cloud公式ブログでその詳細を明らかにした。
財務の正確性が求められる高スループットの本番環境では、単純な切り替えスクリプトによるデータベース移行は困難を極める。過去データの移行と検証が完了するまで、既存のデータストアとSpannerの双方が同一の書き込みを同時に受け付ける「二重書き込み(デュアルライト)」が必要となる。
同チームが設計した移行プロセスは以下の3段階からなる。
- 過去データのバックフィル:参照整合性を保ちながら既存レコードをSpannerへ複製
- 二重書き込みと二重読み込みの実装:移行期間中、全DAOを修正して既存ストアとSpannerへ並行して変更を書き込む
- 自動API検証とパリティ確認:RPCトラフィックを傍受し、両ストアへの書き込みがバイト単位で完全に一致しているかをエンドツーエンドで検証
しかし、この移行を30以上のDAOで適用するには大きな課題があった。各DAOに、複雑なドメインモデルをSpannerのスキーマ列へマッピングする専用クラス「MutationConverter」の作成、二重書き込みの分岐処理やロールバックエラー通知ロジックの実装、テスト用の疑似時刻(FakeTimeSource)を用いた単体テストの整備が必要となるためだ。これらを手作業で行った場合、数カ月ものエンジニア工数が費やされる計算だった。
スキーマ変換のインタフェースを分離
自動化パイプラインで高品質なコードを安定して生成するため、同チームはまずDAOのリファクタリングパターンを標準化した。
DAOのビジネスロジック内にSpannerのテーブル名やカラムの割り当てを直接記述するのではなく、Spannerのスキーマ変換を独立したコンバーター単位に分離した。DAOとSpanner SDKの間に厳密なインタフェース(MutationConverter)を定義することで、AIコーディングエージェントが推論し、確実に出力できる仕様を整えた。
チャット型を廃し、夜間バッチとテスト連動で自動修復
同チームが採用したのは、統合開発環境(IDE)上のチャット型AIではなく、コマンドラインからバックグラウンドで実行できるAntigravity CLIのヘッドレスモード(-p)だった。
対話型インタフェースは実験的なコーディングには適しているものの、コードベース全体にわたる体系的かつ反復的な複数ファイルの変更には向かない。そこで、スクリプト「migration_ui.py」を用いてヘッドレスモードを制御するオーケストレーションを構築した。このアプローチには以下の3つの特徴がある。
- プロンプトのバージョン管理:タイムスタンプのシリアライズやNULL許容値の変換、FakeTimeSourceを用いたテスト注入など、Spanner特有のエッジケースに対応するルールをプロンプトテンプレートとしてコード管理した
- バッチ実行と自動自己修正:スクリプトが対象のDAOを取得してAntigravityに入力し、コンバーター、二重書き込みDAO、単体テストを自動生成する。生成後にビルドテスト(blaze test)を即座に実行し、リンターエラーやテスト失敗が発生した場合は、そのエラーログをAntigravityにフィードバックして自律修正させた
- 夜間の無人実行:退勤時にエンジニアが10個のDAOをキューに登録すれば、翌朝にはテスト検証済みのクリーンなチェンジリストが完成し、人間のレビューを待つだけの状態になった
他社のデータベース移行にも通じる3つの知見
この自動化パイプラインにより、手作業での実装とテストに要していた工数は大幅に削減された。また、全DAOが同一の検証済みパターンに従って生成されるため、ステージング環境のデータ整合性も厳格に維持されたという。エンジニアは定型的なボイラープレートの作成から解放され、データモデリングや性能の最適化に注力できるようになった。
マタパティ氏は、データベース移行を計画するエンジニアに向けて以下の3つの知見を挙げている。
- スキーマ変換を事前に分離する:新しいデータベースSDKの要件をビジネスロジックから切り離した厳密なインタフェースを定義する。AIエージェントは境界が明確な設計パターンで真価を発揮する
- 対話型チャットからヘッドレス自動化へ移行する:3~4ファイルを超える反復的なリファクタリングでは、スクリプトによるヘッドレスワークフローに投資する。プロンプトとテスト検証を自動ビルド工程として扱うことで品質の均一化が図れる
- ビルドシステムを安全柵として機能させる:AIの生成ループをビルドテスト環境(bazel testやgo test)に直接接続する。人間がコードレビューを行う前に、モデル自身にコンパイルエラーやアサーションエラーを解決させる
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget ニュースプラス
国内のIT業界ニュースを迅速に報道します。企業動向から導入事例、市場トレンドまで幅広く取り上げ、実務に直結する情報をタイムリーに提供する連載です。
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
次世代RPA「ハイパーオートメーション」が急成長か Gartnerが予測
-
4
昭和大学病院がeICUを導入、ICUの患者情報を遠隔地で一括管理
-
5
Windows XPにもパッチを提供 脆弱性「BlueKeep」はなぜ危険か
-
6
「何から始めればいい?」 情報漏えい対策で悲鳴を上げる中小企業のリアル
-
7
積水化学工業が「SAP S/4HANA Cloud」の“全グループ導入”に踏み切った訳
-
8
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
-
9
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
10
付属ツール「Windows ファイアウォール」の利点と限界
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
4
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
“あのファイル転送”で暗躍するノーウェアランサム
-
10
「オンプレミス回帰」せざるを得ない“合理的な理由”
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー