我正在寻找为照片库的 NoSQL 存储构建适当的数据结构。在我的 Web 应用程序中,一张照片可以是 1 个或多个相册的一部分。我有使用 MySQL 的经验,但几乎没有使用键值存储。
使用 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 键值对数据库完成类似的查询?(特别是亚马逊的 DynamoDB。)存储会是什么样子?索引将如何工作?