我正在开发一个类似Facebook的社交网站。我很困惑如何创建通知表的结构。是否应该为每个用户单独使用还是为所有用户使用一个巨大的 - 哪些地方经常添加和删除记录?用于社交网站的表格等通知的数据库表结构
回答
我有同样的问题,因为你和经研究发现这个(found this)这里给出的表结构是:
id
user_id (int)
activity_type (tinyint)
source_id (int)
parent_id (int)
parent_type (tinyint)
time (datetime but a smaller type like int would be better)
其中:
ACTIVITY_TYPE告诉我活动的类型,SOURCE_ID告诉我活动相关的记录。所以如果活动类型的意思是“添加最喜欢的”,那么我知道source_id是指最喜欢记录的ID。
parent_id/parent_type对我的应用程序很有用 - 他们告诉我该活动与什么有关。如果一本书收藏,然后PARENT_ID/PARENT_TYPE会告诉我该活动涉及到一本书(型)具有给定主键(id)
I指数在(USER_ID,时间)和查询活动是user_id IN(...朋友...)和时间>一些截点。开出id并选择不同的聚集索引可能是一个好主意 - 我还没有尝试过。
很基本的东西,但它的工作原理很简单,而且随着需求的变化很容易处理。另外,如果你不使用MySQL,你可能可以做更好的索引。
它还建议那里使用Redis更快地访问最近的活动。 随着Redis的中拌匀,它可能工作是这样的:
- 创建你的MySQL活动记录
- 对于用户的每一个朋友,谁创建活动,推动ID到在Redis的他们的活动列表。
- 调整每个列表中的最后一个X项目
Redis的是快速和跨越一个连接提供了一种管道命令 - 所以推的活动了1000个朋友需要毫秒。
对于什么,我说什么,看到Redis的Twitter的例子更详细的解释:http://code.google.com/p/redis/wiki/TwitterAlikeExample
我希望这可以帮助你也
仅给出链接参考作为答案并不好。如果链接被更改/更新/编辑/删除,答案将自动失效。所以总是试着解释答案,然后给出一个参考。 – Sankumarsingh 2013-08-20 09:59:15
谢谢,将编辑这一个 – YXN 2013-08-20 10:01:44
- 1. 社交网站的数据库连接
- 2. 我的网站搜索引擎的数据库表格结构
- 3. 数据库查询社交网站的时间表
- 4. 通过社交网络登录数据库结构
- 5. 社交网站数据库开发
- 6. 价格表的数据库表结构
- 7. 数据库体系结构(用于社交网络的例子消息)
- 8. 关于社交网站数据库的问题
- 9. 针对社交网站的数据库和数据库引擎
- 10. 社交网络背后的数据库结构[指导]
- 11. 包含社区结构的社交网络数据集
- 12. 社交网站的报表/ BI框架
- 13. 社交网站nosql数据库的数据建模
- 14. 社交网络数据库
- 15. 适用于.NET的社交网站API
- 16. 社交网站网站数据库管理
- 17. 社交网站的数据存储
- 18. 社交网站网站按钮库
- 19. 代理商通知系统的数据库表结构
- 20. 一个简单的社交网站的数据库设计
- 21. Managin在社交网站的mysql数据库中的朋友
- 22. 股票交易网站的数据库结构?
- 23. 没有数据库的小型网站的网站结构
- 24. 社交媒体内容的表格结构
- 25. 社交网站需要的数据库模式帮助
- 26. 社交网站的数据库设计。帮帮我!
- 27. 社交网站如何管理数据?
- 28. 社交网站Neo4j和Mysql的体系结构
- 29. 社交登录实现的数据库结构?
- 30. 网站数据库结构 - 最好最有效的结构
我已经建立信息和个人资料和照片等,桌到现在。但我对通知感到困惑。看到我认为它有两种方式 - 1.每个用户的小通知表和一张存放所有通知的巨大表格。例如。 Not_a11(id,notf_id)。通知_master(notf_id,memid,notif_text,dttime)。这样我就会一直更新两张表。每当用户登录他的桌子时都会被引用,并显示通知。你说什么 – phpDevlpr 2013-03-04 04:52:45
有人回复? – phpDevlpr 2013-03-04 10:38:46