ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MongoDB] MongoDB 특징
    NoSQL/MongoDB 2022. 3. 8. 09:55
    반응형

    MongoDB 소개 

    • 10gen 사에서 개발한 솔루션(C++)
    • key-value와 다르게 여러 용도로 사용이 가능(범용적)
    • 스키마를 고정하지 않는 형태
    • 스키마 변경으로 오는 문제없음
    • 데이터를 구조화해서 json 형태로 저장(데이터를 key-value화 저장)
    • Join이 불가능하기 때문에 Join이 필요 없도록 데이터 설계 필요

     

    MongoDB 특징

    • 메모리맵 형태의 파일엔진 DB이기 때문에 메모리에 의존적
      - 메모리 크기가 성능을 좌우
      - 메모리를 넘어서는 경우 성능이 급격히 저하됨
    • 쌓아 놓고 삭제가 없는 경우 적합
      - “로그 데이터”
      - “이벤트 참여 내역”
      - “세션”
    • 트랜잭션이 필요한, 금융, 결제, 빌링, 회원 정보 등에는 부적합

     

    도큐먼트 데이터 모델

    • 속성의 이름과 값으로 이루어진 쌍의 집합
    • 속성은 문자열이나 숫자, 날짜 가능
    • 배열 또는 다른 도큐먼트를 지정하는 것도 가능함
    • 하나의 document에 필요한 정보를 모두 담아야 함
    • one query로 모두 해결이 되게끔 collection model 설계를 해야 함
    • Join이 불가능하므로 미리 embedding 시켜야 함

     

    도큐먼트 형태의 구조

    JSON (JavaScript Object Notation)

    • lightweight data 교환 형식
    • 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉬움
    • JavaScript의 Array 문법으로 데이터 구조를 기술하는 방법으로 XML이 가지는 유연성과 구조적 데이터 표현 기능을 확보하면서, XML이 가진 오버헤드를 줄이는 방법으로 사용됨
    • 클라이언트에서 처리 퍼포먼스 높음
    • XML이 표현하는 구조적인 정보 모두 표현 가능
    • 송수신 데이터로 XML를 사용하는 것에 비해 훨씬 빠르고, 간편함

     

    JSON 표기법

    • 각 객체는 중괄호({})로 시작하고 끝남
    • 문자열과 값으로 구성되어 있고 콜론(:)으로 구분
    • 각 멤버들은 콤마(,)로 구분
    • 값은 object, string, number, array, true, false, null 사용 가능
    • 문자의 경우엔 따옴표를 사용하고, 숫자의 경우 따옴표를 사용하지 않음
    • 배열의 경우 대괄호([])로 시작하고 끝나며 각 값은 콤마(,)로 구분

     

    MongoDB 장점/단점 : https://tychejin.tistory.com/349
    MongoDB 주요 기능 : https://tychejin.tistory.com/350

    출처 : https://tacademy.skplanet.com

     

    반응형

    댓글

Designed by Tistory.