V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aoliz
V2EX  ›  数据库

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

  •  
  •   Aoliz · 2015-03-17 21:52:18 +08:00 · 1791 次点击
    这是一个创建于 3548 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    这句话不是你说的么?所以我来问了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1112 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.