MongoDBとRedisを比較

    「MongoDB」と「Redis」の概要

    「MongoDB」と「Redis」は、NoSQLデータベースです。

    ■「MongoDB」とは

    MongoDBは、スキーマレスのNoSQLドキュメント指向データベースです。

    「NoSQLの高パフォーマンス」と「RDBMSの有用性」がバランスよく組み込まれているデータベースで、「クエリ」と「インデックス」を使用でき、「柔軟性」「スケーラビリティ」「高可用性」「スケーラブル(水平スケールアウト)」「分散データベース」「大量データの高速処理」を実現します。

    ■「Redis」とは

    Redisはインメモリベースのキーバリューモデル型NoSQLデータベースです。

    メモリ内データ構造ストアとして、コンピュータのメインメモリ上にキーバリューストアを構築し、外部のプログラムに対してデータ保存/読み出しなどの機能を提供します。非常に高速なアクセスが可能で、データ永続化機能も備えています。

    データベース構造比較

    ■MongoDB

    MongoDBは、スキーマフリーのデータを格納するためにJSONライクなドキュメントを使用します。ドキュメントのコレクションは事前に定義された構造を持つ必要はなく、列はドキュメントごとに異なります。

    MongoDBには「表現豊かなクエリ言語」や「強力な一貫性」など、リレーショナルデータベースが持つ多くの機能があります。また、スキーマフリーであるため、「最初にドキュメント構造を定義する必要がない」というメリットがあります。

    ■Redis

    Redisは「キー」と「値」のペアを持つデータを格納するためにキーバリューストアを使用します。この構造は、行と列を特徴とするテーブルを持つリレーショナルデータベースとは異なります。

    また、Redisは「リスト」「ソートセット」「ハッシュ」「文字列」「セット」「ビットマップ」など、より高度なデータ構造も提供します。

    インデックス機能比較

    ■MongoDB

    MongoDBではインデックスを使用して読み取り速度を高速化できます。

    インデックス設定がない場合は、すべてのドキュメントに対してコレクション内で検索する必要があるため、読み取り時間が遅くなります。

    ■Redis

    Redisでは「二次インデックス」を設定できます。ソートセットを使用してこれらのインデックスを作成できます。

    また「高度な副次インデックス」「グラフ走査インデックス」「複合インデックス」も可能です。

     

    参考元サイト

    ※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

    「MongoDB」基本情報

    ■概要

    MongoDB(モンゴデービー)とは、スキーマレスのドキュメント指向データベースです。「NoSQLの高パフォーマンス」と「RDBMSの有用性」がバランスよく組み込まれているデータベースです。

    ■基本説明

    MongoDBは、NoSQLドキュメント指向データベースです。「クエリ」と「インデックス」を使用でき、「柔軟性」「スケーラビリティ」「高可用性」「スケーラブル(水平スケールアウト)」「分散データベース」「大量データの高速処理」を実現します。

    データをフレキシブルなJSONライクなドキュメントデータとして保存します。データをドキュメントとしてそのまま格納でき、データの一部更新も可能です。

    ■経緯

    ・2009年 初版リリース

    ■ユースケース

    MongoDBは、次のようなケースに向いています。
    ・スキーマを事前定義できないケース
    ・高速処理が求められるケース

    一方、次のようなケースには向いていません。
    ・トランザクション処理を多用するケース
    ・厳密なデータ整合性が求められるケース
    ・データ間リレーションが多いケース

    ■オフィシャルサイト情報

    オフィシャルサイト

    →MongoDB(Welcome to the MongoDB Community)

    ライセンス情報

    MongoDBのライセンスは「SSPL(Server Side Public License)v1.0+他」です。

    詳細について、こちらを参照ください。
    →MongoDB →MongoDB Licensing

    ダウンロード

    MongoDBは、Linux/Windows/macOSをサポートし、クラウド環境にも対応しています。

    →MongoDB →MongoDB Download Center

    導入事例

    →MongoDB →Flexible enough to fit any Industry(Successful innovators across the globe)

    ■同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「Apache Cassandra」「Apache Hbase」「Neo4j」など。


    「Redis」基本情報

    ■概要

    Redis(レディス)とは、インメモリベースのキーバリューモデル型NoSQLデータベースです。メモリ内データ構造ストアとして非常に高速なアクセスが可能で、データ永続化機能も備えています。

    ■基本説明

    Redisは、メモリ上で動作するキーバリュー型データベースです。コンピュータのメインメモリ上にキーバリューストアを構築し、外部のプログラムに対してデータ保存/読み出しなどの機能を提供します。

    「インメモリ高速アクセス」「データ構造サーバ」「永続化機能」などの特徴を持ちます。

    「データ構造サーバ」は、TCPソケットとシンプルなプロトコルを持つサーバクライアントモデルを使用して送信される一連のコマンドによって、変更可能なデータ構造にアクセスできる機能を提供します。したがって、Redisにアクセスする各種アプリケーションは、データ構造に対して同一の方法でアクセスできます。

    ■動作環境

    RedisはC言語で実装されており、「Linux」「OS X」「OpenBSD」「NetBSD」「FreeBSD」などでコンパイルして使用できます。

    「ビッグエンディアンアーキテクチャ」「リトルエンディアンアーキテクチャ」「32ビット」「64ビット」の各システムをサポートし、外部依存関係なしで動作できます。

    ■経緯

    ・2009年 初版リリース

    ■ユースケース

    Redisは、特にRDBMSが苦手とする領域で大きな効果を発揮します。
    ・データストレージ
    ・セッションキャッシュ
    ・フルページキャッシュ
    ・メッセージキューアプリケーション
    ・メッセージブローカー
    ・リーダーボード
    ・出力キャッシュ
    ・非同期高速キュー処理
    ・閲覧数カウンター
    ・リアルタイムランキング集計
    ・最新記事タイトル一覧リアルタイム出力
    ・末尾/先頭から特定件数を削除/フィルタ
    ・1:nに配信するメッセージモデル

    また、多くの企業やサイトで採用されています。
    ・GitHub
    ・Amazon Web Services
    ・Azure
    ・Stack Overflow など

    ■オフィシャルサイト情報

    オフィシャルサイト

    →Redis

    ライセンス情報

    Redisのライセンスは「三条BSDライセンス+他」です。

    詳細について、こちらを参照ください。
    →Redis →Redis license and trademark information

    ダウンロード

    →Redis →Download

    導入事例

    →Redis →Who's using Redis?

    ■同様製品

    同様な機能を提供する製品として、次のようなものがあります。

    オープンソース製品:「Memcached」など。