336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MongoDB
- MongoDB를 포함한 모든 NoSQL Solution 들은 관계형 DB가 아님
- NoSQL != RDBMS
- Not Only SQL
- 하나의 데이터를 하나의 문서로 표현함
- 즉 Row(Recode)라는 개념보다 Document라는 개념
- 데이터는 JSON Type으로 저장이 되는데 정형화된 Schema가 없음
- Schema 변경에 따른 대량 작업 (Insert or Update)가 없다
- 유연하고 손쉬운 확장
- 저장해야 할 데이터가 폭발적으로 증가하면서 저장소 및 성능의 확장이 고려될 수 있음
- NoSQL은 성능 확장 또는 분산 확장을 제공
- 성능 확장 : DB 서버의 성능을 향상 (확장의 폭이 큼)
- 분산 환장 : 여러 대의 데이터베이스 서버를 설치해 분산처리 하도록 구성(경제적 저렴)
- 쿼리가 존재하지 않기 때문에 하나의 정보를 문서화 시킨다
- RDB의 무결성 제약의 원칙이 무시됨.
- RDB는 Primary Key(PK)를 “고유값"을 가진 컬럼에 지정함.
- PK <-> FK로 중복을 최소화 한다.
- MongoDB는 고유한 값을 자동으로 만들어 냄.
- 중복을 허용하고 적극적으로 활용한다.
- RDB처럼 JOIN을 이용해 데이터를 가져올 필요가 없음.
- 예 > 정규화하지 않은 Table – Non Atomic Data
- RDBMS 는 정형화된 테이블에 동일한 정보들을 넣고, 다른 정보가 필요할 때 JOIN을 한다.
- 블로그 포스팅을 저장하는 테이블은
- 글쓴이, 제목, 글쓴 날짜, 내용 으로 구성되고, 댓글이나 태그 등은 다른 테이블에 저장한다.
- NoSQL 은 비정형화된 컬렉션에 관련된 정보들을 넣고, 다른 정보가 필요할 때 다른 문서를 찾는다.
- 블로그 포스팅을 저장하는 컬렉션은
- 글쓴이, 제목, 글쓴 날짜, 내용, 댓글, 태그 까지 모두 포함할 수 있다.
- No SQL 개념
- Database
- Collection의 집합
- Collection
- Document의 집합
- Document
- 정보의 집합 Join은 하지 않는다
@ Collection
- RDB에서 Table에 해당된다
- 여러 개의 문서(Document)로 구성
@ Mongo Shell을 이용해 컬렉션 만들기
- > use blog
- switched to dbblog
- > db
- blog
- > db.createCollection("post2")
- { "ok" : 1 }
- >
@ 컬렉션 네이밍
- 컬렉션은 이름으로 식별함.
- 빈 문자열은 사용할 수 없다.
- \0(null 문자)은쓸 수 없다.
- system. 으로 시작하는 컬렉션이름은 사용할 수 없다. (예약어)
- $ 를 쓸 수 없다.
'[ Developer ] > MongoDB' 카테고리의 다른 글
[MongoDB] 몽고디비 데이터 삭제 Remove (0) | 2016.06.23 |
---|---|
[MongoDB] 몽고디비 Insert (0) | 2016.06.22 |
[MongoDB] 몽고디비 문서 형식과 데이터 형 (0) | 2016.06.21 |
[MongoDB] 몽고 디비 툴 Robomongo 로보몽고 설치 (0) | 2016.06.19 |
[MongoDB] 몽고디비 설치 (0) | 2016.06.16 |