Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS/GCPベースのSaaSシステムはTiDBとの相性が抜群! - TiDB User Day 2022 セッション

AWS/GCPベースのSaaSシステムはTiDBとの相性が抜群! - TiDB User Day 2022 セッション

高機能クラウドPOSレジ「スマレジ」のインフラには主にAWSを利用しています。2011年開始から既に10年以上稼働しており、そろそろ抜本的なデータベースの性能改善を図りたい、という課題がありました。アプリケーション側への影響や移行時のダウンタイムをなるべく小さくしたいといった条件や、ベンダーロックイン・データベース互換性の網を掻い潜り、TiDBを選んだ経緯や理由についてお話しします。

PingCAP-Japan

July 13, 2022
Tweet

More Decks by PingCAP-Japan

Other Decks in Technology

Transcript

  1. 1 AWS/GCPベースのSaaSシステムは TiDBとの相性が抜群! 株式会社スマレジ 開発本部 開発部 古橋朋孝 2022/07/07

  2. 名前:古橋 朋孝    (@gausssss) 職種:インフラエンジニア バックグラウンド: ・Oracle Master Platinum ・SIer/SESで大規模DB担当

    2 自己紹介
  3. 3

  4. 4

  5. 5

  6. 6

  7. 課題 7 ・サービス稼働年数が10年以上経過 ・利用者数の急増(11万店舗以上) ・データ保持期間は半永久的   → データ蓄積量が加速度的に増加

  8. 課題 8 例えば、誰かがお店で買い物をすると・・・ ・取引テーブルに1レコード追加 ・取引明細テーブルに商品数分のレコード追加 → 大規模なお客様の場合、取引件数が毎月数十万件 → 10年分で、数千万〜数億件

  9. 課題 9 データ蓄積量の増加 → 管理画面のレスポンスの劣化 → サーバーの高負荷 ・原因の大半はDBのスロークエリ ・小手先のチューニングでは限界

  10. 構成 10 環境:AWS DB:Aurora(MySQL互換) アプリには手を加えずにDB だけ代替したい

  11. 検討 11 Redshift ・AWSのDWHサービス ・同じAWS環境内で完結できる → オンライン処理には向かない → 今回の要件に合わない

  12. 検討 12 Oracle Database等の他RDBMS製品 ・AWSのRDSで利用可能 → MySQLとの互換性が無く、移行が難しい → 今後のDB運用も変わる

  13. 検討 13 HeatWave ・MySQL互換性があるOCIのサービス → AWS - OCI 間の通信構成が難しい →

    チューニングの方法が既存のAuroraと異なる
  14. 検討 14 TiDB ・MySQL互換性がある高速なDB → シンプルな構成で既存AWS環境と接続可能

  15. 構成 15

  16. 検証 16 ・トライアル期間を有効利用 ・TiDB Cloudの操作は直感的 ・PingCAP社の手厚い技術支援

  17. 検証結果 17 ・既存のAuroraより平均3〜4倍、最大約10倍 高速 (例) 処理 Aurora TiDB 在庫一覧 25s

    5s 発注一覧 41s 4s 仕入一覧 1m40s 10s 棚卸在庫一覧 24s 6s
  18. 検証結果 18 ・Auroraより非常に遅いクエリも少しあった → AuroraとTiDBのアーキテクチャの違いによる → TiDB用にチューニングすれば改善されるが… (なるべくアプリに手を加えたくない)

  19. TiFlash!!!!! 19

  20. TiFlash 20 ・メモリを多く使用するクエリには有効

  21. Parallel Apply!!!!! 21

  22. Parallel Apply 22 ・Auroraで得意なサブクエリにも有効 → ほとんどのクエリが高速化された! → 残りはアプリ側に問題があるものだけ

  23. まとめ 23 ・AWS/GCPベースのSaaSシステムで  MySQL系のDBに性能問題を抱えていたら…  → TiDB Cloudがおすすめ!   ・MySQL互換なのでアプリ改修不要   ・フルマネージドで運用コスト低

  24. 今後の展望 24 ・国内POSベンダーのトップシェアに!