类似于QQ空间好友动态的功能与数据结构设计
一直想做一个类似于QQ空间好友动态的功能,比如:XX发布了日志:<a ...>xxxx</a>
XX发布了照片:<a ...>xxxx</a>
从浅层面看,就是一个简单的消息功能,实际上包含了很多东西 ,比如大量用户关系关联,数据量大小,消息表结构又如何设计能解决性能,效果方面等等问题,
初步的想法简单的设计了一个表结构如下:
模板表:
id 主键
type 类型
template 模板内容,如: (#user1#发表了日志<a href="#note1#">日志标题</a>)
消息表:
id 主键
xx 其他字段若干
templateid 模板ID
content 消息字段内容,如({"user1":张三,"note":"http://www.xxx.com/article/1121"})
每一条消息是根据消息表的content中的值,来替换模板中对应的变量而生成消息
后来回头一看,问题太多了,
比如,如果用户上传了一张照片,这时候又怎么处理好一些, 再有,数据量一大起来,这种设计能承受多大的数据量。。
菜鸟一枚,请各大拿赐教!
--------------------编程问答-------------------- 要看你具体多少用户了。
一天多少用户,每个用户有多少这种消息,一个月下来会有多少数据量就可以有个大概统计。
一般来讲,mysql 单表不超过两千万数据的话,所提供的性能还是可以接受的。
如果更多,就可以考虑分表,或者定期处理了。 --------------------编程问答--------------------
补充:Java , Web 开发