memcacheのとRedisの、MongoDBの利点と欠点とアプリケーションのシナリオ

1.mongodbポート(27017)

(1)BSON構造を使用して、非リレーショナルデータベースのドキュメントタイプです。利点は、大量のデータを格納することが可能な、そのクエリがより強力である、欠点は、比較的メモリを消費しています。

(2)等が一般的にセカンダリインデックスをサポートするために、半構造化データを格納するために使用することができる見直し。JSON型はデータを格納するようになって、頻繁に変更されません。

  長所

  • ドキュメントストレージ構造は、データへのより便利なアクセスすることができ
  • 内蔵GridFS、大容量のストレージをサポート
  • 内蔵シャーディング、簡単なフラグメント
  • 大量のデータ、優れた性能
  • 自動フェイルオーバー(レプリケーションセット)をサポート

  短所

  • これは、トランザクション操作をサポートしていません。
  • あまりにも多くのスペースを取ります
  • MongoDBはMySQLのような洗練されたメンテナンスツールとしてではありません
  • 、クエリに関連することができないマルチリレーショナルデータには適用されません。
  • 遅い複合体を作成することによって、MapReduceの重合操作、
  • フリーモード、ファイル保存形式のデータエラーの自由度と柔軟性を持参

  アプリケーションシナリオ

     

2.redisポート(6379)

(1)メモリ・データベースを、メモリに格納されたデータを、TCPを介して直接アクセス、利点は、高い読み出し及び書き込み性能です。

(2)RedisのKV-メモリデータベースが(データが編成されているキーと値のストアデータベース、索引付け、状況に応じて、キーと値のペアが格納されている)、二次インデックスがサポートされていないが、サポートリスト、設定およびその他のデータフォーマット。読書のためのグローバル変数を格納し、より少ないビジネスシナリオを書くのに適しています。これは、キャッシュに適しています。

   長所

  • これは、複数のデータ型の文字列、リスト、セット、ZSET、ハッシュをサポートしています
  • データがディスクに書き込まれ、(AOF、スナップショット)永続的なままにすることができ、
  • 災害復旧、マスタースレーブのレプリケーションをサポートしています。ホストは自動的に読み取りおよび書き込みが行われてもよい別個のスレーブにデータを同期します。
  • 良好なパフォーマンスを読み書きします。

   短所

  • マスターとスレーブマシンは、読者のフロントエンドの故障につながるときRedisのは、手動機械またはIPを再起動する必要があるのフロントエンドを自動耐障害性と回復をサポートしていません。
  • ダウンホスト、マスタデータレプリケーションプロセスから、データが完全にスレーブにコピーされない、データの矛盾が発生します。
  • グループがオンライン展開が複雑になっているデータの限界に達したときのRedis難しく、オンライン拡張をサポートします。

   アプリケーションシナリオ

  • リレーショナル・データベースはキャッシュを行います
  • 高周波数データバッファ、データベースIOを減らします
  • 分散型アーキテクチャ、共有セッションを行います

   例:

     例えば、マイクロチャネルトークンを2時間ごとに更新し、より便利な読み取りRedisの貯蔵に適しています。

     オンラインゲームのランキング、一定時間後のタイミング表示関連する広告を、時間ユーザーの投票によると、ソート、ニュースを更新。

     一定の特性時間でポストの記事で特定のユーザーの統計情報にアクセスする特定のリソースにアクセスするユーザの数に関する具体的な統計。

 

3.Memcachedは、データベースの負荷を低減する動的なWebアプリケーションのための高性能な分散メモリオブジェクトキャッシュシステムです。これは、メモリ内のオブジェクトによってデータベースから読み込まれたキャッシュデータの数を削減し、データベース駆動型のWebサイトの動的な、スピードを提供することです。店舗のキー/値のペアのハッシュマップに基づくmemcachedを。ポート(11211)

   長所

  • 災害復旧の一部は:このmemcacheのサーバーがハングアップした場合、それはを生じさせる可能Gaosiデータベースであるので、一つだけmemcacheのを仮定し、その要求は、データベースに影響を与えていきます「雪崩」。そのうちの一つが、ハングアップ、または要求の一部であってもよい場合には一貫性のハッシュアルゴリズムを使用してmemcacheのは、いくつかの時間を勝つためにシステムを修復するためには、memcacheのに当たるので、あなたは、複数のmemcacheサーバを使用している場合。
  • 容量の問題:memcacheのサーバー容量が限られているあなたは、キャッシュサイズを増やし、複数のmemcacheサーバを使用することができます。
  • 均衡要求:あなたはバランスの取れたを要求し、すべての要求は、サーバーがハングアップする原因と、memcacheのサーバーに突入さを避けることができ、複数のmemcacheサーバを使用しています。
  • memcacheの分散性を使用した:memcacheのは、サーバー、データの分散する性質を利用し、memcacheのを使用していません。

   短所

  • ストレージが持続することはできません
  • データストレージには限界がある:1Mは、(メモリチップ)[1Mより大きい、行を分割検討します]
  • mmのキーと値のストアデータのみ
  • クラスタデータの複製と同期メカニズム[データベースからデータを取得するプログラムには影響しませんノークラッシュ]
  • 削除して不活性である未使用のメモリー「期限切れのメモリー」最低使用メモリ:メモリは、時間LRU(アルゴリズム)で回収することができません

   アプリケーションシナリオ

  • 分散キャッシュ
  • データベースの前のキャッシュ
  • サーバー間でデータの共有

 

おすすめ

転載: www.cnblogs.com/mzhaox/p/11308840.html