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)

パフォーマンスを向上させるには、SQL を使用しないソリューションも使用する必要があります。ただし、no-sql のアーキテクチャについてはよくわかりません。

現在、mongodb テーブルを作成することを考えています。ranking_all、、、0 から 99 までのインデックスをranking_today持つranking_weekranking_yesterday

アクティブなユーザーがプレイし、それに応じて経験を積むたびに、mongodb テーブルを更新します。

ただし、よくわからない点がいくつかあります。このシステムでは、アクティブなユーザー ベースが増加すると、mysql および mongodb テーブルの全体的な更新コストが増加します。

では、全体的なアーキテクチャはパフォーマンスの点で優れていますか?

デザインを変更/改善するためのアイデアはありますか?

4

1 に答える 1

1

なぜ NoSQL を使わなければならないのか知りたいです。

ランキングを MySQL に保存しないのはなぜですか? ソフトウェア スタックに新しい依存関係や新しいシステムを導入する必要はありません。

あなたの説明は、NoSQL データベースの利点を必要としないようです。いくつかのランキングを前処理してからどこかに書き込んでいるように聞こえます。MySQLに書き込むだけです。

于 2013-04-08T22:09:56.943 に答える