数据库中评论表的设计
方案
- 第一种表中只存用户主键,查询时关联用户表获得用户头像、用户名。
- 第二中表中存用户主键、用户头像、用户名。
问题
- 第一种方案的问题在于需要关联用户表,我怀疑会出现效率问题。
- 第二中方案的问题在于空间占用和数据不一致问题(用户修改了用户名、头像等)
结果
查阅了资料后:第一种方案一般不会出现效率问题正常加上索引就足够了,而且评论一般都是只看TopN的几个。
第二种:不太行,首先太浪费空间,第二数据不一致。
ps:当然评论数据量不是很大的话,随便干。。。
模块有哪些?
目前是分为
- 用户模块
- 视频模块
- 评论模块
- 专栏模块
模块之间互相访问请求,感觉也没啥问题,都是服务提供者也是消费者。。
视频如何处理?
视频分辨率,封面,存储?
COS存储时唯一字符串
在这里我选择UUID来实现唯一字符串。
我的理由是:它实现简单,并且能够保证在同一时空中的所有机器都是唯一的。UUID的缺点对项目来说都不是问题
- UUID字符串占用的空间比较大。 存在COS中没影响
- 索引效率很低。 存在COS中没影响
- 做不了递增,如果要排序的话,基本不太可能。 不需要视频资源排序