MongoDB


注意:https://velopert.com/mongodb-tutorial-list

紹介する


MongoDBは、C++を使用して作成されたドキュメント向けのオープンソースクロスプラットフォームデータベースであり、優れた拡張性とパフォーマンスを備えています.また、既存のNoSQLデータベースでは高い知名度を維持しています.
MongoDBは典型的なNoSQLデータベースです.
データベースには、RDBMSとNoSQLの2つのクラスがあります.
RDBMSは、テーブルとテーブルの関係からなるリレーショナル・データベースです.
典型的な例としては、MySQL、MS-SQL、およびOracleがあります.
NoSQLはNot Only SQLの略で、既存のRDBMSの限界を克服するために作成された新しいデータベースです.

NoSQL?


意味はNot Only SQLです.従来のRDBMSの限界を克服するための新しいデータ・リポジトリ.リレーショナルデータベースではないので、RDMSのように固定されたアーキテクチャやJOINはありません.

Document?


Document Oriented向けで、ここでいうDocumentはRDMSのrecordと似た概念であり、そのデータ構造は1つ以上のkey-value対から構成されている.
ex)
{
    "_id": ObjectId("5099803df3f4948bd2f98391"),
    "username": "velopert",
    "name": { first: "M.J.", last: "Kim" }
}

Collection?


CollectionはMongoDB Documentのグループです.DocumentはCollectionの内部にあります.RDMSのテーブルと似ていますが、ドキュメントごとにダイナミックモードがあるため、RDMSとは異なり、個別のモードはありません.

Database?


データベースは集合の物理コンテナです.各データベースは、複数のファイルとしてファイルシステムに格納されます.

RDBMSとMongoDBの比較

  • Database
  • データベースは、集合の物理コンテナです.1つのデータベースには通常、複数のセットがあります.
  • Collection

  • 集合はモンゴルDB Documentのグループであり,RDBMSにおけるTable概念と類似している.

  • 集合は単一のデータベースに存在します.

  • コレクションはモードを強制しません.したがって、コレクション内のライブラリには異なるフィールドがあります.

  • コレクションには通常、類似または関連する目的があります.
  • Document

  • Docuemtnは、ダイナミックモードであるキーと値のセットから構成されます.

  • ダイナミックモードは、同じラック内のドキュメントが同じフィールドまたは構造を持つ必要がないことを意味します.

  • これは、同じフィールドに異なるタイプのデータを保持できることを意味します.
  • RDBMS				MongoDB
    Database          		Database
    
     Table				Collection
     
     Tuple/Row			Document
    
     Column				Field
    
     Table Join			Embedded Documents
    
     Primary Key		Primary Key ( Default _id )