よくある質問・用語集

デージーネットTOP > よくある質問・用語集 > 用語集 > MongoDBとは

  • もっと調べる

MongoDBとは

MongoDBはオープンソースソフトウェアのNoSQLサーバである。Apache 2ライセンスの下で公開されている。

MongoDBの名前に含まれる "Mongo" は、巨大という意味をもつ単語 "Humongos" からきている。

インメモリで動作するため、高速なデータI/Oが可能となっている。また、データの分散配置やレプリケーションを行うことも可能となっており、スケーラビリティ・アベイラビリティの高いデータベースを構築することができる。

MongoDBを利用すると、高速なデータ処理が必要なシステムを構築することができる。ただし、RDBMSのようにデータの結合処理を行うことができないため、ソフトウェア選定時には考慮する必要がある。

MongoDBには以下のような特徴がある。

ハイアベイラビリティ

レプリカセットと呼ばれる冗長構成を組むことができ、高可用性を備えている。
レプリカセットを組んだ場合、データはメインとなるプライマリサーバに保存され、セカンダリサーバにもコピーされる。レプリカセットを作成すれば、1台のサーバが障害で停止してもデータを失うことがなくサービスを継続できる。

負荷分散

シャーディングと呼ばれる、データを複数のサーバに分散して保存する機能を備えている。
導入後に負荷が増加してサーバのパフォーマンスが低下した場合でも、サーバの台数を増やすことで、スケールアウトを行うことができる。

高速処理

高速なデータ処理ができる。
ただし、高速でデータ処理を行うことができる反面、RDBMS(Relational DataBase Management System)で利用できるトランザクションやデータ結合を行うすることはできない。

導入のしやすさ

MongoDBでは、RDBMSのようにデータの形式を決めておく必要がないため、容易にシステムを導入できる。

外部連携

JSON形式でデータを保存しており、検索結果もJSON形式で出力される。このため、容易に外部システムと連携することができる。

MongoDBの用途

MongoDBは以下のようなシステムへの導入が適している。

    • 大量にあるデータを高速に処理したい
    • スモールスタートから初めてアクセス数増加に合わせてデータベースをスケールアウトしていきたい
    • データの冗長化を行いたい

デージーネットの取り組み

デージーネットでは、絶対に失ってはいけないデータを扱うとき、高速なデータベース検索が必要なとき等でMongoDBを推奨している。以下のようなMongoDBを使用したシステム構築の実績がある。

    • 4セットのMongoDBを使用したシステムを構築
    • 用途に合わせて2~3台のサーバを使用
    • それぞれ、レプリケーション、負荷分散を機能を有効にして、冗長化、負荷分散を実現

【カテゴリ】:ビッグデータ  オープンソースソフトウェア  

  • もっと調べる

関連用語

MongoDBに関連するページ(事例など)


デージーネット用語集のページです。「MongoDB」という用語と関連情報について説明します。「MongoDB」について情報を収集する際、サービスをご検討いただく際などに用語集ページをお役立てください。

MongoDBとは先頭へ