2011-08-01 11 views
3

私たちは、アクティブなデータやログインしているユーザーなどを保存するRedisから始めました。リアルタイムデータの受け渡しには、いくつかのpubsubも使用しています。MongoDBとRedisを一緒に使用していますか?

最近私たちは地理空間のニーズに合わせてMongoを追加しました。これは非アクティブなデータにとっても素晴らしいようです。

これらの2つはどのように連携しますか?両方を使うのは気が気になりませんか?彼らが活発になったとき、mongoからredisへのデータのチャンクを渡すことは愚かですか?

私たちはすべてをmongoに保存することができましたが、ユーザーがアクティブでデータにアクセスする可能性がある場合、mongoからredisにユーザーデータを渡すことが考えられました。私はMongoがこのようにいくつかのキャッシュを行っていることを知っています。私たちは両方とも新しいので、どうしたら一緒に使うべきかを知りたいだけです。

ありがとうございます!

答えて

5

両方を使用するのは馬鹿ですか?彼らが活発になったとき、mongoからredisへのデータのチャンクを渡すことは愚かですか?

実際、この質問をテストして検証するには合法的だと感じています。 Redisは基本的には「メモリ内」のDBなので、RAMをMongoに与えることでどれくらい良いことができますか?

歴史的に、Memcache/MySQLコンボを使用して、基本的にMySQLにRAMを追加し、必要な書き込み量を制限しています。 MySQLを破るのは複雑だったので、これを単純に行いました。

ただし、MongoDBはシャーディングメカニズムを提供します。だから、単にシャードを追加するだけで問題に「RAMを追加する」(「ディスクを追加する」)ことができます。

メモリマップされたファイルが動作する方法のおかげで、MongoDBは最近使用されたデータをメモリに保持する傾向があります。最近のデータをRedisに引っ張っているなら、そのデータはおそらくMongoDB側のメモリにもあるでしょう。そのため、2つの場所にあることから利益を得ることは明らかではありません。

ダムそれは...いくつかのテストと解析せずに言うのは難しいです

。 MongoDBは実際にpub/subのメカニズムを持っていませんが、クエリ時間が速い傾向がありますので、特定の場所で適切かもしれません。

+0

私たちはどちらも異なる理由で両方が好きであり、私たちがそれらを使用するために大きく働いています。おそらく両方を使い続けるでしょう。私たちは、彼らが知的にパスをどこを通過するかを理解するだけです。洞察に感謝します! – fancy

関連する問題