事例公開日:2022年9月29日
日本全国の幅広い業種業態の店舗に高機能クラウドPOSレジ「スマレジ」を提供するスマレジ社は、長年利用していたDBの性能低下に悩んでいた。同社が抜本的な解決のために選んだDBサービスとは何だったのか、担当者に話を聞いた。
ITがビジネスの中核となる中で、ビジネスの急成長や環境変化に合わせてシステムを柔軟に変更できるようにすることは重要な取り組みだ。ユーザー数やデータ量の増加がサービスのパフォーマンスの低下につながれば、顧客満足度を著しく落としかねないからだ。特にサービスの根幹となるデータベース(DB)は、可用性、信頼性、安定性の要と言っても過言ではない。
全国の店舗向けにiPad/iPhoneアプリケーションを用いた高機能クラウドPOSレジ「スマレジ」を提供するスマレジ社は、長年利用していたDBの性能低下という課題を抱えていた。
より高性能なDBへのリプレースやデータウェアハウス(DWH)サービスの活用を検討するも、求める要件、コストの問題に直面。そこで新たに選定したのがMySQL互換のDBサービスだった。高い性能に加え、アプリケーションの改修が不要ですぐにシステムに組み込めることが決め手となった。
スマレジ社が取り組んだDB改善プロジェクトの全貌を担当者に聞いた。
スマレジ社の宮﨑龍平氏(左)と古橋朋孝氏(右)
リリースから10年経過、DBの性能低下がビジネスのボトルネックに
高機能クラウドPOSレジ「スマレジ」は、日本全国の幅広い業種業態の店舗で採用されているサービスだ。大手商業施設やチケット販売・情報サービスにも採用されている。2022年4月時点で11万以上の店舗が利用しており、各種調査において品質、サポート、信頼性などの点で高い評価を獲得している。
スマレジがリリースされたのは2011年。提供開始から着実に利用者数を増やしてきた。スマレジ社の古橋朋孝氏(開発本部 開発部)は、こう話す。
「1店舗から600店舗以上を運営する事業者まで、幅広い業種業態のお客さまにご利用いただいている。2020年から続くコロナ禍においても安定して新規契約を獲得してきた。キャッシュレス決済やセルフレジ、自動釣り銭機、モバイルオーダー、セルフオーダーなど、非接触化、非対面化を支援する機能をスマートに導入できるサービスとして、店舗運営を強力にサポートしている」(古橋氏)
ただ、ユーザー数とデータ量の増加に伴い、パフォーマンスの低下に直面するシーンも増えていた。
「稼働から10年、登録店舗数の急速な拡大やデータ保存量の急増に対応してきた。スマレジの黎明(れいめい)期から利用している顧客からは『管理画面の反応が遅くなってきている』など声を頂くことが増えてしまった。調査すると、ほとんどの原因はDB部分の性能低下だった」(古橋氏)
スマレジはAmazon Web Service(AWS)にサービスを構築しており、DBにはMySQL互換のクラウドDBを採用していた。クラスタリング、リードとライトの分割などパフォーマンス低下を考慮する構成で、パフォーマンスのボトルネックにもその都度対処してきたが改善は限界に来ていた。
「今後のビジネス展開を見据え、より大規模な顧客でも活用できるように、抜本的な性能改善を図ることにした」(古橋氏)
高い性能と互換性を持つMySQL互換DBサービス「TiDB Cloud」への移行を決定
だが、DB改善の取り組みは容易ではなかった。スマレジは24時間365日稼働するレジのシステムのため、長時間のサービスダウンは顧客ビジネスに影響を与える恐れがあった。既存のアプリケーションやDBを大幅改修するのは難しく、可能な限り影響範囲の少ない方法で性能を改善することが求められた。
「DBの性能低下に対し、テーブル構成の変更やインデックスの追加作成、クエリの見直しなどに取り組んだが、長期間蓄積したデータや性能改善しづらい複雑なクエリが数多く存在し、もうこれ以上どうにもならない状態だった。サービスダウンを避けるために、なるべくアプリケーションを改修せずにDBを移行すること、自社でDBを管理せずにフルマネージドで運用することを目指した」(古橋氏)
しかし、こうした要件に見合う製品は少なかったという。DBをより高性能なDWHサービスに移行することも検討したが、コストパフォーマンスが見合わず、見送りとなった。MySQLと同じくパフォーマンスにも優れるPostgreSQLなどのRDBMS(リレーショナルDB管理システム)も検討したが、MySQLとの互換性はほとんどなく、移行作業に膨大な手間が掛かることも課題となった。
「MySQL互換でより高性能なDBを検討する中で見つけたのが『TiDB』だった。TiDBは高いパフォーマンスを実現することに加え、アプリケーション改修が必要なく、リクエストをMySQLからTiDBに変更するだけで移行できることが決め手となった」(古橋氏)
MySQL互換の分散型RDB、TiDBのアーキテクチャ。
スケールアウトによってオンラインで性能を追加できる(提供:PingCAP)
従来のクラウドDBより平均3~4倍、最大7倍程度各クエリの性能が向上
他社クラウドが提供するMySQL互換のDBサービスも候補に挙がったものの、複数のクラウドを管理する運用負荷を考慮し、同じAWS環境で利用できるTiDBを選定したという。
「従来のクラウドDBはリーダーインスタンスとライターインスタンスに分けていた。TiDBは書き込み性能だけでなく、読み込み性能も高いことが特徴だ。システムへの影響も踏まえて、まずはリーダーインスタンスから変えることにした。便利だったのは、リーダーインスタンスに対する通信をTiDBに振り向けるだけで移行できたことだ。アプリケーションの改修はほとんどしていない。また、AWS Marketplaceを介してフルマネージドサービスの『TiDB Cloud』を利用できる。VPC(Virtual Private Cloud)ピアリングでつなぐだけでよく、AWSのサービスと接続するためのシステム設計や設定作業も不要だった」(古橋氏)
TiDB Cloudに加えて採用したのが、TiDBのリアルタイム分析に特化したコンポーネント「TiFlash」(カラム型ストア)だ。複雑なクエリのパフォーマンスチューニングをせずにシステムの高速化が可能になったという。
「あくまで検証環境での検証結果だが、従来のクラウドDBよりも平均で3~4倍、最大7倍程度、各クエリの性能が向上した。MySQLプロトコル互換でアプリケーション開発の期間、コストを最小限に抑えることもでき、懸念していた課題を解消できたと実感している」(古橋氏)
従来のクラウドDBと同様、マネージドサービスを引き続き利用できたことで、DB移行後の運用負荷が高まる懸念も解消できた。
「こうしたシステム面でのパフォーマンス改善の効果は、ビジネスにも好影響を与える。既存サービスを安定させることで大型顧客獲得につながることや、新規サービス導入によるビジネス成長を期待している」(古橋氏)
開発ベンダーからの手厚いサポートで検証作業を乗り切る
TiDBの検証に当たっては、TiDBを開発・提供するPingCAPの手厚いサポートを受けた。TiDBはオープンソースソフトウェア(OSS)としても利用できるが、OSSの場合はマネージドサービスではなくなること、OSS版のためサポートがないことなどから選択肢になかったという。
「DBの移行でつまずいたり、複雑なクエリの対処で困ったりした際に、PingCAPの技術メンバーの手厚く素早いサポートを受けられた。サポートは顧客のニーズに合わせた提案や高い技術力があってこそだ。開発ベンダーから直接サポートを受けられたことで、今まで利用したことのない製品に対する懸念を払拭(ふっしょく)できた。こうした支援もあり、検証作業を問題なく乗り切ることができたと考えている」(古橋氏)
導入の検討は2021年5月にスタートし、6~7月にDBの評価を目的として第1段階の机上検証を始めた。本番環境での利用を想定し、2022年2月からはアプリケーションまで含めた検証を実施した。リーダーインスタンスの振り向け先をTiDBに変更し、ライターインスタンスは既存のクラウドDBクラスタからTiDB Cloudに同期を取る構成となっている。今後はライターインスタンスもTiDBに移行することを視野に入れている。
スマレジにおけるTiDB Cloudの構成イメージ(提供:スマレジ社)
「移行に向けて動く中でもTiDBの機能改善対応を何度もしていただいた。こちらの要望を先回りでかなえてくれるので、PingCAPの迅速さにも助けられている」(古橋氏)
TiDBの導入で、ビジネス拡大の期待も高まる。スマレジ社の宮﨑龍平氏(取締役 開発本部長)は次のように今後を展望する。
「より長期にわたって安定的にスマレジをご利用いただけるよう、サービスの品質を維持しながら機能を追加していく。これからの10年でスマレジはタブレットPOSの枠を超えて日本のPOSベンダーのトップシェアを目指し、店舗運営に関わる誰もが手軽にデータを活用できる時代を実現する。生活者の日々の経済活動と密接に関わるデータの活用を通して、未来の暮らしをより楽しく便利にしていきたい」(宮﨑氏)
出典:ITmedia –「DBの性能低下、その場しのぎの対策はもう限界」スマレジが選んだ一手とは (2022年6月14日)
参考情報:
AWS/GCPベースのSaaSシステムはTiDBとの相性が抜群! – TiDB User Day 2022
[講演資料] [動画]