我需要在系统中存储项目的投票(按 id)。我估计它会有大约 500 万张选票。每张选票包括:
- 投票项目的id
- 用户数据1
- 用户数据2
- 约会时间
“userdata”字段将用于在投票结束时检测作弊者。投票期间,所有选票均应登记。
我需要能够检索两种信息:
- 大约每1分钟)每个“投票项目的id”有多少票
- 大约每 1 小时)在将一些过滤器应用于“用户数据”字段后,每个“投票项目的 id”有多少票(比如两者在某个日期时间间隔内必须是唯一的,或类似的东西)......我不想要能够以 SQL 查询的形式编写这些过滤器...我想遍历所有约 500 万票并创建一个新的表/数据结构,该结构将具有结果,然后将其返回给应用程序
插入投票应该没什么大不了的(大约每秒 2 次,所以我想任何数据库都可以很好地处理它)
我倾向于使用 mongoDB 之类的东西,因为迭代 DB 和创建过滤器需要“脚本”。但也许它可以通过存储过程上的 SQL 或键值(Redis?5mi 投票应该适合小于 2 GB 的 RAM)数据库来解决?