如果是采用mysql数据库做投票统计,方法一:会采用text类型的字段存放用户的user_id,但是不好拓展,用户量大了之后或者用户id大了之后字段就容纳不了了,只适合用户量小的时候
方法二:也会采用多对多的设计[id,teacher_id,day,user_id],一次投票就是一条记录,这样比较方便拓展,但是数据量会比较大请问还有没有更好的方法?或者还能用其他数据库方便做投票统计的
业精于勤,荒于嬉;行成于思,毁于随。
Redis集合 比较适合
可以使用Redis 简单计数器实战
Redis常见七种使用场景(PHP实战)
一、建议考虑使用MongoDB;MongoDB提供了极限性能以及强大的功能:
1、极限性能:分布式系统,横向扩展能力强;
2、强大的功能方面,例如在NoSQL领域中领先的统计分析能力,MongoDB的aggregation做的很优秀。
MongoDB是在性能扩展和强大功能两个价值取向上平衡做的领先的NoSQL数据库。
二、同时,MongoDB的数据模型设计是一件令人愉悦和简单易行的事情,直接面向您的查询/增/删/改的需求来设计您的数据模型。
1、中小应用设计的collection的数量不需要太多,以满足业务需求为主,不需要过度担心数据冗余;
2、MongoDB的数据模型设计主要是两种思路:
1)嵌入思路embedding; 大部分情况下,使用嵌入思路建模; 2)关联思路referencing; 一般在担心单个文档过大(超过16M)的时候考虑; 或者有对嵌入的文档有单独查询/操作等需求的时候,才考虑;
三、针对您的需求:
您可以考虑将投票的信息保存在数组中,并设置field记录总数; 大概情形如下: {_id: xxx: xxx: count:(记录总数) Voter:[{id: xxx: time:}] }
您具体开始数据模型设计时,可以进一步交流。
Love MongoDB!Have Fun!
戳我<--请戳左边,就在四月!MongoDB中文社区深圳用户大会开始报名啦!大神云集!
Redis集合 比较适合
可以使用Redis 简单计数器实战
Redis常见七种使用场景(PHP实战)
一、建议考虑使用MongoDB;MongoDB提供了极限性能以及强大的功能:
1、极限性能:分布式系统,横向扩展能力强;
2、强大的功能方面,例如在NoSQL领域中领先的统计分析能力,MongoDB的aggregation做的很优秀。
MongoDB是在性能扩展和强大功能两个价值取向上平衡做的领先的NoSQL数据库。
二、同时,MongoDB的数据模型设计是一件令人愉悦和简单易行的事情,直接面向您的查询/增/删/改的需求来设计您的数据模型。
1、中小应用设计的collection的数量不需要太多,以满足业务需求为主,不需要过度担心数据冗余;
2、MongoDB的数据模型设计主要是两种思路:
三、针对您的需求:
您具体开始数据模型设计时,可以进一步交流。
Love MongoDB!Have Fun!
戳我<--请戳左边,就在四月!MongoDB中文社区深圳用户大会开始报名啦!大神云集!