본문 바로가기

NoSQL/MongoDB

[MongoDB] MongoDB 란?




[MongoDB 란?]


  1) Humongos라는 회사의 제품 명이었으며 현재 10gen으로 회사명이 변경


  2) JSON Type의 데이터 저장 구조를 제공

    - 데이터 표현 시 괄호를 열고 필드명과 콜론(:) 그리고 데이터 값을 표현  ex) {ename : "홍길동"}

    - 이런 데이터 표현 방식을 JSON(Java Script Object Notation) 이라고 함


  3) Sharding(분산) / Replica(복제) 기능 제공


  4) MapReduce(분산/병렬처리) 기능 제공


  5) CRUD(Create, Read, Update, Delete) 위주의 다중 트랜잭션 처리 가능

    - 관계형 데이터베이스의 주요 기능인 CRUD 위주의 다중 트랜잭션 처리도 가능


  6) Memory Mapping 기술을 기반으로 Big Data 처리에 탈월한 성능 제공

    - MongoDB의 가장 큰 장점 중 하나는 Big Data의 빠른 쓰기와 읽기 작업인데, 

     관계형 데이터베이스 보다 적게는 3배 이상 많게는 10배 이상의 성능이 보장될 수 있는 이유 중 하나가

     메모리 매핑 기술이 제공되기 때문




[용어 설명]




  관계형 데이터베이스와 MongoDB의 논리적 구조에서 사용하는 용어 비교

    - TABLE  ▶  COLLECTION (컬렉션)

    - ROW  ▶  DOCUMENT (도큐먼트)

    - COLUMN  ▶  FIELD (필드)

    - PRIMARY KEY  ▶  OBJECT_ID Field (오브젝트 ID 필드)

    - RELATIONSHIP  ▶  EMBEDDED & LINKING (임베디드 & 링킹)