toshiki

ShopifyはRedisを捨てMySQLで在庫予約をスケールさせた

· Hacker News #130

Shopifyが在庫予約システムからRedisを外しMySQLに一本化してスケールに成功。「速さのためのRedis」という定説を疑う設計判断の好例。

  • #architecture
  • #mysql
  • #redis
  • #scalability
  • #backend

#なぜ今日これを選んだか

「キャッシュはRedis」という思い込みを、世界最大級のECを支えるShopifyが実データで覆した話だから。技術選定の「定説」を疑い、要件から逆算して選ぶ姿勢は、エンジニアとしてレベルアップしたい自分にそのまま刺さる。

#要点

  • Shopifyはフラッシュセール時の在庫予約にRedisを使っていたが、MySQLに置き換えてもスケールした
  • Redisと本体DBの二重管理をやめたことで、整合性の担保や障害時の復旧がシンプルになった
  • 「速いから」で技術を足すのではなく、トランザクション整合性という本質要件に合わせてストアを選び直した判断が肝

#自分にとっての示唆

ミドルウェアを足すことが設計力ではなく、要件を見極めて引き算できるのが本当の設計力だと感じた。RustやGoでプロダクトを作るときも「みんなが使うから」でツールを選ばず、整合性・運用コスト・スケールの要件を書き出してから選定する。まずは今作っているものの構成要素それぞれに「なぜこれか」を一行で説明できるか点検してみる。それができない部分が、学ぶべき穴だ。