[MongoDB]Mongo DB

MongoDB

Mongo DB

  • NoSQL

Database

  • 데이터베이스는 Collection들의 물리적 컨테이너.
  • 각 데이터베이스는 파일시스템에서 파일들의 집합
  • 일반적으로 하나의 mongo DB 서버는 여러개의 데이터베이스를 가짐

Collection

  • Document들의 집합.
  • RDBMS의 table과 동일한 개념
  • shema 없음
  • 한 Collection 안의 document들은 서로 다른 필드를 가질 수 있음
  • 일반적으로, 한 Collection 안의 document들은 비슷하거나 연관된 목적을 가짐

Document

  • RDBMS의 record와 유사한 개념
  • JSON object 형태의 key-value의 쌍으로 이루어진 데이터 구조
  • 다이나믹한 schema를 가짐 : 같은 collection이어도 다른 field, structure를 가질 수 있음
  • value : 다른 document, array, document array가 포함 가능

Sample Document

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview',
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.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
      }
   ]
}

  • 각 document는 _id라는 고유값을 가짐(12byte의 16진수)
    • 시간(4byte)/머신id(3byte)/프로세스id(2byte)/순차번호(3byte) 로 구성되면 값의 고유성을 보장
RDBMSMongoDB
DatabaseDatabase
TableCollection
Tuple/RowDocument
columnField
Table JoinEmbedded Documents
Primary KeyPrimary Key (Default key _id provided by mongodb itself)
Database Server and Client 
Mysqld/Oraclemongod
mysql/sqlplusmongo

참조

  • tutorials point : https://www.tutorialspoint.com/mongodb/mongodb_overview.htm
  • Poiemaweb : https://poiemaweb.com/mongdb-basics