TiDBに集約し運用負荷を削減してアーキテクチャの選択肢を増やす
これらマイクロサービスの技術的な課題は、システムアーキテクチャの実装の課題でもある。そのため、TiDBで直接解決するのは難しい。しかし「データベースをTiDBに集約すれば、アーキテクチャの実装の選択肢を増やせる」と香西氏は言う。たとえばマイクロサービスで良くあるのが、データベースで同じテーブルを見たい、データベースを共有したなどだ。TiDBでは、それらはかなりやりやすくなるはずだ。
一方、マイクロサービスとリンクしない組織設計は、組織論の課題だ。これは適切なサービス分割ともリンクするので、セットで考える必要がある。適切なサービス分割が難しい中、組織も追従させるのは大変だ。結果的に組織構造はそのままで、マイクロサービス化されることは良くある。イオンスマートテクノロジーも、組織設計がないままマイクロサービスが始まり、DevとOpsが分離したまま運用されている。このように組織課題があるため運用負荷が増大しており、それを運用体制でカバーする状況が続いている。
運用体制でカバーしている部分に対し、「TiDB Cloudならメンテナンスによる運用負荷の改善がかなり見込めるのではと考えています」と香西氏。スケールアップやバージョンアップ、DDLの実行やシャーディングの管理など、現状ではサービスを完全に停止した状態でメンテナンスを行うこともあるが、TiDB Cloudならばメンテナンス時間を入れずにオンラインで実施できると期待する。
自動シャーディング、バージョンアップも、TiDBの分散システムの特性を生かし裏で自動処理される。シャーディングのホットスポットが発生する問題も、自動で調整してくれる。イオンスマートテクノロジーでは、シャーディングを多用しているので、その管理から解放される効果は大きいと期待している。
またTiDBでは、単一のエンドポイントをアプリケーションが見ることでデータベースのシェアリングができる。そのためのアプリケーション側の改修も不要なのは大きなメリットだ。講演の最後に「TiDB Cloudが提供する無停止で実現される無限のスケーラビリティ、安定稼働によりもたらされる運用負荷の削減に、非常に大きな期待しています」と、香西氏は言うのだった。