Пример проблемы:
Сущности:
- Пользователь содержит имя и список друзей (Ссылки на пользователей)
- Сообщение в блоге содержит заголовок, содержание, дату и автора (пользователя)
Требование:
Мне нужна страница, которая отображает заголовок и ссылку на блог последних 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, читал чужой код ... Что мне не хватает?