Я думал о очень простом приложении, похожем на Twitter, я думал о поддержке, только о твиттах и временной шкале.
Но моя голова, в значительной степени привыкшая к реляционным моделям ... не может придумать разумную модель в таблицах Azure или noSql. В основном я думал:
- Пользователь может добавлять других пользователей как
друзья.
- Пользователь может писать сообщения (до 200
символы).
- Сообщения всегда отображаются в порядке
время, новейшее первое.
- Страница пользователя показывает его последние 20
сообщения.
- Главная страница (временная шкала) показывает
последние 20 сообщений от него и его
друзья.
Довольно просто: D
Если я помещу все сообщения в одну таблицу и введу userId в качестве ключа раздела ... все легко, НО ... Я не думаю, что это решение хорошо масштабируется. Но другие решения делают страницу временной шкалы очень сложной или очень неэффективной, потому что речь идет не о получении последних 20 сообщений от каждого из ваших друзей, а о получении последних 20 сообщений от всех вместе ... и это поражает меня. Возможно, у вас очень раздражающий друг, и последние 20 сообщений от него: D
Каким может быть масштабируемый и эффективный способ хранения этой информации в виде таблиц Azure?
Заранее спасибо.