お問い合わせ 今すぐ始める

事例公開日:2022年7月14日

ブラウザゲームとインターネットサービスを提供するCTW株式会社は、2013年に設立され、現在では日本だけでなく、ヨーロッパ、アメリカ、韓国、台湾など、7つの国と地域でサービスを展開しています。 HTML5の技術を活用して開発された「G123.jp」は、ダウンロード不要で厳選された高品質ゲームを提供するインタラクティブプラットフォームだ。サービスが急速に成長し、現在のユーザー数は全世界で5,000人万人を超えている。「ビビッドアーミー」などのさまざまなゲーム商品が人気コンテンツとなり、凄まじい成長を遂げた。

CTW株式会社 執行役員 兼チーフデータアーキテクト 覃 子林氏 (左)

執行役員 兼チーフエンジニア 侯斌氏 (右)

「毎日何100万ものデータがTiDBクラウドに同期されています。今では、Aurora MySQLで対応していた時と比較し、3倍もの処理を行っています。書き込みと書き込みの機能が改善され、Raftプロトコルに基づくデータ同期によってデータ遅延問題も解決しました。ネイティブにサポートされているオンラインDDLにサードパーティのツールを使用する必要がなくなりました。同時に、TiDBにはカラム型ストアのTiFlashが確立されていますそのため、アプリケーションを変更せずにパフォーマンスを分析することができました。」

オンラインゲームの対戦は「1秒以内」で決定

G123.jpは、インターネットにつながれば、プレイする環境の異なるユーザー同士でも、Webブラウザ上でPCまたはモバイル端末からゲームを楽しめることができます。ダウンロードや会員登録が不要なため、ゲームを開始するG123.jpは、端末ベースでユーザーを定義することができ、全世界でサービスを提供するため、データベースの容量は急速に拡大しますし続けている。

「CTWは、ユーザーにより良い体験を提供するために常に努力しています。CTWの中核的なサービスのひとつである広告は、ユーザーの注意を分析して最適な広告を出稿します。ユーザーのコンバージョン率「上げるため、出稿を1秒以内に完了させる必要があります。これは顧客獲得コストに直結し、サービスのコア競争力でもあります。つまり、顧客獲得の勝敗が1秒以内に確定のです」と実行役員兼チーフデータアーキテクトの覃子麟(チンツリン)氏は見解。

ビジネスの急速な発展に伴うデータ増加でじっくり取り組む課題

しかし、ユーザーやデータの量が増え、安定したデータサービスを提供することは困難になってきました。開発当初、アマゾン ウェブ サービス (AWS) にサービスを構築し、Amazon Aurora MySQL でデータ サービス、Amazon Redshiftでデータ分析を実施していた。ビジネスの急速な発展に伴い、その間のデータ更新で使用されていたRedshiftは、広告配信の要件を徐々に満たさなくなっていた。

また、1つのテーブルのデータ量が1億に増えると、データベースのメンテナンスは正義になる。データベースのアップグレードとメンテナンスでは毎回1ヶ月以上前に計画する必要があった。を実施していましたが、ビジネスが世界規模になる途中、ダウンタイムのメンテナンスウィンドウが消えていき、オンラインでの変更が必須となっております。Auroraの場合、DDLの変更に数時間かかったり、リソース不足のためにジョブが失敗する状況も発生するようになりました。さらに、Aurora サーバーレスを使用しており、binlog 機能がないためデータ同期ができず、メンテナンスタイムダウンタイムが発生するようになったこのような環境下で、課題の解決方法だけではなく、データサービスとデータ分析を1つのデータベースで実行する可能性を考えて始めました。

MySQLと互換性があるマネージドサービスTiDBクラウドに移行

データベースの選択は簡単ではない。性能要件を満たすだけでなく、CTWの「クラウドネイティブおよびクラウドニュートラル」という技術戦略の方向性を遵守し、移行コストを可能な限り重視する必要がある。

「HTAPを最初に見たとき、これだ、と思いYugabyteとTiDBを調べました。Yugabyteは、PostgreSQLインターフェースであり、TiDBはMySQLと互換性がありました。その中で、TiDBは当社の技術戦略「の方向性に沿ったK8s Operatorも提供していて、MySQL移行によってコストが低いため、TiDBを試してみることにしました」と執行役員兼チーフエンジニアの侯斌 (コウヒン) 氏は意見。

TiDB は、MySQL との互換性がためアプリケーション側で変更を優先的に抑えられ、外部キーに対応する程度のいくつかの改修に配慮することができました。

「TiDBが提供するK8sオペレーターのおかげで、クラウド上にセットアップすることができました。ストレージとコンピュートを分離したアーキテクチャにより、水平方向の拡張が容易に、大容量のデータでもパフォーマンスが保証されます3つのアベイラビリティゾーンにデータが保存されているため、もはや単一の障害点を心配する必要はありません。行と列のストレージの統一されたアーキテクチャにより、データサービスとデータ分析を1つのシステムで提供しますことができます」 (覃氏)。

ただし、柔軟性の高いアーキテクチャでは、システムを完全に理解して適切に制御する必要があることも、その後の議論となった。

「TiDBを導入して、しばらくは順調に稼働していましたが、IaaSサービスがダウンしたときの障害に対応するには、TiDBを十分に理解していないことに気づきました。そんなとき、 PingCAPがTiDBのホスティングサービスであるTiDB Cloudを提供していることを知り、早速試して移行することにしたのです」(侯氏)。

TiDB クラウドに移行することで処理能力が AWS Aurora 使用時と比較し 3 倍に

アプリケーションで既に TiDB を使用していたため、TiDB クラウドを使用する際に約束することができました。VPC ピアリングでネットワークに接続した直後に使用することができました。

「毎日何100万ものデータがTiDBクラウドに同期されています。今では、Aurora MySQLで対応していた時と比較し、3倍もの処理を行っています。書き込みと書き込みの機能が改善され、Raftプロトコルに基づくデータ同期によってデータ遅延問題も解決しました。ネイティブにサポートされているオンラインDDLにサードパーティのツールを使用する必要がなくなりました。いるために、アプリケーションを変更せずにパフォーマンスを分析することができました」 (覃氏)。

そして、マネージドサービスのTiDB Cloudを使うことにより、Aurora使用時と同様に、データベース移行後の運用や保守の負担も消えました。

「現在、TiDBはユーザー仮想、広告データ、キャンペーンデータの3つのデータサービスを使用し、安定稼働中です。このようなシステムのパフォーマンス向上は、ユーザーエクスペリエンスの向上にも大きな影響を与えます。安定し「て広告データを提供することにより、サービス、それは顧客獲得のコストをより減らすことができます」(覃氏)。

TiDB検証時のPingCAPからの厚いサポート

TiDB Cloudは、マネージドサービスですが、さらに重要なのは、PingCAPが優れたサポートサービスを提供しているということです。

「データベースの移行中に障害やパフォーマンスの問題が発生した場合、PingCAPの技術スタッフが迅速に効率サポートを提供してくれました。これを行うのは簡単ではありません。顧客の要求を了承してください」し、製品を十分に理解している必要があります。開発元であるPingCAPからの直接サポートのおかげで、以前は解決できなかったいくつかの問題にも迅速に対応することができました」侯氏)。

TiDB Cloudへの移行に関する議論は2021年10月に始まり、約1か月かけて検証が行われました。移行は2022年1月に開始され、わずか1か月で完了しました。将来的にはTiDB Cloudより多くのデータサービスが実行されることが期待される。

Logo_CTW