我正在考虑一个非常简单的类似 Twitter 的应用程序,我正在考虑仅支持 twits 和时间线。
但是我的脑袋,已经习惯了关系模型……无法在 Azure 表或 noSql 中想出一个合理的模型。基本上,我在想:
- 用户可以将其他用户添加为好友。
- 用户可以编写消息(最多 200 个字符)。
- 消息总是按时间顺序显示,最新的在前。
- 用户页面显示他最近的 20 条消息。
- 主页(时间线)显示来自他和他的朋友的最后 20 条消息。
很简单:D
如果我将所有消息放在一个表中,并将 userId 作为分区键......一切都很简单,但是......我不认为该解决方案可以很好地扩展。但是其他解决方案使时间线页面非常复杂或非常低效,因为它不是要从您的每个朋友那里获取最新的 20 条消息,而是要从所有人那里获取最新的 20 条消息……这让我大吃一惊。可能是您有一个非常讨厌的朋友,而最近的 20 条消息来自他 :D
以 Azure 表格方式存储此信息的可扩展且有效的方法是什么?
提前致谢。