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.3k
1
Share
ZOZOTOWNにおけるクラウドDB運用の課題と展望
makoto-horiguchi
July 25, 2019
More Decks by makoto-horiguchi
See All by makoto-horiguchi
データベースの移行方式を検討した話
makoto8048
2
920
Other Decks in Technology
See All in Technology
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
1
120
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
6.4k
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
1
120
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
260
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
160
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
410
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
AzureのIaC管理からログ調査まで、随所に役立つSkillsとCustom-Instructions / Boosting IaC and Log Analysis with Skills
aeonpeople
0
340
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
130
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
210
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
160
AndroidアプリとCopilot Studioの統合
nakasho
0
180
Featured
See All Featured
The Curse of the Amulet
leimatthew05
1
12k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
500
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
100
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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