SlideShare a Scribd company logo
1 of 15
Download to read offline
2장 시작 하기
문서Document
컬렉션Collection
데이터베이스Database
문서              Document
정렬된 key/value쌍의 집합

key 는 string 형
value 는 data 형 (뒤에 설명)

JavaScript로 표현한 예 
  { "greeting" : "Hello, world!", "foo" : 3 }
  { "foo" : 3, "greeting" : "Hello, world!" }




                                                1/3
컬렉션               Collection
문서의 모음
MongoDB       DBMS
문서 document   행 raw
컬렉션 collection 테이블 table

하나의 컬렉션 내 문서들이 모두 다른 구조를 가질
수 있다. (스키마가 없다.)
 {"geeting" : "Hello}
 {"foo" : " 5}
                               2/3
하지만 특정 종류의 문서를 따로
컬렉션화 하는게 좋다. 

이유 1.

   1. 쿼리가 특정 종류의 문서를 반환한다.    
   2. 쿼리가 다른 종류의 문서를 반환한다.
      코드가 다른 종류의 문서를 다룬다.

   1번이 편하다.




                          2/3
하지만 특정 종류의 문서를 따로
컬렉션화 하는게 좋다. 

이유 2.


 1. 각 컬렉션별로 목록을 뽑는다.
 2. 한 컬렉션 내 특정 데이터형별로 쿼리해 목록을 뽑는다.

 1번이 2번보다 훨씬 빠르다.




                        2/3
1. 각 컬렉션별로 목록을 뽑는다.
2. 한 컬렉션 내 종류의 문서를 따로 컬렉
하지만 특정 특정 데이터형별로 쿼리해 목록을 뽑는다.
션화 하는게 좋다. 
1번이 2번보다 훨씬 빠르다.
이유 3.



 같은 종류의 데이터를 하나의 컬렉션에 모아 두는 것
 은 데이터 지역성을 위해서 좋다.
 데이터 지역성이 높으면 빠르다.




                      2/3
하지만 특정 종류의 문서를 따로
컬렉션화 하는게 좋다. 

이유 4.


색인을 만들게 되면 문서는 특정 구조를 가져야 한다.
이러한 색인은 컬렉션별로 정의한다.
하나의 컬렉션에 단일한 데이터형의 문서를 넣게 되면 보다 효
율적으로 색인을 생성할 수 있다.




                         2/3
서브컬렉션
MongoDB의 데이터를 체계화 하기 위한 훌륭한
도구

다음 처럼 사용, 네임 스페이스
blog.posts
blog.authors
db.blog.posts




                     2/3
데이터베이스Database
컬렉션이 문서를 모아두었다면,
데이터베이스는 컬렉션을 모아 둔것

하나의 데이타베이스는 하나의 파일 저장된다.


cms데이터베이스의 blog.posts컬렉션을 사용하려
면
cms.blog.posts로 접근 하면 된다. 



                        3/3
예약된 데이터베이스

admin
root 데이터베이스
admin에 사용자를 추가하면 모든 데이터베이
스에 대한 사용 권한을 상속 받는다.
모든 데이터베이스를 관리하는 명령어는 오직
admin에서만 가능 하다.



                      3/3
예약된 데이터베이스

local 데이터베이스, 특정 서버에만 저장
복제되지 않는
하는 컬렉션에 사용 됨, 자세한 내용은 9장




                       3/3
예약된 데이터베이스

config 설정하는 경우, config 데이터베
MongoDB를 샤딩
이스는 내부적으로 샤드정보를 저장하는데 쓴다.




                      3/3
드라이버
mongoDB에 접근 가능한 API,
다음 사이트에 

http://www.mongodb.org/display/DOCS/Drivers




                                     ----
데이터형
JSON/BSON
간단한 데이터 표현의 방법, 6개의 데이터형만을 지원
(null, bool, 64bit float, string, array, object)
http://www.json.org, BSON (Binary JSON) http://bsonspec.org
JSON에서는 float과 int를 식별할 수 없고, 32bit/64bit를
식별할 수 없다.
mongoDB는 JSON외의 데이타형을 추가 지원한다. 
(, 심볼형객체 ID형, 날짜형, 정규표현식형, 코드형, 이진
데이터형, 최대값형, 최소값형, undefined, 내장 문서)

More Related Content

What's hot

My sql특징 정리
My sql특징 정리My sql특징 정리
My sql특징 정리parktaesoon
 
16 데이터 저장과 사용
16 데이터 저장과 사용16 데이터 저장과 사용
16 데이터 저장과 사용운용 최
 
RDBMS to MongoDB migration
RDBMS to MongoDB migrationRDBMS to MongoDB migration
RDBMS to MongoDB migrationHyukSun Kwon
 
Xe 오픈소스 읽어보기 part 2
Xe  오픈소스 읽어보기 part 2Xe  오픈소스 읽어보기 part 2
Xe 오픈소스 읽어보기 part 2재린 김
 
리눅스 간단 강의 2강
리눅스 간단 강의 2강리눅스 간단 강의 2강
리눅스 간단 강의 2강Junsu Kim
 
웹 개발 스터디 01 - MySQL
웹 개발 스터디 01 - MySQL웹 개발 스터디 01 - MySQL
웹 개발 스터디 01 - MySQLYu Yongwoo
 
리눅스 간단 강의 4강
리눅스 간단 강의 4강리눅스 간단 강의 4강
리눅스 간단 강의 4강Junsu Kim
 

What's hot (10)

My sql특징 정리
My sql특징 정리My sql특징 정리
My sql특징 정리
 
Mongodb index
Mongodb indexMongodb index
Mongodb index
 
MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
 
16 데이터 저장과 사용
16 데이터 저장과 사용16 데이터 저장과 사용
16 데이터 저장과 사용
 
6.테이블만들기
6.테이블만들기6.테이블만들기
6.테이블만들기
 
RDBMS to MongoDB migration
RDBMS to MongoDB migrationRDBMS to MongoDB migration
RDBMS to MongoDB migration
 
Xe 오픈소스 읽어보기 part 2
Xe  오픈소스 읽어보기 part 2Xe  오픈소스 읽어보기 part 2
Xe 오픈소스 읽어보기 part 2
 
리눅스 간단 강의 2강
리눅스 간단 강의 2강리눅스 간단 강의 2강
리눅스 간단 강의 2강
 
웹 개발 스터디 01 - MySQL
웹 개발 스터디 01 - MySQL웹 개발 스터디 01 - MySQL
웹 개발 스터디 01 - MySQL
 
리눅스 간단 강의 4강
리눅스 간단 강의 4강리눅스 간단 강의 4강
리눅스 간단 강의 4강
 

Viewers also liked

D.D.D. 14장
D.D.D. 14장D.D.D. 14장
D.D.D. 14장dagri82
 
It 개발자가쓴 통쾌한 인간관리 이야기
It 개발자가쓴 통쾌한 인간관리 이야기It 개발자가쓴 통쾌한 인간관리 이야기
It 개발자가쓴 통쾌한 인간관리 이야기dagri82
 
클로저
클로저클로저
클로저dagri82
 
Ddd 14장
Ddd 14장Ddd 14장
Ddd 14장dagri82
 
R과sql비교 퀵하게보기
R과sql비교 퀵하게보기R과sql비교 퀵하게보기
R과sql비교 퀵하게보기seung-hyun Park
 
미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) 미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) seung-hyun Park
 
1. 미티어의 폴더구조
1. 미티어의 폴더구조1. 미티어의 폴더구조
1. 미티어의 폴더구조seung-hyun Park
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayseung-hyun Park
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차seung-hyun Park
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)InBum Kim
 
Mongo db 시작하기
Mongo db 시작하기Mongo db 시작하기
Mongo db 시작하기OnGameServer
 
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsWebinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsMongoDB
 

Viewers also liked (18)

D.D.D. 14장
D.D.D. 14장D.D.D. 14장
D.D.D. 14장
 
It 개발자가쓴 통쾌한 인간관리 이야기
It 개발자가쓴 통쾌한 인간관리 이야기It 개발자가쓴 통쾌한 인간관리 이야기
It 개발자가쓴 통쾌한 인간관리 이야기
 
클로저
클로저클로저
클로저
 
Ddd 14장
Ddd 14장Ddd 14장
Ddd 14장
 
R과sql비교 퀵하게보기
R과sql비교 퀵하게보기R과sql비교 퀵하게보기
R과sql비교 퀵하게보기
 
4. publish / subscribe
4. publish / subscribe4. publish / subscribe
4. publish / subscribe
 
미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) 미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor )
 
3. collection
3. collection3. collection
3. collection
 
5.router
5.router5.router
5.router
 
6.accounts
6.accounts6.accounts
6.accounts
 
1. 미티어의 폴더구조
1. 미티어의 폴더구조1. 미티어의 폴더구조
1. 미티어의 폴더구조
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st day
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차
 
2. template
2. template2. template
2. template
 
MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)MongoDB in use(김인범, mongodb korea)
MongoDB in use(김인범, mongodb korea)
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
Mongo db 시작하기
Mongo db 시작하기Mongo db 시작하기
Mongo db 시작하기
 
Webinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in DocumentsWebinar: Back to Basics: Thinking in Documents
Webinar: Back to Basics: Thinking in Documents
 

Similar to Mongo db 2장

