0

我需要实现一个需要将 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 表的成本就会增加。

那么,整体架构在性能方面是否良好?

任何改变/改进设计的想法?

4

1 回答 1

1

我很好奇为什么你必须使用 NoSQL?

为什么不将排名存储在 MySQL 中?无需向您的软件堆栈引入新的依赖项/新系统。

您的描述似乎不需要 NoSQL 数据库的任何优点。听起来就像是对一些排名进行了预处理,然后将它们写在某个地方。我只会写信给MySQL。

于 2013-04-08T22:09:56.943 回答