我需要实现一个需要将 mysql 和 nosql 一起使用的任务。我已经实现了 mysql 表。但是,我不确定nosql的架构。
服务器根据经验要求每天、前一天(昨天)、一周和所有时间输出最成功的100人。
mysql 表有 2 个表,user
& score
。
user
表有以下字段;user_id(BIGINT)
&full_name(BIGINT)
score
表有以下字段;user_id(BIGINT)
, level(INT)
, total_exp(BIGINT)
, today_exp(BIGINT)
,weekly_exp(BIGINT)
为了获得更好的性能,我还应该使用 no-sql 解决方案。但是,我不确定 no-sql 的架构。
我目前正在考虑创建 mongodb 表;ranking_all
, ranking_today
, ranking_week
,ranking_yesterday
索引从 0 到 99。
每当活跃用户玩游戏并获得相应经验时,我都会更新 mongodb 表。
但是,有些地方我不确定。在这个系统中,如果活跃用户基数增加,整体更新 mysql & mongodb 表的成本就会增加。
那么,整体架构在性能方面是否良好?
任何改变/改进设计的想法?