Azureリレーショナル定義問題
Azure SQL Databaseのクエリで「各顧客の過去12ヶ月の注文を直近3ヶ月分ずつローリング集計したい」という要件があります。ウィンドウ関数のどの構文を使うか?
A.GROUP BY(月別にグループ化して集計する)
✗ GROUP BYは行をグループ化するが、各行ごとのローリング集計(ウィンドウ)を計算できない。
B.ウィンドウ関数(PARTITION BY + ORDER BY + ROWS BETWEEN)← 正解
✓ 正解。ウィンドウ関数のPARTITION BY(顧客単位でパーティション)+ORDER BY(日付順)+ROWS BETWEEN(直近3行)の組み合わせで各行ごとのローリング集計が実現できる。
C.HAVING(グループ後のフィルタ条件で件数を絞る)
✗ HAVINGはGROUP BY後のフィルタ条件。ローリング集計の計算方法ではない。
D.CROSS JOIN(自己結合してサブクエリで直近件数を絞る)
✗ CROSS JOINで自己結合することで実現は可能だが、パフォーマンスが非常に悪く現代的なSQLではウィンドウ関数を使う。
「Azureリレーショナル」の他の問題
あるSIerがオンプレミスSQL Server 2019をAzureに移行します。アプリは「SQL Server Age…ある企業がオンプレミスSQL Server 2022の本番DBをAzureへ移行します。「インスタンスレベルの機能(SQ…ある医療システムがAzure SQL Databaseで患者データを管理しています。「障害時のフェイルオーバーを自動化し…ある小売企業のAzure SQL Databaseに数十億行の販売トランザクションが蓄積しており、ストレージが急増してい…あるスタートアップが新サービスの開発環境用にAzure SQL Databaseを利用しています。「開発中は数時間使って…ある企業が40個のSaaSテナント向けに個別のAzure SQL Databaseを保有しています。各テナントの使用率は…
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の主要サービス、セキュリティ・コンプライアンス・料金を扱う。