Azure非リレーショナル定義問題
Cosmos DBのGremlin APIとMongoDB APIを比較したとき、「e-コマースの商品レコメンデーションエンジンで、ユーザーAが購入した商品を購入したユーザーBが次に購入した商品を探す多段トラバーサル」に最適なのはどれか?
A.Cosmos DB(MongoDB API)― 集計パイプラインで類似ユーザーを検索
✗ MongoDB APIの集計パイプラインで関係性クエリは可能だが、多段トラバーサル(ユーザー→商品→ユーザー→商品)はアプリ側での複数ラウンドトリップが必要になり効率が悪い。
B.Cosmos DB(Gremlin API)← 正解
✓ 正解。Gremlin APIのグラフトラバーサルクエリ(g.V().has('userId','A').out('purchased').in('purchased').where(neq(userA)).out('purchased'))で多段関係の探索を1クエリで効率的に実行できる。レコメンデーションエンジンにおけるグラフ活用の典型例。
C.Cosmos DB(Core SQL API)― JOINで関係性を表現
✗ Core SQL APIのJOINはCosmos DBでは同一コンテナ内のネストした配列へのJOINのみ。別ドキュメント間の多段関係探索には不向き。
D.Cosmos DB(Cassandra API)― ユーザーIDでパーティション化
✗ Cassandra APIはワイドカラムモデルでグラフトラバーサルに最適化されていない。
「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の主要サービス、セキュリティ・コンプライアンス・料金を扱う。