问卷调查网站后台是如何存储收集的数据的?

2015-03-17 21:52:18 +08:00
 Aoliz

大家可能接触过Google 在线表单以及国内的几家提供问卷调查服务的平台,挺好奇他们是如何存储调查结果数据的。自己目前想到的几种可能方法:

a) 收集的数据存在在标准化的数据库表,比如
form_id, record_id,question_id, answer

一个form会有好几个问题(也允许临时增加),所有的回答放在answer这个column里(用文本,或者特定编号以减少数据量)。同一个form,同一次提交采用相同的record_id。

后台呈现报表做统计的时候从好几张table里取数据来 join ... 但是感觉效率会比较低?

b) 自定义的数据文件
存在数据库里or硬盘上...

c) 在数据库里为每一张问卷生成一个表
好像最省事,不过这种方案可能性应该很低很低吧。

1805 次点击
所在节点    数据库
12 条回复
virusdefender
2015-03-17 21:55:13 +08:00
以前做过简单的问卷 存储的是json 大数据量可以使用nosql
hging
2015-03-17 22:00:58 +08:00
存json不就行了. 比如标题是什么. 然后里面就随便定了.
Aoliz
2015-03-17 22:06:52 +08:00
原来so easy, 谢谢楼上各位
zhwei
2015-03-17 22:08:32 +08:00
对这个问题也很感兴趣,如果存json,用mongo更方便吧。
invite
2015-03-17 22:10:40 +08:00
@zhwei json 怎么就 mongo 更方便了?
liuhaotian
2015-03-17 22:11:21 +08:00
国外一个收费的machform实现方式是创建数据表,每张表都建立足够的column来存储各项问题答案,一些表分别存储问题、标题、逻辑、特殊输入框等等。
你可以看看他们的源码。
liprais
2015-03-17 22:47:46 +08:00
需要Join就效率低的概念是从哪里来的.....
xbb7766
2015-03-18 06:08:10 +08:00
Join怎么就效率低了。
关键看代码怎么写,还有机器别太破。要不然nosql也够累。
invite
2015-03-18 11:25:02 +08:00
@liuhaotian 他的收费版跟开源版代码是同一套?
typcn
2015-03-18 12:02:36 +08:00
这种东西为什么要用关系数据库

用 MongoDB 啊,天生无字段限制
liuhaotian
2015-03-18 12:36:58 +08:00
@invite 我没见过他的开源版… 他有开源版?有的话你可以看看创建一张表单数据库什么架构… 然后再判断…
invite
2015-03-18 13:02:27 +08:00
@liuhaotian 你可以看看他们的源码。

这句话不是你说的么?所以我来问了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX