MongoDBとは

menu icon

MongoDBとは

ここでは、エンタープライズ・データベース管理ソリューションの一環としてMongoDBを使用する際の機能とメリットを説明します。

MongoDBとは

MongoDB (ibm.com外部へのリンク) は、オープンソースの非リレーショナル・データベース管理システム(DBMS)で、表や行の代わりに柔軟性に優れた文書を使用して、さまざまな形式のデータを処理、保存します。 NoSQLソリューションであるMongoDBは、リレーショナル・データベース管理システム(RDBMS)を必要としないため、多変量データ型の保存と照会が簡単に行える柔軟なデータ・ストレージ・モデルです。 このため、開発者のデータベース管理が簡素化されるだけでなく、クロスプラットフォームのアプリケーションやサービス向けに拡張性の高い環境も構築できます。

MongoDBの文書や文書コレクションが、データの基本単位となります。 バイナリー型JavaScript Object Notation(JSON)の形式を持つこれらの文書は、さまざまな種類のデータを格納し、複数のシステムに分散して配布できます。 MongoDBは動的なスキーマ設計を採用しているため、データ・レコードの作成、MongoDB集計による文書コレクションの照会、大量の情報の分析などの際に、他に類を見ない柔軟性を発揮します。

MongoDBと他のデータベースの比較

現在は、非常に多くのデータベース管理ソリューションが提供されているため、企業にとって適切なソリューションを選択するのが困難になっています。 ここでは、一般的なソリューションの比較と最適な使用例を紹介しますので、判断材料として参考にしてください。

MongoDBとMySQLの比較

MySQL(ibm.com外部へのリンク) は、構造化クエリー言語を使って保管データにアクセスします。 この形式では、スキーマを使用してデータベース構造を作成し、データ型を標準化する方法としてテーブルを使用することで、値を適切に検索、照会できるようにします。 成熟度の高いソリューションであるMySQLは、Webサイトのデータベース、アプリケーション、市販製品の管理など、さまざまな状況に役立ちます。

トランザクション・データの管理など、データの完全性と分離が不可欠な場合は、固定的な性質を持つMySQLの方がMongoDBより望ましいと言えます。 しかし、MongoDBは形式上の制約が少なく高いパフォーマンスを発揮するため、特に可用性とスピードを重視する場合には、より良い選択肢となり得ます。

MongoDBとCassandraの比較

Cassandra(ibm.com外部へのリンク) とMongoDBは、どちらもNoSQLデータベースと考えられていますが、それぞれ長所が異なります。 Cassandraは行と列を備えた従来型のテーブル構造を採用しているため、コンパイル前のデータのフォーマットの際に、ユーザーが統一性と耐久性を維持できるようになっています。

Cassandraは、SQLに似た構文規則を持っているため、NoSQLソリューションを探している企業にとっては移行が簡単です。また多くの構成を行わなくても、展開と複製を確実に処理できます。 しかし、構造化と非構造化データ・セットを扱うMongoDBの柔軟性や、基幹業務のクラウド・アプリケーションにも対応できる性能と信頼性に匹敵するとは言えません。

ユースケース

モバイル・アプリケーション

MongoDBのJSON文書モデルでは、バックエンドのアプリケーション・データを、Apple iOSやAndroidデバイス、さらにクラウド・ベースのストレージ・ソリューションなど、どこでも必要な場所に保管できます。 この柔軟性により、セカンダリー・インデックスと地理空間インデックスを使用して複数の環境にわたるデータを集計できるため、開発者はモバイル・アプリケーションをシームレスに拡張できます。

リアルタイム分析

企業が業務を拡大する際に、大量のデータ・プールから重要な指標やビジネス上の洞察を入手できることは非常に重要です。 MongoDBは、JSONやBSONなどのJSONに似た文書をJavaオブジェクトに簡単に変換できるため、複数の開発環境にまたがるリアルタイムな情報を分析する際に、MongoDBでのデータの読み書きを高速かつ非常に効率的に実行できます。 これは、行政機関、金融サービス、小売業など、さまざまなビジネス分野で有益であることが証明されています。

コンテンツ管理システム

コンテンツ管理システム(CMS)は、eコマース・サイト、オンライン刊行物、文書管理プラットフォーム、その他のアプリケーションやサービスにアクセスする際に、優れたユーザー体験を確保するために重要な役割を果たす強力なツールです。 MongoDBを使用することで、単一のデータベースで高可用性を維持しながら、オンライン・アプリケーションやWebサイトに新しい機能や属性を簡単に追加できます。 

エンタープライズ・データウェアハウス

