MongoDB は MySQL に似ており、フィールド インデックスとカーソル操作をサポートしています。その利点は、比較的強力なクエリ機能があり、JSON データのクエリに優れていることです。大量のデータを保存できます。 、ただし取引には対応しておりません。
Redis は、複数のタイプのデータ構造をサポートし、データベース、キャッシュ、メッセージ キュー ブローカーとして使用できる、オープン ソース (BSD ライセンス) のインメモリ データ構造ストレージ システムです。
MongoDB と Redis の違いは何ですか
1. メモリ管理メカニズム
Redis データはすべてメモリに保存され、定期的にディスクに書き込まれます。メモリが足りない場合は、指定された LRU アルゴリズムを選択してデータを削除できます。
MongoDB のデータは、Linux システムの mmap によって実装されたメモリに保存されます。メモリが足りない場合は、ホット データのみがメモリに置かれ、他のデータはディスクに保存されます。
2. サポートされるデータ構造
Redis は、ハッシュ、セット、リストなどを含む幅広いデータ構造をサポートします。
MongoDB は比較的単純なデータ構造ですが、豊富なデータ式とインデックスをサポートしており、リレーショナル データベースに最も似ており、幅広いクエリ言語をサポートしています。
3. データ量とパフォーマンス:
物理メモリが十分な場合、redis>mongodb>mysql
物理メモリが十分でない場合、redis と mongodb の両方が仮想メモリを使用します。
実際、redis が仮想メモリを開始したい場合は、メモリ スティックを追加するかデータベースを変更する必要があることは明らかです。
ただし、mongodb は異なります。企業がホット データとコールド データの読み取り/書き込み比率を保証できる限り、ホット データの物理メモリ内での mmap 交換は少なくなります。
mongodb は引き続きパフォーマンスを保証できます。
4. パフォーマンス
mongodb はメモリに依存しており、TPS が高く、Redis はメモリに依存しており、TPS が非常に高くなります。 Redis はパフォーマンスの点で MongoDB よりも優れています。
5. 信頼性
Mongodb はバージョン 1.8 から binlog モードを採用し (MySQL もこの方法を採用しています)、永続性をサポートし信頼性を向上させます。
Redis はスナップショットに依存しています。永続性、AOF は信頼性を向上させます。信頼性を向上させる一方で、アクセス パフォーマンスに影響を与えます。
MongoDB は、信頼性の点で Redis よりも優れています。
6. データ分析
mongodb にはデータ分析機能 (mapreduce) が組み込まれていますが、Redis はこれをサポートしていません。
7. トランザクション サポート
Redis トランザクション サポートは比較的弱く、トランザクション内の各操作が継続的に実行されることのみを保証できますが、mongodb はトランザクションをサポートしていません。
8. クラスター
MongoDB クラスター テクノロジーは比較的成熟しており、Redis は 3.0 以降のクラスターをサポートします。
推奨される関連ビデオ チュートリアル: 「MongoDB チュートリアル 」、「Redis チュートリアル 」
以上がMongoDB と Redis の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。