MongoDB の概要
MongoDB とは何ですか?
MongoDB は C++ 言語で書かれており、分散ファイル ストレージに基づいたオープン ソース データベース システムです。
高負荷の場合は、ノードを追加することでサーバーのパフォーマンスを確保できます。
MongoDB は、WEB アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供することを目的としています。
MongoDB はデータをドキュメントとして保存し、データ構造はキーと値 (key=>value) のペアで構成されます。 MongoDB ドキュメントは JSON オブジェクトに似ています。フィールド値には、他のドキュメント、配列、ドキュメント配列を含めることができます。
主な機能
MongoDB は、比較的シンプルで操作が簡単なドキュメント指向のストレージを提供します。
MongoDB レコード内の任意の属性のインデックス (例: FirstName="Sameer",Address="8 Gandhi Road") を設定して、より高速な並べ替えを実現できます。
ローカルまたはネットワーク上でデータ ミラーリングを作成できるため、MongoDB のスケーラビリティが向上します。
負荷が増加した場合 (より多くのストレージ容量とより強力な処理能力が必要になる)、コンピュータ ネットワーク内の他のノードに負荷を分散できます。これはシャーディングと呼ばれます。
Mongo は豊富なクエリ式をサポートしています。クエリ コマンドは、JSON 形式のタグを使用して、ドキュメントに埋め込まれたオブジェクトと配列を簡単にクエリします。
MongoDb は、update() コマンドを使用して、完成したドキュメント (データ) または一部の指定されたデータ フィールドを置き換えます。
Mongodb の Map/reduce は主にデータのバッチ処理と集計に使用されます。
マップとリデュース。 Map 関数は、emit(key, value) を呼び出してコレクション内のすべてのレコードを走査し、キーと値を処理のために Reduce 関数に渡します。
Map関数とReduce関数はJavaScriptで記述されており、db.runCommandまたはmapreduceコマンドを通じてMapReduce操作を実行できます。
GridFS は、多数の小さなファイルを保存するために使用できる MongoDB の組み込み機能です。
MongoDB では、JavaScript で関数を記述してサーバー側で直接実行することができ、関数定義をサーバー側に保存して次回直接呼び出すこともできます。
MongoDB は、RUBY、PYTHON、JAVA、C++、PHP、C# などのさまざまなプログラミング言語をサポートしています。
MongoDB はインストールが簡単です。
歴史 2007 年 10 月に、MongoDB が 10gen チームによって開発されました。 2009 年 2 月に初めて発売されました。
2012 年 5 月 23 日に、MongoDB2.1 開発ブランチがリリースされました。このバージョンには新しいアーキテクチャが採用されており、多くの機能強化が含まれています。
2012 年 6 月 6 日、分散ドキュメント データベースである MongoDB 2.0.6 がリリースされました。
2013 年 4 月 23 日に、このバージョンにはパフォーマンスの最適化、機能強化、バグ修正が含まれています。
2013 年 8 月 20 日に、最新の安定バージョンである MongoDB 2.4.6 がリリースされました。
MongoDB のダウンロード
インストール パッケージは、mongodb 公式 Web サイト ( http://www.mongodb.org/downloads) からダウンロードできます。 MonggoDB は次のプラットフォームをサポートしています:
OS X 32 ビット
OS ビット
-
Windows 64 ビット
Solaris i86pc
Solaris 64
- MongoDB ツール
-
MongoDB で使用できる管理ツールがいくつかあります。
モニタリング MongoDB は、MongoDB でプラグインとして使用されるネットワークおよびシステム監視ツール Munin を提供します。
Gangila は、MongoDB 用の高性能システム監視ツールです。MongoDB でプラグインとして使用されます。
Cacti は、グラフィカル インターフェイスに基づくオープン ソース ツールで、CPU 負荷とネットワーク帯域幅の使用率を表示するために使用されます。また、MongoDB を監視するためのプラグインも提供します。
GUI
Fang of Mongo – Django と jQuery で構成される Web ベース。
Futon4Mongo – CouchDB Futon Web の mongodb コピーキャット バージョン。
Mongo3 – Ruby で書かれています。
MongoHub – OSX 用アプリ。
Opricot – PHP で書かれたブラウザベースの MongoDB コンソール。
Database Master — Windows 用 mongodb 管理ツール
RockMongo — PHP 言語での最高の MongoDB 管理ツール、軽量、複数言語をサポート
- MongoDB のアプリケーション ケース
企業向け MongoDB の例をいくつか示します。実際の動作:
Craiglist は MongoDB を使用して数十億のレコードをアーカイブします。
FourSquare は、ロケーションベースのソーシャル ネットワーキング サイトで、MongoDB を使用して Amazon EC2 サーバー上のデータを共有しています。
Shutterfly は、インターネット ベースのソーシャルおよび個人パブリッシング サービスであり、さまざまな永続データ ストレージ要件に MongoDB を使用しています。
bit.ly、MongoDB を使用してデータを保存する Web ベースの URL 短縮サービス。 MTV Networks の関連会社である
spike.com は MongoDB を使用しています。
中小企業や個人向けのソフトウェアとサービスのプロバイダーである Intuit は、中小企業向けの MongoDB を使用してユーザー データを追跡しています。
sourceforge.net は、MongoDB バックエンド ストレージを使用して、オープン ソース ソフトウェアを無料で検索、作成、公開するためのリソース Web サイトです。
etsy.com は、ハンドメイド作品を売買するための Web サイトで、MongoDB を使用しています。
大手オンライン ニュース ポータルの 1 つである New York Times は MongoDB を使用しています。有名な素粒子物理学研究所
CERN は、欧州原子核研究センターの大型ハドロン衝突型加速器からのデータに MongoDB を使用しています。