Apache Hadoopフレームワークは、Hadoop Distributed File System(HDFS)やHadoop MapReduceなどのオープンソース・モジュールの集合体で、MongoDBと連携して大量のデータを保管、処理、分析できます。 組織は、MongoDBとHadoopを併用して、リスク・モデリング、予測分析、リアルタイムのデータ処理を実行できます。

メリット

MongoDBは、時間の経過と共に、拡張性の高いNoSQLデータベースを求める多くの企業にとって信頼できるソリューションとなっていますが、 従来の文書ベースのデータベースを超えた存在であり、他のDBMSと一線を画す素晴らしい機能を誇っています。

ロード・バランシング

企業のクラウド・アプリケーションの規模が拡大し、リソースの需要が増加すると、サービスの可用性と信頼性を確保する際に問題が生じる可能性があります。 MongoDBのロード・バランシング 共有プロセスは、複数の仮想マシン 全体に大規模なデータ・セットを一度に分散させながら、読み取りと書き込みのスループットを許容範囲内に維持します。 この水平スケーリングは「シャーディング」と呼ばれ、企業はハードウェアの垂直スケーリングのコストを回避しながら、クラウドを活用した展開の容量を拡張することができます。

アドホックなデータベース・クエリー

MongoDBを他のデータベースと比較して最も優れている点は、事前定義のスキーマを必要としないアドホックなクエリーを処理できることです。 MongoDBデータベースは、SQLデータベースに似たクエリー言語を使用しており、初心者から上級者まで幅広い層の開発者にとって非常に親しみやすいデータベースと言えます。 このように使い勝手が良いため、一般的なヘルプ・メソッドや簡単なシェル・コマンドで、データのプッシュ、クエリー、ソート、更新、エクスポートを簡単に実行できます。

複数言語サポート

MongoDBの優れた点の1つに、複数言語のサポートがあります。 MongoDBは複数のバージョンがリリースされており、Python、PHP、Ruby、Node.js、C++、Scala、JavaScriptなど、一般的なプログラミング言語をサポートしたドライバーが継続的に開発されています。

導入とセットアップ

導入には、 MongoDBのインストールとデータベースの作成という2つの主要な作業が必要です。

MongoDBのインストール

データベースの作成

MongoDBをインストールしたら、データを格納するディレクトリーを作成する必要があります。 これはローカルで行うことも、パブリックまたはプライベートなクラウド・ストレージ・ソリューションを通じて行うこともできます。 MongoDBの使用を開始するための詳細な情報は、こちら(ibm.com外部へのリンク) をクリックして、包括的なガイド、チュートリアル、ウォークスルーを参照してください。

MongoDBとIBM

マルチクラウド 環境との統合を進めながらNoSQLデータベースを管理するより良いソリューションを求めている組織にとって、IBM Cloud® Databases for MongoDB は、企業のあらゆるニーズに対応できる柔軟で拡張性の高いソリューションを提供します。 MongoDBの強力なインデックス作成機能とクエリー作成機能を、フルマネージドで安全なIBMのクラウド構成で活用することで、企業のデータベース管理に高い持続性と安全性を兼ね備えたソリューションを実現できます。

IBM Cloudコンソールにネイティブに統合され、可用性を備えたDatabases for MongoDBは、インフラストラクチャー全体のデータ構造を維持、調整、監視する際に、シームレスな自動化機能を実現します。 エンタープライズ開発とデータベース管理におけるIBMの長年の経験を利用すれば、チームは企業の安全性、コンプライアンス、拡張性、信頼性が適切に確保されていることを認識しながら、顧客にとってより優れた、革新的なソリューションの作成に集中できます。

エンタープライズ環境でのMongoDBの導入がどれほど簡単か、またチームの効率をどのように最大化できるかに関する詳細は、IBM Cloud Databases for MongoDBを参照してください。

MongoDBについてさらに詳しい情報は、「データベースの詳細: MongoDB」をご覧ください。

IBMはMongoDBとパートナー提携し、MongoDB Enterprise Serverに包括的なサポート、セキュリティー、高度なソフトウェア・ツールを加えたパッケージ「MongoDB Enterprise Advanced」も提供しています。 MongoDB Enterprise Advancedは、完全に統合されたマルチクラウドのデータAIプラットフォームであるIBM Cloud Pak® for Dataのアドオンとして利用可能です。 また、IBM Data Management Platform for MongoDB Enterprise Advancedを使用して、x86、IBM Power®、IBM Z®環境向けの既存のデータ管理ソリューション に統合することもできます。

IBMidの登録とIBM Cloudアカウントの作成