フォトギャラリーのNoSQLストレージに適切なデータ構造を構築したいと考えています。私のWebアプリケーションでは、写真を1つ以上のアルバムの一部にすることができます。私はMySQLの経験がありますが、Key-Valueストレージの経験はほとんどありません。
MySQLを使用すると、次のように(3)テーブルを設定できます。
photos (photo_id, title, date_uploaded, filename)
albums (album_id, title, photo_id)
album_photo_map (photo_id, album_id)
次に、最新の5枚の写真(アルバムデータを含む)のリストを取得するには、次のようなクエリを実行します。
SELECT *
FROM albums, photos, album_photo_map
WHERE albums.album_id = album_photo_map.album_id AND
photos.photo_id = album_photo_map.photo_id
ORDER BY photos.date_uploaded DESC LIMIT 5;
NoSQL Key-Valueペアデータベースを使用して同様のクエリを実行するにはどうすればよいですか?(具体的には、AmazonのDynamoDBです。)ストレージはどのようになりますか?インデックス作成はどのように機能しますか?