Mongodb 实时统计(示例)。NoSQL 任务

Mongodb 实时统计(示例)。NoSQL 任务,mongodb,performance,redis,nosql,Mongodb,Performance,Redis,Nosql,嗨,我有2-3数千名用户在线。我还拥有拥有用户的组、团队和其他(2-3)实体。所以大约每10秒I 要显示联机统计信息(查询用户和其他实体的各种参数)。我相信,每一个5-30秒用户都可以改变他的状态。每1小时移动到另一个小组或团队或任何地方。我不应该使用什么sql数据库?我没有经验,只是知道没有sql是相当快的,只是读了一些关于Redis、MongoDB、Cassandra的知识 当然,我将此数据模型存储在RDBMS中(在线状态和统计除外) 我考虑下一个解决方案: 将所有数据存储在json中。使用

嗨,我有
2-3
数千名用户
在线
。我还拥有拥有用户的组、团队和其他(2-3)实体。所以大约每
10秒
I 要显示联机统计信息(查询用户和其他实体的各种参数)。我相信,每一个
5-30秒
用户都可以改变他的状态。每
1小时
移动到另一个小组或团队或任何地方。我不应该使用什么sql数据库?我没有经验,只是知道没有sql是相当快的,只是读了一些关于Redis、MongoDB、Cassandra的知识

当然,我将此数据模型存储在RDBMS中(在线状态和统计除外)

我考虑下一个解决方案: 将所有数据存储在json中。使用Redis。前置id前缀(例如“用户”+用户id)

你会推荐或建议什么?查询这些数据方便吗? 也许我可以使用一些流行的标准算法来查询统计数据(例如百分比统计的蒙特卡罗算法,我不知道)。感谢您可以使用Redis 2.8.9中添加的功能。 这描述了如何非常有效地计算一些看起来与您需要的非常相似的统计数据

user_id:{"status":"123", "group":"group_id", "team":"team_id", "firstname":"firstname", "lastname":"lastname", ... other attributes]}

group_id:{users:[user_id,user_id,...], ... other group attributes}
team_id:{users:[user_id,user_id,...], ... other team attributes}
...