Azure非リレーショナル応用
あるビジネスインテリジェンスチームがAzure Synapse Analytics(データウェアハウス)でAzure Data Lake Storage Gen2(ADLS Gen2)に保存されたパーケット形式のデータを分析しています。「日次バッチ処理で毎晩10TB のデータをロード」「クエリのスキャン効率が徐々に低下」という課題が発生しました。原因として最も可能性の高いものと改善案はどれか?
A.パーケットファイルが日々小分割化(多数の小さいファイル)され、メタデータオーバーヘッドが増加している。ファイルを定期的に統合(コンパクション)すべき← 正解
✓ 正解です。日次バッチで小さいファイルが増加するとメタデータ管理の負荷が増え、クエリプランの最適化が困難になります。定期的なコンパクション(ファイル統合)により、パーティション単位のファイル数を削減し、スキャン効率を改善します。
B.ADLS Gen2のアクセス層がCoolアクセス層に自動遷移し、読み取りレイテンシが増加している。ホットアクセス層に戻すため、キャッシュレイヤーを導入すべき
✗ ADLS Gen2でもBlob Storageと同様にライフサイクル管理ポリシーによるアクセス層の自動遷移(Hot→Cool→Archive)を設定できます。ただしアクセス層の遷移が「スキャン効率の徐々の低下」の根本原因にはなりにくく、分析クエリ性能の問題とは別の課題です。この選択肢は根本原因として不適切です。
C.Synapse Analyticsのスター型スキーマ設計に誤りがあり、分析クエリの複雑度が増加している。テーブル統合により正規化度を上げるべき
✗ スキーマ設計の問題はクエリプランの複雑度に影響しますが、スキャン効率の「徐々の低下」とは異なります。スキーマ問題は導入時に顕在化するはずです。
D.パーケットファイルの圧縮方式が不効率な設定のままで、I/O負荷が増加している。Snappy圧縮からGzip圧縮に変更すれば読み取り効率が向上する
✗ Snappyは高速展開で読み取りに適し、Gzipは圧縮率が高い代わりに展開が遅いため、スキャン効率を低下させます。むしろSnappyが分析ワークロードに推奨されます。
この問題のポイント
日次バッチで小さいファイルが増加するとメタデータ管理の負荷が増え、クエリプランの最適化が困難になります。定期的なコンパクション(ファイル統合)により、パーティション単位のファイル数を削減し、スキャン効率を改善します。
「Azure非リレーショナル」の他の問題
あるSNS企業がユーザー同士の「フォロー」「フレンド」関係を管理するDBを設計しています。主な操作は「友達の友達を3ホッ…あるIoT企業が10,000台のスマートホームデバイスから温度・湿度・電力消費量を毎秒収集・保存しています。「デバイスI…あるECサイトがAzure Table Storageで商品カタログ(5億件)を管理しています。「クエリレイテンシが増加…あるスタートアップがオンプレミスのMongoDBアプリケーションをAzureに移行します。「既存のMongoDBドライバ…あるゲーム会社が1億人のプレイヤープロファイルを管理するDBを設計しています。「プレイヤーごとに所持アイテムが異なる(ス…Cosmos DB(Core SQL API)でコンテナを設計する際、「パーティションキーの選択」として最も適切なのはど…
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の主要サービス、セキュリティ・コンプライアンス・料金を扱う。