Mongodb-overview
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バイトは単純な増分値です。