有关如何为邮件系统设计可伸缩数据库架构的任何建议。此邮件系统不会包含任何附件。我想使用APNS通知来通知用户新的传入消息。有点像facebook消息,但没有附件。
我应该如何设置实体/表格?关系? APNS整合?如果有人在过去这样做了,那么看图形布局会很好吗?
我计划将核心数据与StackMob(远程数据库)一起使用。
谢谢!
答案 0 :(得分:1)
我猜你计划让应用知道1个用户,他们的联系人以及从这些联系人收到的+发送的消息...我也猜测该用户注销你将删除所有数据应用程序中的旧用户,并从服务器为新用户下载新数据。
我可能不会担心为当前用户提供一个对象,它没有提供太多实用工具。我可能会使用用户默认值来存储用户身份,并在已知位置的磁盘上显示头像图像。
对于模型,我可能有两个实体:
Contact
Message
Contact
具有名称,ID,头像文件名,最新消息的日期(可能是第一条消息)以及与Message
的关系(一对多)
Message
具有消息文本,发送日期和标记消息为已发送/已接收的标记
使用这种超级简单的数据模型,您可以轻松下载和存储联系信息,而无需下载所有消息。您可以列出用户的联系人,并且您知道最近收到的(或发送给)的消息。如有需要,您可以下载并填写指定用户的最新消息。
当您的服务器保存所有数据时,如果您发现需要更改数据模型,则升级路径很简单:删除旧的DB文件,创建一个新文件并再次下载数据。您永远不应该拥有比设备上所需的数据更多的数据,并且应该定期清除旧消息(并且不要在屏幕上显示它们,除非有要求)。
服务器和RESTful接口仍然是更重要的定义。我使用RestKit与服务器进行交互。