• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • MongoDB 구조
        2023년 05월 18일
        • starryeye
        • 작성자
        • 2023.05.18.:20
        반응형

        MongoDB 의 구조에 대해 알아보자

         

        관계형 DB와 용어간 매핑하여 MongoDB 구조 알아보기

        RDBMS MongoDB
        Database Database
        Table Collection
        Row Document
        Column Field

         

        MongoDB Database

        MongoDB의 Database 단위는 관계형 DB의 Database 단위와 같다.

        관계형 DB에서 Table 집합이 Database 인데,

        MongoDB에서는 Collection 집합이 Database라 보면 된다.

         

        MongoDB 인스턴스 를 생성하면

        처음에 무조건 생성되어있는 것은 admin, local, config 3가지 Database 가 생성되어있다.

        이는 MongoDB 를 관리하는데 사용되는 기본 설정 Database 이다.

        Database Description
        admin 인증과 권한 부여에 관련된 역할을 담당
        local oplog, startup_log 와 같은 정보를 저장
        config sharded cluster 에서 각 shard의 정보를 저장한다.

         

         

        MongoDB Collection

        관계형 DB의 Table 단위와 같다.

        MongoDB에서 Document 집합이 Collection 이다.

         

        관계형 DB에서 Table은 엄격한 스키마를 가지고 있지만,

        MongoDB는 자유로운 스키마를 가진다.

         

        예를 들자면,

        RDB 에서는 Table 스키마가 정의 되어있어야 데이터를 넣을 수 있지만

        MongoDB 에서는 Collection에 대한 스키마가 정해져 있지 않은 상태에서

        데이터(Document)를 집어넣으면 자동으로 Collection이 생성된다.

         

        하지만, MongoDB 에서

        Collection 단위로 Index를 생성할 수 있고

        Collection 단위로 Shard를 나눌 수 있으므로

        어느정도 일관된 스키마를 가져야할 필요는 있다.

         

         

        MongoDB Document

        RDB의 column이 모인 row에 해당하는 개념으로

        MongoDB는 Field가 모이면 Document 가 된다.

        (실제 데이터에 해당)

         

        Document 는 JSON 형태로 표현하고

        BSON 형태로 저장된다.

         

        모든 Document는 "_id" 라는 Field 가 존재하는데 key 역할을 한다.

        명시적으로 생성해주지 않으면 ObjectId 타입의 고유값을 할당한다.

         

        Document 를 생성할 때, 상위 구조인 Collection, Database 를 지정하지 않으면

        상위구조가 먼저 만들어지고 Document가 만들어진다.

         

        Document는 스키마에 제약이 없기 때문에 한없이 커질 것을 우려하여..

        최대 크기는 16MB 로 제약이 있다.

        반응형

        'DataBase > NoSQL' 카테고리의 다른 글

        Redis 시작해보기  (0) 2023.06.01
        MongoDB Sharded Cluster  (0) 2023.06.01
        MongoDB Replica Set  (0) 2023.05.20
        MongoDB 3가지 형태  (0) 2023.05.20
        MongoDB 시작해보기  (0) 2023.05.18
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바