3
回答
应用统计-数据库设计
科大讯飞通用文字识别100000次/天免费使用。立即申请   

我想做一个应用统计后台,主要统计如下:

每天新增用户, 每天活跃用户, 每天启动次数, 累计用户, 可以查看所有应用的汇总数据,也可以查看单个应用的用户数,请问数据库怎么设计合理一些。我目前的思路:

client表用来存储所有的用户信息

id    mac    appKey    ip version    regDate

record用户存储访问记录

id mac visitDate

但是这样子我觉得每天可能会有很多访问记录,当用户数增加之后,record表的数据量会非常大,这样子查询效率和速度是不是有影响,请问一般这种需求大家都是怎么设计表的。



<无标签>
举报
lancy_android
发帖于2年前 3回/286阅
共有3个答案 最后回答: 2年前

写入按照范式做原始数据没问题,不用担心太多。这种原始记录哪怕再多,也可以通过分区迁移和转储压缩保存起来。然后你实际查询的,是根据这些原始数据完成的计算结果。是属于OLAP的一种。

建议是记录按最详细的来,然后每天把统计信息汇总计算后放到另外的表储存。这些原始记录过一段时间(按照你们的需求,比如按周按月),转移到备份的分区或者干脆备份成文件后刻录保存。这样这个原始记录就不会担心太大了。

--- 共有 1 条评论 ---
lancy_android谢谢,我先试着做一下。 2年前 回复

定时出报表

前台只查看报表(结果)


不必重复造轮子 看看李博士的创新工场项目  Umeng 去百度下


--- 共有 1 条评论 ---
lancy_android我就是参照友盟的,就是想知道他们是怎么设计的。 2年前 回复
这种应该是写入密集型业务,建议选择mongodb作为存储, 可以做分片
--- 共有 1 条评论 ---
lancy_androidmongodb 没用过,不懂,web我没有什么实际经验,之前是搞Android。 2年前 回复
顶部