mongoDBのようなNoSQLデータベースを使用する場合、Memcacheを推奨するかどうかを知りたいです。MongoDBを使用する場合、Memcacheは推奨されますか?
答えて
のmemcacheを使用しての概念は、あなたが「余分を持っているという考えから、茎RAM "のどこかに座っている。 MongoDBとMySQL(そして大半のDB)は、1MBのRAMをすべて利用できます。
非常に一般的なMySQL/Memcacheの場合、Memcacheを使用すると、クエリの高速化よりもサーバー上のクエリの負荷が軽減されることがよくわかっています。優れたmemcacheの実装は、基本的には最も一般的なデータをメモリに保持して、データベースサーバをより大きなものに変えることができます。
は実際には、それはのmemcacheの使用は一般的に、システムの性能を維持する memcacheの上依存になることを私の経験をされています。
元の質問に戻ると、余分なRAMはどこにありますか?
Webサーバーに余分なRAMがある場合は、Memcacheを使用することができます。もちろん、MongoをWebサーバー上でローカルに実行することもできます。マスターから必要なデータをスレーブするだけです。
他のコンピュータに余分なRAMがある場合は、memcacheを使用する上でのポイントはありません。あなたのMongoDBレプリカセットまたはシャードにもっと多くのノードを追加するだけです。これは、MongoDBが実際に輝く場所です。シャーディング/レプリケーションのため、MongoにRAMをさらに追加してパフォーマンスを向上させることができます。 SQLでは、結合がうまく拡張されないため、「サーバーを追加するだけ」は非常に困難です。しかし、Mongoでは、単に問題に「ノードを追加する」ことが可能です。
最初はありません。パフォーマンスの問題が発生した場合は、後でキャッシングレイヤー(memcache)を追加してください。 Redisはすでにメモリにすべてのデータを保存しているので、Redisを使用する場合は何も得られません。
MongoDBは、とにかくすべてのものをメモリに保存し、キーバリューベースのシステムですが、MongoDBは柔軟性があり、BSONオブジェクトを自分自身の中に格納できると考えています。
(ただ、明確化のために、MongoDBのは、オブジェクト内のオブジェクトが含まれ、そのすべてのデータを格納するため、BSON、JSONの特殊な形式を使用しています。)
答えは、使用例によって異なります。
一般に、RAMへのアクセスはディスクへのアクセスよりも数桁高速です。
最速のSSDドライブでさえ、RAMよりもアクセスが約100倍遅くなります。
ここで、Mongoがキャッシュシステムを持っているか(ほとんどの場合そうです)、または追い出しポリシーがあるのかどうかはわかりませんが、プログラマーとしては私が保存/取り出し、削除できるキャッシュを好むでしょうアイテムを自由に使用できます。したがって、私はMongoでもキャッシュソリューションを使用する方が好きです。
要約すると、実際にはこれらのソリューションを使用しているかどうかによって異なります。すべての可能な使用をカバーする答えはありません。
- 1. raw SQLクエリでのみ使用されている場合でもSQLAlchemyは推奨されますか?
- 2. getmap()は推奨されず、getmapAsyncを使用しますか?
- 3. mongodbの 'updateMany'機能は推奨されていませんか?
- 4. メディエーターパターンの使用は推奨されていますか?
- 5. MongoDB getDatabaseNames()非推奨
- 6. Zend_Cacheを使用した場合の推奨キャッシュディレクトリとは何ですか?
- 7. スイングコンポーネントがフェードアウェイトリックを使用している場合は推奨されていませんか?
- 8. varパラメータが推奨されていない場合のremoveAtIndexの使用方法
- 9. viewDidUnloadが推奨されない場合、viewDidLoadのペアメソッドは何ですか?
- 10. Androidの場所は推奨されていませんか?
- 11. ネストされたオブジェクトをパラメータとして推奨するREST APIは推奨されていますか?
- 12. Reactを使用している場合、Meteorでコメントスタイルを使用することを推奨します。
- 13. ESLint:anglejsアプリケーションで推奨されるデフォルトのルールを使用する
- 14. Visual Studioで推奨されるメソッドパラメータを使用するコード
- 15. 推奨パッケージを使用する場合のNAMESPACEとDESCRIPTIONの設定
- 16. Javaアプリケーションの場合/ケース推奨
- 17. ネクサスデータを保存するのに推奨される場所
- 18. Foursquare API - 推奨されない場所を無効にする
- 19. 推奨されるWebストレステストシナリオ
- 20. 推奨されるIDEが
- 21. .NETでのリフレクションの使用が推奨されるのはなぜですか?
- 22. SymfonyデベロッパーでXdebugはまだ推奨されていますか?
- 23. レガシー基準APIはまだ推奨されていますか?
- 24. MongoDbでダイナミックコレクションを使用する場合
- 25. Mongodb C++ドライバ - リンクエラー:推奨されないboost :: stystem :: get_generic_category()を使用しています
- 26. 使用非推奨メソッド
- 27. {%block extraBody%}の推奨/推奨使用方法
- 28. 最後に表示されたアイテムが複数ある場合の推奨
- 29. 警告: "pecl/mongo"は "channel:/// mongodb"の方が推奨されていません
- 30. Nim `警告:再使用は推奨されていません.`、代わりに何を使用しますか?
この機能は、mongoDBのようなものです。 –
この回答は不正確です.MongoDBはキーバリューストアではなく、すべてをRAMに格納していません。異なる。 – Sammaye