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
840
Other Decks in Technology
See All in Technology
データベース04: SQL (1/3) 単純質問 & 集約演算
trycycle
PRO
0
730
Azure Maps Visual in PowerBIで分析しよう
nakasho
0
210
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
1k
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
910
グループ ポリシー再確認 (2)
murachiakira
0
230
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
2
450
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
370
社内 Web システムのフロントエンド技術刷新: React Router v7 vs. TanStack Router
musasabibyun
0
140
Next.jsと状態管理のプラクティス
uhyo
3
1.3k
Ninno LT
kawaguti
PRO
1
110
さくらのクラウド開発の裏側
metakoma
PRO
0
450
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
3
170
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Thoughts on Productivity
jonyablonski
69
4.6k
What's in a price? How to price your products and services
michaelherold
245
12k
Designing for humans not robots
tammielis
253
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Music & Morning Musume
bryan
47
6.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Code Reviewing Like a Champion
maltzj
523
40k
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