2011-02-06 9 views
0

SQLベースのデータベースではなく、大きなデータベースでRedisDBを使用できますか?大きなデータベースにRedisDBを使用できますか?

私はRedisDBアーキテクチャが本当に好きです。私は現在、RedisDBが仮想メモリをサポートしています。

しかし、私は今どのくらい速いのですか?

PS私が大きなデータベースと言うとき、私は本当に大きな意味ではありません。メモリに置くことができない、一部のサイトのDBだけ。

答えて

2

すべてはアプリケーションによって異なります。 RedisはKey-Valueストアです。あなたのデータがリレーショナル形式で保存されていてキー検索に役立たないのであれば、それは本当にあなたのための解決策ではありません。また、レディスはメモリに保存されたときに最高のパフォーマンスを発揮します。トランザクションが重要な場合は、実際には良い解決策でもありません。私はレディスを使用していますが、それは大好きですが、レディスが適していないアプリケーションでは、多くの人々が靴ひねりを起こそうとしているようです。あなたがウェブページ、コメント、つぶやきなどのものを保存しているなら、私はMongoDBのようなドキュメントストアも考えています。実装の詳細を追加する必要があります。

+0

お返事ありがとうございます。しかし、私はまだ、メモリ内のレディスについてはまだまだです。私は仮想メモリの性能について尋ねました。 Redisのメモリ内で、仮想メモリのキャッシュのように、問題はありません。 – uhbif19

+0

また、私はトランザクションについてあなたを理解していません。私が知っているように、RedisはACIDトランザクションを良好にサポートしています。 – uhbif19

+0

いいえレディスは確かにACIDではなく、トランザクションもしません。また、あなたのデータベースはメモリに収まらないと言いました。私のコメントは、メモリに収まるデータセットに最適です。 Redisは現在VMを使用しないようにリファクタリングされています。 –

2

Redisの仮想メモリのパフォーマンスは、頻繁に使用される値がすべてメモリに収まる場合、あまり一般的でないコンテンツの場合はディスクの読み込みが行われても、メモリ内に完全なデータセットを持つことと大きな違いはありません。あなたのアクセス要件が完全にランダムで、値がディスクから読み込まれた後に一度だけ読み込まれる場合、ディスクからファイルを読み込むよりもパフォーマンスが向上しません。もちろん、どのキャッシュソリューションもそのようなシナリオでは問題を抱えています。

Redisのために設計する際に考慮すべき点がいくつがありますが、しかし、VM:

  • すべてのキーがそれらの値がない場合でも、メモリ内に収まるようにする必要があります。これは、値が大規模なシリアライズされたオブジェクトの場合はうまく動作しますが、値が単一の数値または短い文字列であり、実際にキーよりも小さい場合はそれほどうまくいかない場合があります。

  • VMを使用すると、保存プロセスが少し異なります。私は詳細を思い出すことはありませんが、いつディスクに書き込まれることが保証されているかを考慮する必要があります。

関連する問題