障害や更新時の切り替えにともなう「ダウンタイムも極めて短い」
既存のデータベースと同程度のスペックであれば、TiDBのほうが性能は上だった。鈴木氏が構築したアプリケーションをTiDBに移行した結果を見ても、従来の1.7倍程度の処理性能があったという。さらにアプリケーションを変更する必要がないほどMySQLとの互換性も高く、その点も評価できる。そして何よりも重要なのは、障害や更新時に復旧のためのダウンタイムを大幅に短縮できることだ。
また、運用の苦労の軽減度合いで言うならば「少なくとも従来の3倍以上は楽になるでしょう」と前島氏。運用統制部推進課の木村大地氏は、検証時の障害の試験結果を見た際に「結果が良すぎてテストが足りていないのではと思いました」とも話す。
もう1つTiDBの優れている点が“拡張の柔軟性”だ。TiDBではSQLの処理を担うTiDB Clusterとデータを格納するTiKV Clusterが独立している。そのため「SQL処理の負荷が高ければSQLエンジン部分、容量を拡張したければストレージだけを拡張できます。ニーズに応じて別々に拡張できる点はポイントが高いですね」と前島氏は語る。
これらの点からSBペイメントサービスは「TiDBが決済サービスの本番環境にも有効だ」と判断した。とはいえ、安定稼働している既存の決済システムにおいてドラスティックに入れ替えるリスクは高い。かといって小規模でビジネスインパクトの小さなシステムで採用しても「TiDBの良さが発揮できません」と宝本氏。そこでTiDBの性能を発揮できそうな新規の決済システムでの採用を決めたという。
対象となった決済システムは、今後大きく成長が見込めるオンライン決済のシステム。順次拡張することが必須であり、柔軟に拡張できるTiDBが最適だと判断した。なお、この新規決済システムプロジェクトは順調に進み、TiDBベースで無事に2023年10月にカットオーバーを迎えている。「国内では恐らく知らない人はいないと言っても過言ではないサービスで、『成長が見込める』と想像できるデータ量をはるかに上回ります。これは今後も規格外の規模で成長していくことが予想されています」と髙野氏は話す。
SBペイメントサービスにとって、本番システムにTiDBを適用する初めてのプロジェクトだったが、大きなトラブルもなく極めて順調に推移したという。一部パーティション単位でデータを管理しているテーブルを、必要がなくなった際にデータをドロップすることでデータベースの肥大化を防ぎたいとの要望があった。これを本番のワークロードに負荷なく実施する方法に悩んだが、PingCAPに問い合わせたところ“Dumplingコマンド”を利用する方法を提案してくれ、迅速に解決できている。
PingCAPのサポート体制は、PoCから本番に至るまで「かなり満足度が高い」と前島氏は話す。障害テストの際にも、通常のクラウドベンダーでは受け入れてくれないようなサービスインスタンスを落とす要求にも迅速に対応。他にも本番の決済システムで一部のクエリ処理が遅くなったものがあったが、PingCAPが内部解析し、どのように対処したら良いかを提案している。「本番運用が始まってからも性能の変化を見ていてくれ、PingCAP側から問題が発生する前に声がけしてくれるため、高い安心感があります。PingCAPのサポートは、感動するほどのレスポンスの速さ、対応の手厚さがあると思います」と髙野氏は話す。
「決済システム」など、ミッションクリティカルで主流になるか
一連のプロジェクトを通じ、TiDBの良さは実感している。その上で今後は「誰もが知っているデータベース製品となるよう、有名になって欲しい」と前島氏。運用面での手厚さに加えて、現状のクラウド版のサービスはマルチAZで可用性を担保しているが、今後はサイト障害などに対応できるようなマルチリージョンも選択できるようになればと期待を述べる。
また木村氏は、クラウド版のTiDBの管理コンソールでは、ほとんどの管理作業がクリックだけで完了すると評価。そこに含まれている監視用ダッシュボードで、これまで見えなかった運用管理の無駄や課題にも気づけるという。
今回、SBペイメントサービスが新たな決済システムでTiDBを導入し、運用が成功したことを受けて「TiDBは、当社における主流なデータベースの1つに位置づけられるでしょう」と宝本氏。今後ビジネスが成長していくにつれて、TiDBを採用するシステムは確実に増えるだろうと話す。より広範囲にわたりTiDBの採用を増やしていくためにも、PingCAPにはTiDBの導入事例をより多く作ってもらい、その波にSBペイメントサービスも乗りながら一緒に市場を盛り上げていきたいとした。