cs8814336
2019-03-25 09:22:00 +08:00
可以采用 hash(id) 进行分表或者分区, 分区的话开发容易. 这样尽管 1000 个用户 1000 个文章 100w 条还可以实现.
假如你单纯只是用来统计总阅读数和总时间,是否可以加上通过定时脚本定时合并数据库的数据, 例如你 mysql:
创建时间 文章 id 用户 id 阅读数 阅读时间
18 号 1 2 1 2m
19 号 2 2 1 7m
20 号 3 2 1 6m
定时脚本 20 号合并后产生汇总数据:
创建时间 文章 id 用户 id 阅读数 阅读时间
20 号 -1 2 3 15m
21 号 5 2 1 30m
这样类似定时清理旧数据. 类似 elasticsearch 之类的数据库都有隐藏后台合并数据的操作,elasticsearch 的是每个 index segement 是不可变的,然后会有很多,后台进程会自动错峰合并. 或者说是 lsm tree?