実戦シナリオ応用
あるeコマース企業が毎日2,000万件の注文トランザクションをAzure SQL Databaseの単一データベース(Standard S2)で処理しています。このシナリオで同社が以下の対応を検討している場合、最も効果的な解決策はどれか?
A.データベースをPremium P4にアップグレードして、より高いコンピュートリソースを確保する
✗ アップグレードだけでは一時的な効果に留まり、将来のスケーリングに限界が出ます。根本的なボトルネック(遅いクエリ)を改善していないため、しばらく後に同じ問題が再発します。
B.水平分割(シャーディング)を実装して、複数のデータベースに注文データを分散させる← 正解
✓ 正解です。2,000万件毎日の大規模トランザクション処理には、単一DBの限界を超えた水平スケーリング(シャーディング)が最も効果的です。注文IDなどで分割キーを設定することで複数DBに負荷を分散でき、スケーラビリティ問題を根本解決できます。
C.インデックス戦略を最適化し、スロークエリを削減する。同時にクエリ実行プランの分析も実施
✗ インデックス最適化とクエリ改善は重要な取り組みですが、毎日2,000万件規模の書き込み負荷に対しては補完的対策に留まります。単独では根本的なスケーラビリティ問題を解決できないため、最も効果的な解決策ではありません。
D.Azure Cosmos DBに移行して、エラスティックスケーリングを活用する
✗ Cosmos DBはスケーラビリティに優れていますが、複雑なトランザクション要件(複数テーブル間のACID)がある場合、SQL Databaseのシャーディングの方が適しています。
この問題のポイント
2,000万件毎日の大規模トランザクション処理には、単一DBの限界を超えた水平スケーリング(シャーディング)が最も効果的です。注文IDなどで分割キーを設定することで複数DBに負荷を分散でき、スケーラビリティ問題を根本解決できます。
「実戦シナリオ」の他の問題
あるグローバル旅行プラットフォームが以下4種類のデータを管理します。①ホテル在庫(日付×部屋タイプ×ホテルIDの空き状況…ある製造企業が「①工場のPOSシステム(オンプレミス)からADLS Gen2へのデータ転送」→「②ADLS Gen2のデ…あるヘルスケアスタートアップが患者データ管理システムをAzureに構築します。「患者基本情報(氏名・生年月日・住所)と診…あるソーシャルゲーム企業が以下のシステムを設計しています。「①ゲームサーバーからのプレイログ(毎秒500万イベント)をリ…あるECサイトが「商品ページの閲覧履歴・カートに入れた商品・購入履歴を組み合わせて、各ユーザーにパーソナライズされた商品…ある銀行がAzure SQL Databaseで取引データを管理し、「監査のために過去7年間の全取引を保持する必要がある…
IT・クラウド の関連資格
AWS Certified Cloud Practitioner(CLF-C02)
AWSクラウドの入門資格。クラウドの概念・AWSのコアサービス・セキュリティ・料金モデルを問う。
AWS Certified Solutions Architect - Associate(SAA-C03)
AWSでのシステム設計能力を問うアソシエイト資格。高可用性・セキュリティ・コスト最適化の設計が中心。
AZ-900:Microsoft Azure Fundamentals
クラウドとAzureの基礎を問うMicrosoft認定資格。クラウドの概念、Azureの主要サービス、セキュリティ・コンプライアンス・料金を扱う。