Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ZOZOTOWNにおけるクラウドDB運用の課題と展望
Search
makoto-horiguchi
July 25, 2019
Technology
1
1.2k
ZOZOTOWNにおけるクラウドDB運用の課題と展望
makoto-horiguchi
July 25, 2019
Tweet
Share
More Decks by makoto-horiguchi
See All by makoto-horiguchi
データベースの移行方式を検討した話
makoto8048
2
870
Other Decks in Technology
See All in Technology
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
350
Browser
recruitengineers
PRO
6
2.1k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
Vault meets Kubernetes
mochizuki875
0
150
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
25
12k
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
1
1.1k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.3k
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
160
モバイルアプリ研修
recruitengineers
PRO
5
1.6k
Jaws-ug名古屋_LT資料_20250829
azoo2024
3
200
Product Management Conference -AI時代に進化するPdM-
kojima111
0
270
AWSで推進するデータマネジメント
kawanago
0
710
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1.1k
We Have a Design System, Now What?
morganepeng
53
7.8k
Building an army of robots
kneath
306
46k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Fireside Chat
paigeccino
39
3.6k
Bash Introduction
62gerente
614
210k
Transcript
ZOZOTOWNにおける クラウドDB運用の課題と展望 株式会社ZOZOテクノロジーズ 開発部 リプレースチーム エンジニア 堀口 真 Copyright ©
ZOZO Technologies, Inc.
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ 開発部 リプレースチーム エンジニア 堀口 真
2018年 4月入社。 現在 ZOZOTOWN リプレースを担当。 前職ではSI/インフラ構築をメインに従事。 オンプレOracle育ち。 2
© ZOZO Technologies, Inc. ・DBサービス構成 ・クラウドDB運用で発生した問題と対策 ・これから ・まとめ 3 アジェンダ
© ZOZO Technologies, Inc. DBサービス構成 4
© ZOZO Technologies, Inc. DBサービス構成 システム構成とアクセス図 5 Azure SQL Database(PRIMARY)
Azure SQL Database (SECONDARY) Azure SQL Database (SECONDARY) AKS (application) SQL Server on Azure VM On premises Transaction replication SQL Server Geo replication Read Only Transaction replication
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 6
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【問題1】性能問題 7 →本番リリースしたものの見積もりよりもSQL Database のCPU使用率が高くなり100%で張り付いてしまう
→結果的にクエリ処理のタイムアウトが大量発生
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策1】性能問題 8 →まずはクエリチューニングを行いクエリの処理時間を削 減することでCPU使用率を下げる →クエリの多重度(MAXDOP)をチューニングしてサー
バCPU使用率を低減 トラフィックに合わせてサーバ台数を増強するのは最終手段 リプレース前コスト < リプレース後コストとなってはツライ
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策1】性能問題 9 →Azureの各種DBサービスを全て同条件下で性能を測定し最 適なサービスを再選定 トラフィック合わせてサーバ台数を増強するのは最終手段
リプレース前コスト < リプレース後コストとなってはツライ ・SQL Database DTUモデル ・SQL Database vCoreモデル ・SQL Database Managed Instance ・SQL Database Hyperscale ・SQL Sever on Azure VM
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策1】性能問題 10 →コストを増やさずにDBサーバの台数を増やす作戦 = リードスケールアウトの採用
トラフィックに耐えるためにサーバ台数を増強するのは最終手段 リプレース前コスト < リプレース後コストとなるのはツライ
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【参考】SQL Databaseリードスケールアウトとは 11 1つのエンドポイントの裏側で動作する複数DBサーバをユーザアプリケ ーションからReadOnlyで利用できる仕組み
AKS (application) host: xxxxx.database.windows.net EP ApplicationIntent: ReadWrite ApplicationIntent : ReadOnly endpoint
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【問題2】DBサービスがたびたびアクセス不可になる 12 →クラウドサービス異常によりDBサービスへの接続が できなくなりエラー
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策2】DBサービスがたびたびアクセス不可になる 13 →リトライ制御の導入 クラウド起因のサービス不能は避けられない AKS
Cluster A (application) AKS Cluster B (application) NG!! Web Servers リトライ
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策2】DBサービスがたびたびアクセス不可になる 14 →さらに・・・マルチクラウドの導入 クラウド起因のサービス不能は避けられない NG!!
Web Servers リトライ
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【問題3】マネージド型DBにまつわる問題 15 →不定期メンテテンスによるDBサービス停止によりア クセスエラー
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策3】マネージド型DBにまつわる問題 16 →リトライ制御の導入 ※前述 運用お任せのマネージド型では不定期メンテは避けられない
© ZOZO Technologies, Inc. クラウドDB運用で発生した問題と対策 【対策3】マネージド型DBにまつわる問題 17 →メンテナンスタイミングのスライド 運用お任せのマネージド型では不定期メンテは避けられない AKS
Cluster A (application) AKS Cluster B (application) NG!! Web Servers リトライ メンテ中! サービス中
© ZOZO Technologies, Inc. これから 18
© ZOZO Technologies, Inc. これから DBサービス選定の自由化 19 →SQL Server固有のレプリケーションによるデータ連携 を廃止し、CDC(ChangeDataCapture)によるデータ連
携 サービス固有の仕組みを一度採用してしまうと、将来ニーズに合ったサ ービス選定ができなくなる →特定のDBサービスに依存しないシステム構成
© ZOZO Technologies, Inc. これから NoSQLを併用 20 →キャパシティの動的スケールを得意とするNoSQLサー ビスを併用したハイブリッドなDBサービス構成 ZOZOTOWNの増減の激しいトラフィックを無駄なくさばくため動的なス
ケールをしたい
© ZOZO Technologies, Inc. まとめ 21
© ZOZO Technologies, Inc. まとめ ・クラウド運用してみると設計段階では把握できない諸々課題が出 ますが、対処方法は色々とあるため恐れずクラウドへリフトしまし ょう 22 ・ここまで大胆なシステム変更が可能なのはやっぱ自社サービスだ
から
None