背景

快手(Kwai)アプリは、高い人気を誇るショート動画およびライブ配信アプリです。生活のあらゆる側面をカバーするコンテンツを提供しており、技術の力で人それぞれの幸せを科学技術によって向上させることを目指しています。ユーザーはKwaiを使って、日常の瞬間を写真や動画で記録・共有したり、ライブ配信でファンとリアルタイムで交流したりできます。2011年の設立からわずか10年で、デイリーアクティブユーザー数が数億人に達し、ライブ配信やECなどのビジネスも急速に成長しました。その一方で、基盤システムはかつてないスケールとトラフィックに対応する必要に迫られています。

お客様の課題

ストレージのボトルネック

注文関連のビジネスでは、総データ量が150TBを超え、スタンドアロンによる集中型データベース(MySQLなど)では、ストレージのボトルネックやパフォーマンスの問題が深刻化していました。

MySQLシャード数の増加

この問題がビジネスに与える影響を抑えるため、Kwaiではシャーディングソリューションを用いて、ストレージやパフォーマンスの課題にその一時的な対処を行ってきました。しかし、ビジネスの継続的な拡大に伴い、基盤となるデータベースのシャード数は増え続け、現在ではオンライン上で稼働するMySQLのシャード数が300を超える規模に達していました。

アプリケーションの改修と調整

この時点で、運用保守コストとシステムの複雑さは大きく増加しており、継続的なシャーディングに起因するさまざまな課題に対応するため、アプリケーション側でも繰り返し改修・適合を行う必要が生じていました。Kwaiは、こうした現行のソリューションでは、ビジネスが直面している課題を一時的に緩和することはできても、根本的な解決には至らないことを認識しました。そこで同社は、パフォーマンス要件を満たしつつ、使用と運用保守の複雑さを大幅に軽減できる新たなデータベースソリューションの導入を早急に検討する必要があると判断しました。

ソリューション

MySQLとの高い互換性により、開発・運用コストを削減

ビジネス担当者は、これまで使用してきたMySQLの操作方法をそのままOceanBaseで利用できるため、運用習慣を大きく変更する必要がありません。また、OceanBaseはMySQLのプロトコルおよび構文と高い互換性を持っているため、データ移行もスムーズに行え、移行やアプリケーション改修にかかるコストを大幅に削減できます。

同一リージョン内の3データセンターデプロイにより、RPO=0、RTO<30秒のディザスタリカバリ能力を実現

異なる地域に読み取り専用ゾーンを追加することで、ローカルでの読み取りサービスを実現し、クエリ効率を大幅に向上させることが可能です。同一リージョン内でのディザスタリカバリ、ローカルでの読み取りなどの機能により、ビジネスに対して高い安定性と優れたパフォーマンスという二重の保障を提供します。

柔軟なリソース拡張能力

ビジネスの実際の成長状況に応じて、計算リソースとストレージリソースを動的かつ線形に拡張できるため、大容量データの保存と処理を安定して支援します。これにより、将来的なビジネスの成長にも柔軟かつ適切に対応することが可能です。

極限のデータ圧縮能力

従来の集中型データベースであるMySQLと比較して、OceanBaseはストレージ層での極限の圧縮能力により、企業のデータベース使用におけるハードウェアコストを効果的に削減できます。

適用シナリオ

現時点で、Kwaiのショート動画アプリには8つのOceanBaseクラスターがあります。マシン規模は既に200台の物理マシンを超えており、データ量は800TB超、最大クラスターのデータ量は400TB超となっています。最初はOceanBaseバージョン3.1を使用し、後にバージョン4.2にアップグレードしました。すべてのクラスターがオンラインサービスを提供しており、その中にはコアシステムの取引照合システムと決済ゲートウェイビジネスシステムがあり、またMySQLプライマリデータベースを置き換えて高並列書き込みビジネスを担うものもあります。バージョン4.1に移行後、クラスター自体のビジネスに対する収益と安定性がいずれも大幅に向上しました。

取引照合

ショート動画プラットフォームとして、Kwaiには動画視聴時のショッピングニーズを満たす対応するECビジネスがあります。一般的にECの日平均トラフィックQPSは安定しており、約8〜9万です。大型ライブ配信時には、ユーザートラフィックが急激に増加し、一般的にQPSは平時の10倍から100倍まで急速に増加し、百万レベルに達します。データ量を圧縮しても100TB超に達します。

OceanBaseの分散アーキテクチャは、スケールアウトに優れており、データ量が増加しても、クラスターのストレージや計算リソースを柔軟に拡張することで、大規模なテーブルクエリやストレージに関する課題を解決できます。また、ネイティブで分散機能を備えているため、分散トランザクション処理にも強みがあります。OceanBase導入後、上流のビジネスシステムは直接MySQLクラスターに書き込みを行い、同時に上流のMySQLシャードにデータが書き込まれるたびに、Binlogを通じてリアルタイムでOceanBaseにデータが同期されます。データ照合の際は、上流のMySQLクラスターに対するクエリと同時に、下流のOceanBaseにも同様のクエリがされ、両者の結果を比較することで、全体の会計システムにおける注文状態の正確性を高い精度で保証しています。

決済ビジネス

決済ビジネスはECのリアルタイム取引を支えるものであり、一方では店舗やカスタマーサービス向けのライブ配信収益確認、もう一方では決済ゲートウェイに関わる集約クエリを処理しています。OceanBaseを導入したことで、大容量データのストレージ問題はオンライン拡張性により容易に解決され、さらにHTAP機能によってデータの書き込みを確保しつつ、リアルタイムのクエリ分析も可能となりました。このビジネスシナリオにおいて、OceanBaseの高度なSQL分析能力はElasticsearchに劣っていません。また、オンラインでのインデックス追加が可能なため、ビジネス側はいつでもDDL変更を実行できます。OceanBaseによって従来のMySQL+Elasticsearchのソリューションを置き換えた結果、Elasticsearchにかかっていたサービスとハードウェアのコストが削減され、さらにMySQLのハードウェアコストも大幅に削減されました。全体としては以前のソリューションと比較して、約50%のマシンリソースを節約しつつ、パフォーマンスはビジネスのクエリ要件を十分に満たしています。

効果

より効率的で便利な運用保守

OceanBaseは、単一クラスターで300以上のMySQL環境を統合し、1つのOCPで8つのOceanBaseクラスターを一括管理しています。OBServerノード数は190を超えていますが、クラスターのスケーリング、モニタリング、アラート対応などの運用作業をすべてOceanBase Cloud Platform (OCP) 上で完結できるため、運用保守コストが大幅に削減され、管理の利便性も大きく向上しました。

コストの大幅削減

100TBを超える大容量のデータストレージをサポートしつつ、高いパフォーマンスと安定性を実現しています。さらに、従来のソリューションと比較して、OceanBaseによるソリューションのストレージコストは75%削減されており、そのコスト削減効果は明確です。従来の集中型データベースであるMySQLと比較して、OceanBaseはストレージ層での極限の圧縮能力により、企業のデータベース使用におけるハードウェアコストを効果的に削減できます。Kwaiでは約50台分のマシン削減に貢献しています。

データ同期パフォーマンスの向上

上流システムから下流のOceanBaseへのデータ書き込みにおける応答遅延が大幅に短縮され、データ同期の速度が向上しました。その結果、同期遅延時間は従来比で約4分の3に削減されています。

今すぐOceanBaseで
開発を始めましょう