MongoDB 개요
Database
Collection
Document
CRUD Document
관계형 DBMS와 MongoDB의 차이는 위 표와 같다. 테이블은 콜렉션, 행은 document, 열은 filed가 된다.
예
사용자가 블로그나 웹사이트를 위한 데이터베이스 설계가 필요하다고 가정한다.
다음과 같은 요구사항이 있다.
1. Every post has the unique title, description and url
2. Every post can one or more tags
3. Every post has the name of its publisher and total number of likes
4. Every post has comments given by users along with their name, message, data-time and likes
5. On each post, there can be zero or more comments
RDBMS 스키마에서 위 요구사항을 위한 설계는 최소 3개의 테이블이 필요하다.
반면에, 몽고 DB 스키마에서 설계는 하나의 collection post와 다음과 같은 구조를 가진다.
속성 : 값, 키 : 값으로 이루어져 있는 객체를 표현한다고 생각하면 될 것 같다.
객체를 나타내기 위해 중괄호 {}를 사용하고 그 안에 여러가지 키 값 쌍들이 있다. tags 키같은 경우에는 값에 대괄호 []가 있는데 이는 리스트, 배열이라고 생각하면 된다. tags에는 TAG1, TAG2, TAG3가 있다는 의미이다. comments 키를 보면 값에 대괄호가 있고 또 그 안에는 중괄호 쌍이 2개 있다. [ { } , { } ] 이렇게. 이것의 의미는 comments 키의 값이 배열이고 그 배열 안에 2개의 객체가 있다는 것이다. 역시 객체 안에는 여러가지 키 값 쌍이 존재한다.
JSON에 대해 더 알고 싶다면 JSON에 관한 문서
데이터베이스란? 콜렉션들을 위한 물리적인 컨테이너
각 데이터베이스는 파일 시스템에서 해당 데이터베이스의 파일 set을 얻는다.
How to create database? use DATABASE_NAME;
만약 데이터베이스 이름이 한글이라면 use 한글;
한글이라는 데이터베이스가 없다는 가정하에 생성되며 만약 이미 존재한다면 존재하는 데이터베이스를 리턴한다.
'과목 > 빅데이터' 카테고리의 다른 글
MongoDB 개요 (0) | 2018.04.27 |
---|---|
MongoDB installation 몽고디비 설치 (0) | 2018.04.21 |
Aggregation (0) | 2018.04.20 |
Indexing (0) | 2018.04.20 |
NoSQL Databases (0) | 2018.04.19 |