DB or file?

s
suiyuekeqi
楼主 (北美华人网)
需要做一个APP,要记录用户的使用记录(比如看了哪个模块,点击了那个button, 等等),是用DB存储呢,还是文件好?目的是以后要分析数据, 比如看哪个模块受欢迎,录像看了多久,等等。有没有做过的,给建议一下?
m
minqidev
Log file, cvs格式保存就行了
Y
YYFLy
你要存本地还是cloud? 建议存cloud。可以看看amplitude, mixpanel 等等类似service
s
suiyuekeqi
回复 2楼 minqidev 的帖子
用DB有什么问题吗?想着可以做各种search
s
suiyuekeqi
回复 3楼 YYFLy 的帖子
想着存DB in the cloud, 但不知道会不会write太多有问题,因为要记录每一个操作
g
gokgs
好像 google analytics 专门做这个的?
g
gokgs
suiyuekeqi 发表于 2024-04-18 20:23
回复 3楼 YYFLy 的帖子
想着存DB in the cloud, 但不知道会不会write太多有问题,因为要记录每一个操作

that is a good problem to have. for most people, you probably will not have much traffic at all.
g
gvtt
用户少的时候 实时往云存 不是问题。多了 是个大问题 。看你描述 要记录的操作还不少呢。多的时候 只能且必须优化,比如N秒往server存一次,发送前先存本地,数据包里有前N秒的所有操作,还要想法优化数据包大小。 后台架构不可能一次定下来 是根据负载慢慢调整的
s
suiyuekeqi
回复 8楼 gvtt 的帖子
现在就是不知道到底有多少数据要存,目前想定到底是存在DB里还是文件里,你说的后台架构是不是指的这方面?
s
suiyuekeqi
回复 7楼 gokgs 的帖子
其实并不知道是不是有很多traffic,现在只是在决定到底存在哪里,你有什么建议吗?
s
suiyuekeqi
回复 6楼 gokgs 的帖子
我们想把analytics 集成在app里,所以要决定怎么存数据
g
gvtt
回复 9楼 suiyuekeqi 的帖子
存在server的db或file 都行。
C
Cumberbitch
suiyuekeqi 发表于 2024-04-18 19:49
需要做一个APP,要记录用户的使用记录(比如看了哪个模块,点击了那个button, 等等),是用DB存储呢,还是文件好?目的是以后要分析数据, 比如看哪个模块受欢迎,录像看了多久,等等。有没有做过的,给建议一下?

看你的具体需求了
s
suiyuekeqi
回复 13楼 Cumberbitch 的帖子
能展开说说吗?
g
gokgs
回复 6楼 gokgs 的帖子
我们想把analytics 集成在app里,所以要决定怎么存数据
suiyuekeqi 发表于 2024-04-18 21:01

自己做, 要弄个 service, collect 起来, data payload 就是 serialized json object 就好了, 一个 field 可以有nested object to include more info.
for example: { "timestamp": 123000, "event_type": "click", "ip_address": "xxxxx", "page_name" : "main page", "location": {"lattitude": 123, "longtitude : -40} }
过来之后, 简单的放到一个 log file 就可以了,当然要 定期的备份, rotate。 然后你怎么处理都行, 没几行数据, 用 vi 看看就够了, 哈哈。
s
suiyuekeqi
回复 15楼 gokgs 的帖子
谢谢这么详细的解释,我们也是想着用JSON,比较灵活,目前在考虑存在一个log table 的column
s
suiyuekeqi
顶一下