ホームページ  >  記事  >  データベース  >  mongodb と redis のどちらが優れていますか?

mongodb と redis のどちらが優れていますか?

silencement
silencementオリジナル
2019-06-10 09:42:134713ブラウズ

mongodb と redis のどちらが優れていますか?

redis とは何ですか?

Redis は、ANSI C 言語で書かれたオープンソースのログタイプの Key-Value 非リレーショナル データベースで、ネットワークをサポートし、メモリベースで永続化でき、複数の言語で API を提供します。 redis はキーと値のストレージ システムです。 Redis は非リレーショナル データベースの一種で、キャッシュとしてよく使用されます。

Memcached と同様に、string (文字列)、list (リンク リスト)、set (コレクション)、zset (並べ替えられたセット - 順序付けられたセット)、および hash (ハッシュ タイプ) など、比較的多くの保存された値の種類をサポートします。これらのデータ型はすべて、プッシュ/ポップ、追加/削除、交差、結合、差分などの豊富な操作をサポートしており、これらの操作はすべてアトミックです。これに基づいて、redis はさまざまな並べ替え方法をサポートします。

memcached と同様に、効率を確保するために、データはメモリにキャッシュされます。違いは、redis が定期的に更新されたデータをディスクに書き込むか、追加のレコード ファイルに変更操作を書き込むこと、そしてこれに基づいてマスターとスレーブ (マスターとスレーブ) の同期が実現されることです。

redis の利点

1. 文字列 (文字列)、リスト (二重リンク リスト)、辞書 (ハッシュ) など、さまざまなデータ構造をサポートします。 table)、set (セット)、zset (ソート セット)、hyperloglog (カーディナリティ推定)

2. 永続化操作をサポートし、データ バックアップまたはデータ リカバリのために aof および rdb データをディスクに永続化できます。データの損失を防ぐため。

3. レプリケーションによるデータ レプリケーションのサポート。マスター スレーブ メカニズムにより、データをリアルタイムで同期的にレプリケートでき、マルチレベル レプリケーションと増分レプリケーションがサポートされます。マスター スレーブ メカニズムは重要な手段です。 Redis が HA を実行できるようにします。

シングルスレッドのリクエストでは、すべてのコマンドがシリアルに実行され、同時実行状況でのデータの整合性の問題を考慮する必要がありません。

4. メッセージのサブスクリプションと通知に使用できるパブリッシュ/サブスクライブ メッセージ サブスクリプション メカニズムをサポートします。

5. 単純なトランザクション要件をサポートしていますが、業界では使用シナリオがほとんどなく、成熟していません。

mongodb とは何ですか?

MongoDB は、分散ファイル ストレージに基づくデータベースです。まず、xml、json、bson 型のデータを格納できる文書データベースについて説明します。同時に、MongoDB は C 言語で書かれています。 WEB アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供するように設計されています。リレーショナル データベースと非リレーショナル データベースの中間の製品であり、非リレーショナル データベースの中で最も機能が豊富で、リレーショナル データベースに最も似ています。

サポートされるデータ構造は非常に緩やかで、json に似た bson 形式であるため、より複雑なデータ型を格納できます。 Mongo の最大の特徴は、サポートされているクエリ言語が非常に強力であることです。その構文はオブジェクト指向のクエリ言語に似ています。リレーショナル データベースの単一テーブル クエリと同様のほとんどの機能を実装でき、インデックス作成もサポートしています。データの。

mongodb の利点

Mongodb は mysql とは異なります。mysql のすべての更新操作はハードディスクに直接書き込まれますが、mongo はそうではありません。メモリ データベース、データ操作 最初にメモリに書き込まれ、その後ハードディスクに永続化されますが、MongoDB はファイルの断片化を防ぐために事前に割り当てられた領域を使用するため、MongoDB のデータ ファイルは非常に大きくなります。

mongodbの最大の特徴

(1) ドキュメント指向 (2) 高パフォーマンス (3) 高可用性 (4) 容易な拡張 (5) 豊富なクエリ言語

以上がmongodb と redis のどちらが優れていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。