Mongo DB? (feat. vs SQL)

https://yongineer.duckdns.org/mongoDB/title.png

Intro

  • C++로 작성된 문서지향적 크로스 플랫폼 데이터베이스
  • 뛰어난 확장성과 성능

No SQL?

  • SQL이 없는것이 아님
  • Not Only SQL이 핵심
  • 기존 RDBMS의 한계를 뛰어넘기 위해 만들어진 새로운 형태의 데이터 베이스
  • 관계형 DB가 아니므로 고정된 스키마와 JOIN이 존재하지 않는다

Document

  • RDBMS의 레코드와 비슷한 개념
  • 데이터 구조는 Key:Value형태로 이루어져 있다.
{
	"_id" : ObjectId("5ffdd9cfb98851a7adad7e84"),
	"author" : "jim",
	"title" : "Brewing Methods"
}

💡_id

  • 12Bytes의 hexadecimal
  • 각 문서의 유일한 값을 제공하며 자동 생성되나 insert시 지정함으로써 커스텀이 가능하다.

    > db.users.insert({"_id" : "jim", "email" : "jim@email.com"})
    { "_id" : "jim", "email" : "jim@email.com" }
  • 자동 생성된_idtimestamp, machine id, process id, 순차번호로 이루어져 있어 추가 될 때마다 값이 높아진다.

Collection

  • Document의 그룹
  • 문서들이 Collection내부에 위치하고 있다.
  • RDBMS의 table과 비슷하지만 스키마를 따로 갖고 있지 않는다.

Database

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

SQL과 비교해보기

https://yongineer.duckdns.org/mongoDB/3.jpg


Written by@Yongineer
Backend Developer

GitHubInstagram