2017-11-19 12 views
0

私はこれに関して簡単な説明が必要です。Redis Shardingパフォーマンスとo(1)getキーの複雑さ

  1. Redisのは、GETキーのその時の複雑iはキーが同じで得るため1,000,000または1,000,000,000,000,000時間のキーと値のペアを持っているかどうか、Oこのように(1)

  2. であると主張しています。

私の質問は今の意味(メモリが問題ではない場合、私は、およそ10億キーと値のペアを保持する必要があり

である私はそれだけ保持するのに十分なメモリを単一のサーバーを持っていると仮定データ)、シャーディングの利点はありますか?つまり、レコード全体を保持する単一のredisインスタンスに対して、1億のレコードを保持する10個のredisインスタンスに対して、この10億のKey-Valueペアを分離するパフォーマンス上の利点がありますか?あなたの予想される応答のための

ありがとうを

答えて

1

それは(理想的にはシャードごとに1つずつ)複数のCPUコアを使用することができるように、パフォーマンスの面でシャーディングするための明確な利点があります。 (ほとんど)シングルスレッドなので、単一インスタンスのRedisはコアを1つしか使用できません。シャーディングは、展開の並列性を効果的に向上させ、パフォーマンスに積極的に貢献します(ただし、管理上のオーバーヘッドに追加されます)。

関連する問題