
統合コマースプラットフォーム「ecforce」は、1,400ショップ以上に導入されている。その傍ら、急激な事業拡大にともない、ショップ情報を管理するリソースや運用コストの増加が課題となっていた。2024年11月に開催されたアーキテクチャConference 2024では、ecforceを開発・提供するSUPER STUDIOが登壇。「NewSQLを用いたDB分離のマルチテナントアーキテクチャ〜ecforce編〜」と題したセッションでは、TiDBの特徴を踏まえながら、ecforceが抱えている課題をどのように解決したのか。また、TiDB Cloudを選択した理由や移行状況などが解説された。
「ecforce」のシンプルなアーキテクチャ、見えてきた課題とは
SUPER STUDIOの設立は2014年。メインプロダクトである「ecforce」は、2017年のプロダクトローンチからしばらく、ECショップを開設する顧客をサポートするためのカートシステムを展開してきた。
このカートシステムを中核に据えながらも、直近では「コマースDX」の実現に向け、マーケティングや販売チャネルの強化、アジャイルなデータ活用を可能にする統合プラットフォームとしてプロダクトを進化させている。そう語るのは、同社 プロダクトエンジニアリング本部/SREグループ グループマネージャを務める田幸久志氏だ。

Web上の自動接客システムやEFO(入力フォーム最適化)、パーソナライズ機能など、従来のEC運営で必要とされてきたアプリケーションはもちろん、実店舗とのデータ連携や店舗予約・顧客管理が可能なプロダクトなどに加えて、データ活用関連のソリューションにも注力。複数のチャネルを跨いだデータの可視化・分析を可能にする「ecforce bi」や、顧客セグメントごとにパーソナライズされたCRM施策を打てる「ecforce ma」などのプロダクトも提供を開始したという。
こうしたecforceの進化を支えているのは、シンプルなアーキテクチャだ。Webサーバーとバッチサーバーが根幹を担い、それぞれがデータベースにアクセスする構成を採用。Amazon EC2インスタンスはWebサーバー約1,000台、バッチサーバー約450台の計1,500台ほどが稼働している。

データベースは、Amazon RDS for MySQLとAmazon Aurora MySQLを併用し、1,400以上のショップの情報を350以上のデータベースクラスタで管理しているという。田幸氏によると、ecforceはショップごとにデータベース・インスタンスが割り当てられる、いわゆる「マルチインスタンス」と、1つのデータベース・インスタンスに複数のショップが紐づいている「シングルインスタンス/マルチデータベース」を併用する形で運用されている。
MySQLを利用しているため、レコード単位での分離を実現する“ローレベル・セキュリティ(Row Level Security)”機能が担保されておらず、使い方としても想定されていない「シングルインスタンス/シングルデータベース」の構成は適さないともいう。一般的にマルチテナントのデータベースアーキテクチャは、下図のように大別できる。いずれもリレーショナルデータベースの特性から、自由な拡張は難しい。

そのため、ecforceはショップごとに論理データベースを分けている状況だ。ecforceはサービスの特性上ショップごとに使い方が異なるため、ショップごとにデータベースの使い方も変わる。たとえば、データベースのレスポンスが悪くなった際に、インデックスによって解決しようとすることは一般的な対策の1つだが、「すべてのショップに適用した際、こちらのショップはレスポンスが速くなる一方、別のショップではむしろ遅くなることがあり得ます。そのため、データベースをショップごとに分離しておくことも我々にとっては必要です」と田幸氏。さらにリソースの増加やデータベース・インスタンス管理の煩雑化といった課題も生じているという。
データベース・インスタンスは300以上存在し、メンテナンスや障害対応に手間がかかるだけでなく、データベースのスケールアップ時にはサービス停止も必要となる。加えて、データ活用を進めていく際にはショップ単位ではなく、ecforce全体で横断的なデータ分析を実現したい。とはいえ、すべてのデータベース・インスタンスにリクエストを投げ、集計することは現実的でないだろう。

つまり、ダウンタイムなしでのスケールアップやコスト削減、横断的なデータ活用に取り組みたいと考えても、現状のアーキテクチャが機能実装を阻んでしまっているような状況だ。
この記事は参考になりましたか?
- この記事の著者
-
谷川 耕一(タニカワ コウイチ)
EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:PingCAP株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア