Пример задачи:
Объекты:
- Пользователь содержит имя и список друзей (Отзывы пользователей)
- Запись блога содержит заголовок, содержание, дату и автора (пользователя)
Требования:
Мне нужна страница, которая отображает заголовок и ссылку на блог последних 10 сообщений друга пользователя. Я также хотел бы иметь возможность продолжать просматривать старые записи.
Решение SQL:
Так что в sql land это будет что-то вроде:
select * from blog_post where user_id in (select friend_id from user_friend where user_id = :userId) order by date
Решения GAE, о которых я могу думать:
- Загрузить пользователя, просмотреть список друзей и загрузить их последние сообщения в блоге. Наконец, объедините все записи в блоге, чтобы найти последние 10 записей в блоге
- В сообщении блога есть список всех пользователей, у которых писатель является другом. Это будет означать простое чтение, но приведет к перегрузке квоты при добавлении друга, у которого много сообщений в блоге.
Я не верю, что какое-либо из этих решений будет масштабироваться.
Я уверен, что другие столкнулись с этой проблемой, но я искал, смотрел видео Google io, читал код другого ... Что я пропустил?