这问卷调查数据量太大了,不搞分表的话有没有别的解决途径?

2018-07-03 21:45:36 +08:00
 abcbuzhiming
现在有这么个需求,20w 左右的用户,经常要全体参加做调查问卷,这个问卷的题目有 100 道左右,都是选择题,但是最终有一个需求,就是统计出,每道题,有多少个人选了 A,多少人选了 B,多少人选了 C。。。。按传统的做法那就得把每个人每道题的答案作为一条记录存贮在一张表里,然后 group by。但是算了一下数据量,有点惊人:
做一次卷纸就会产生 200000*100 =2000w 条数据。。。做 10 张调查就 2 亿条记录了,100 次调查就 20 亿。这有点囧啊
3973 次点击
所在节点    问与答
25 条回复
FanWall
2018-07-04 11:03:53 +08:00
@xmh51 #19
可以呀,… where iFlag & 3 = 3
xmh51
2018-07-04 11:10:42 +08:00
@FanWall 哦 知道了 不过你这个是全表扫的那种。不过是一种路子,
agostop
2018-07-04 11:25:16 +08:00
一个人一条肯定不行,一道题一条差不多。

我们也有类似的需求,只是数据量不大,就硬 groupby,看了下楼上的回帖,感觉也就是用触发器实时统计能好点

但是触发器有 bug 的话,很难排查,一般很少用
MiffyLiye
2018-07-04 12:27:51 +08:00
a. Events + Stream Processor. Kafka/EventStore/... + Storm/Spark/...
b. MapReduce. Hadoop/Hive/...
c. 抽样统计. 用样本估计总体
vZexc0m
2018-07-05 09:43:32 +08:00
每次问卷完毕后做缓存,因为结果是不会变化的,不用实时统计。

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

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

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

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

© 2021 V2EX