应用统计-数据库设计

lancy_android 发布于 2016/10/30 00:35
阅读 309
收藏 1

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

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

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

id    mac    appKey    ip version    regDate

record用户存储访问记录

id mac visitDate

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



加载中
0
魔力猫
魔力猫

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

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

lancy_android
lancy_android
谢谢,我先试着做一下。
0
黑狗
黑狗

定时出报表

前台只查看报表(结果)


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


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