こんにちは、馬場です。昨年、1年がかりで行動トラッキングデータベースのリプレイスをしたので、その道のりをシェアします。
データベースのリプレイスを行ったSynergy!というサービスは BtoBtoC のマルチテナントシステムであるため、ほぼ全てのクエリの探索範囲が「クライアント企業の顧客のデータ」におさまるという特徴があります。このあたりのサービスの性質の差により、コンシューマ向けサービスメインの日本のテックジャイアントさんのログデータ基盤構築事例がアーキテクチャ的にもコスト的にもマッチせず、「じゃあどういう構成にしたらいいの?」と頭を悩ませました。15年ほど運用してますが、まだ「マルチテナントサービスのデータストア」の正解にたどり着けていません。
また、運用中のシステムのリプレイスでは、長期間システムを停止することはできません。そのため、リプレイス後のアーキテクチャだけでなく、旧環境から新環境に移行する手順にもさまざまな工夫が必要です。この資料ではそのあたりも含めてまとめています。
最後に、この資料は ZOZOTOWN システムリプレイスの道のり (https://speakerdeck.com/labor/zozotown-geng-huan-yun-xi-tong-zhi-dao ) に刺激をうけて作成しました。今公開されていなくて残念ですが、
- 目的
- 旧環境とその課題
- 新環境と課題をどう克服したか
- 移行方法
- 道のり、回り道も含む
- 教訓
という資料の構成はプロジェクトを振り返り次の教訓として活かすために最適なのでみなさんもぜひお試しください。