MongoDB

민지킴·2021년 3월 11일
0

참고 : https://velopert.com/mongodb-tutorial-list

소개

MongoDB는 C++로 작성된 오픈소스 문서지향(Document-Oriented) 적 Cross-platform 데이터베이스이며, 뛰어난 확장성과 성능을 자랑합니다. 또한, 현존하는 NoSQL 데이터베이스 중 높은 인지도를 유지하고 있다.

MongoDB는 대표적인 NoSQL 데이터 베이스 입니다.

데이터 베이스는 RDBMS 와 NoSQL, 이렇게 크게 두 가지로 나누어 볼 수 있습니다.

RDBMS 는 관계형 데이터 베이스로 table 과 table 의 관계로 이루어진 데이터베이스 입니다.

대표적으로는 MySQL, MS-SQL, Oracle 등이 있습니다.

NoSQL 은 Not Only SQL 의 약자로, 기존 RDBMS 의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스입니다.

NoSQL?

의미는 Not Only SQL 입니다. 기존의 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터저장소. 관계형 DB가 아니므로, RDMS처럼 고정된 스키마 및 JOIN 이 존재하지 않는다.

Document?

Document Oriented, 여기서 말하는 Document는 RDMS의 record 와 비슷한 개념인데요, 이의 데이터 구조는 한개이상의 key-value pair 으로 이뤄져있다.
ex)

{
    "_id": ObjectId("5099803df3f4948bd2f98391"),
    "username": "velopert",
    "name": { first: "M.J.", last: "Kim" }
}

Collection?

Collection은 MongoDB Document의 그룹입니다. Document들이 Collection내부에 위치하고 있습니다. RDMS의 table과 비슷한 개념이지만 각 Document들이 동적인 schema를 가지기 때문에RDMS와 달리 schema를 따로 가지고 있지않다.

Database?

Database는 Collection들의 물리적인 컨테이너이다. 각 Database는 파일시스템에 여러파일들로 저장된다.

RDBMS와 MongoDB 비교

  1. Database
  • 데이터베이스는 컬렉션의 물리적 컨테이너 입니다. 하나의 데이터베이스에는 보통 여러개의 컬렉션을 가지고 있습니다.
  1. Collection
  • 컬렉션은 몽고DB Document 의 그룹이며 RDBMS 의 예를 들면 Table 과 개념과 유사합니다.

  • 컬렉션은 단일 데이터베이스에 존재합니다.

  • 컬렉션은 스키마를 강요하지 않습니다. 따라서 컬렉션 내부의 도큐먼트는 서로 다른 필드를 가질수 있습니다.

  • 컬렉션 안에 도큐먼트는 일반적으로 서로 유사한 하거나 관련된 목적이 있습니다.

  1. Document
  • Docuemtn 는 하나의 키(key) 와 값(value)의 집합으로 이루어져 있으며 동적 스키마 입니다.

  • 동적 스키마는 동일한 컬랙션 내의 도큐먼트가 동일한 필드 또는 구조를 가지필요 없을을 의미한다.

  • 그리고 동일한 필드안에 다른타입의 데이타를 보유할수 있음을 의미합니다.

RDBMS				MongoDB
Database          		Database

 Table				Collection
 
 Tuple/Row			Document

 Column				Field

 Table Join			Embedded Documents

 Primary Key		Primary Key ( Default _id )
profile
하루하루는 성실하게 인생 전체는 되는대로

0개의 댓글

관련 채용 정보