[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'sung ki choi
 
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝철민 권
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summaryHoChul Shin
 

Similar to Mongo db 2장 (6)

[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
 
오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝오라클 DB 아키텍처와 튜닝
오라클 DB 아키텍처와 튜닝
 
Oracle History #7
Oracle History #7Oracle History #7
Oracle History #7
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summary
 
Hdfs
HdfsHdfs
Hdfs
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 

More from dagri82

보난자
보난자보난자
보난자dagri82
 
10장 결과 검증
10장 결과 검증10장 결과 검증
10장 결과 검증dagri82
 
데브루키 스터디 발표
데브루키 스터디 발표데브루키 스터디 발표
데브루키 스터디 발표dagri82
 
데브루키 스터디 발표
데브루키 스터디 발표데브루키 스터디 발표
데브루키 스터디 발표dagri82
 
holubonpatternschapter41
holubonpatternschapter41holubonpatternschapter41
holubonpatternschapter41dagri82
 
holubonpatternschapter41
holubonpatternschapter41holubonpatternschapter41
holubonpatternschapter41dagri82
 

More from dagri82 (6)

보난자
보난자보난자
보난자
 
10장 결과 검증
10장 결과 검증10장 결과 검증
10장 결과 검증
 
데브루키 스터디 발표
데브루키 스터디 발표데브루키 스터디 발표
데브루키 스터디 발표
 
데브루키 스터디 발표
데브루키 스터디 발표데브루키 스터디 발표
데브루키 스터디 발표
 
holubonpatternschapter41
holubonpatternschapter41holubonpatternschapter41
holubonpatternschapter41
 
holubonpatternschapter41
holubonpatternschapter41holubonpatternschapter41
holubonpatternschapter41
 

Mongo db 2장

  • 3. 문서 Document 정렬된 key/value쌍의 집합 key 는 string 형 value 는 data 형 (뒤에 설명) JavaScript로 표현한 예  { "greeting" : "Hello, world!", "foo" : 3 } { "foo" : 3, "greeting" : "Hello, world!" } 1/3
  • 4. 컬렉션 Collection 문서의 모음 MongoDB DBMS 문서 document 행 raw 컬렉션 collection 테이블 table 하나의 컬렉션 내 문서들이 모두 다른 구조를 가질 수 있다. (스키마가 없다.) {"geeting" : "Hello} {"foo" : " 5} 2/3
  • 5. 하지만 특정 종류의 문서를 따로 컬렉션화 하는게 좋다.  이유 1. 1. 쿼리가 특정 종류의 문서를 반환한다.     2. 쿼리가 다른 종류의 문서를 반환한다. 코드가 다른 종류의 문서를 다룬다. 1번이 편하다. 2/3
  • 6. 하지만 특정 종류의 문서를 따로 컬렉션화 하는게 좋다.  이유 2. 1. 각 컬렉션별로 목록을 뽑는다. 2. 한 컬렉션 내 특정 데이터형별로 쿼리해 목록을 뽑는다. 1번이 2번보다 훨씬 빠르다. 2/3
  • 7. 1. 각 컬렉션별로 목록을 뽑는다. 2. 한 컬렉션 내 종류의 문서를 따로 컬렉 하지만 특정 특정 데이터형별로 쿼리해 목록을 뽑는다. 션화 하는게 좋다.  1번이 2번보다 훨씬 빠르다. 이유 3. 같은 종류의 데이터를 하나의 컬렉션에 모아 두는 것 은 데이터 지역성을 위해서 좋다. 데이터 지역성이 높으면 빠르다. 2/3
  • 8. 하지만 특정 종류의 문서를 따로 컬렉션화 하는게 좋다.  이유 4. 색인을 만들게 되면 문서는 특정 구조를 가져야 한다. 이러한 색인은 컬렉션별로 정의한다. 하나의 컬렉션에 단일한 데이터형의 문서를 넣게 되면 보다 효 율적으로 색인을 생성할 수 있다. 2/3
  • 9. 서브컬렉션 MongoDB의 데이터를 체계화 하기 위한 훌륭한 도구 다음 처럼 사용, 네임 스페이스 blog.posts blog.authors db.blog.posts 2/3
  • 10. 데이터베이스Database 컬렉션이 문서를 모아두었다면, 데이터베이스는 컬렉션을 모아 둔것 하나의 데이타베이스는 하나의 파일 저장된다. cms데이터베이스의 blog.posts컬렉션을 사용하려 면 cms.blog.posts로 접근 하면 된다.  3/3
  • 11. 예약된 데이터베이스 admin root 데이터베이스 admin에 사용자를 추가하면 모든 데이터베이 스에 대한 사용 권한을 상속 받는다. 모든 데이터베이스를 관리하는 명령어는 오직 admin에서만 가능 하다. 3/3
  • 12. 예약된 데이터베이스 local 데이터베이스, 특정 서버에만 저장 복제되지 않는 하는 컬렉션에 사용 됨, 자세한 내용은 9장 3/3
  • 13. 예약된 데이터베이스 config 설정하는 경우, config 데이터베 MongoDB를 샤딩 이스는 내부적으로 샤드정보를 저장하는데 쓴다. 3/3
  • 14. 드라이버 mongoDB에 접근 가능한 API, 다음 사이트에  http://www.mongodb.org/display/DOCS/Drivers ----
  • 15. 데이터형 JSON/BSON 간단한 데이터 표현의 방법, 6개의 데이터형만을 지원 (null, bool, 64bit float, string, array, object) http://www.json.org, BSON (Binary JSON) http://bsonspec.org JSON에서는 float과 int를 식별할 수 없고, 32bit/64bit를 식별할 수 없다. mongoDB는 JSON외의 데이타형을 추가 지원한다.  (, 심볼형객체 ID형, 날짜형, 정규표현식형, 코드형, 이진 데이터형, 최대값형, 최소값형, undefined, 내장 문서)