Mongodb-overview

提供:Dev Guides
移動先:案内検索

MongoDB-概要

MongoDBは、高性能、高可用性、および容易なスケーラビリティを提供するクロスプラットフォームのドキュメント指向データベースです。 MongoDBは、コレクションとドキュメントの概念に基づいて機能します。

データベース

データベースは、コレクションの物理的なコンテナです。 各データベースは、ファイルシステム上の独自のファイルセットを取得します。 通常、単一のMongoDBサーバーには複数のデータベースがあります。

コレクション

コレクションは、MongoDBドキュメントのグループです。 これは、RDBMSテーブルと同等です。 コレクションは単一のデータベース内に存在します。 コレクションはスキーマを強制しません。 コレクション内のドキュメントには、異なるフィールドを含めることができます。 通常、コレクション内のすべてのドキュメントは、類似または関連する目的のものです。

資料

ドキュメントは、キーと値のペアのセットです。 ドキュメントには動的スキーマがあります。 動的スキーマとは、同じコレクション内のドキュメントが同じフィールドまたは構造のセットを持つ必要はなく、コレクションのドキュメント内の共通フィールドが異なるタイプのデータを保持できることを意味します。

次の表に、RDBMSの用語とMongoDBの関係を示します。

RDBMS

MongoDB

データベース

データベース

コレクション

タプル/行

資料

カラム

フィールド

テーブル結合

埋め込み文書

主キー

主キー(MongoDB自体によって提供されるデフォルトのキー_id)

データベースサーバーとクライアント

mysqld/Oracle

モンゴド

mysql/sqlplus

モンゴ

サンプル文書

次の例は、ブログサイトのドキュメント構造を示しています。これは、単純にコンマ区切りのキーと値のペアです。

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview',
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.finddevguides.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100,
   comments: [
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}
*_id* は、すべてのドキュメントの一意性を保証する12バイトの16進数です。 ドキュメントを挿入するときに_idを指定できます。 指定しない場合、MongoDBはすべてのドキュメントに一意のIDを提供します。 これらの12バイトは、現在のタイムスタンプの最初の4バイト、マシンIDの次の3バイト、MongoDBサーバーのプロセスIDの次の2バイト、残りの3バイトは単純な増分値です。