Я ищу для создания соответствующей структуры данных для NoSQL хранения фотогалереи. В моем веб-приложении фотография может быть частью 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? (В частности, Amazon DynamoDB.) Как выглядит хранилище? Как работает индексирование?