함께 성장하는 프로독학러
0. MongoDB 소개, 설치 및 실행 본문
안녕하세요, 프로독학러 입니다.
이 카테고리에는 MongoDB 에 대한 글을 포스팅하도록 하겠습니다.
그럼 제일 먼저 MongoDB 에 대해서 알아보도록 하겠습니다.
Introduce
1) MongoDB?
MongoDB는 대표적인 NoSQL 데이터 베이스 입니다.
데이터 베이스는 RDBMS 와 NoSQL, 이렇게 크게 두 가지로 나누어 볼 수 있습니다.
RDBMS 는 관계형 데이터 베이스로 table 과 table 의 관계로 이루어진 데이터베이스 입니다.
대표적으로는 MySQL, MS-SQL, Oracle 등이 있습니다.
NoSQL 은 Not Only SQL 의 약자로, 기존 RDBMS 의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스입니다.
NoSQL 의 종류는 Key-value Stores, Column family Store, Document DB, Graph DB 등이 있습니다.
MongoDB 는 이 중 Document DB 로, Document (문서) 지향적 데이터베이스 입니다.
2) Document?
MongoDB 는 Document Oriented 데이터베이스라고 했습니다. 그렇다면 Document 란 무엇일까요?
이는 관계형 데이터베이스에서의 row 와 같습니다. row 는 table 에서의 한 행을 의미하는 DB 단위 입니다.
Document 의 데이터 구조는 '객체' 의 형태 입니다. (한 개 이상의 key-value pair로 이루어진)
이 Document 는 관계형 데이터베이스의 row 와 달리 동적인 schema 를 가지고 있습니다.
관계형 데이터베이스에서 동일한 table 에 있는 각각의 행(row)들은 모두 같은 구조를 가지고 있어야만 합니다.
하지만 MongoDB 의 Document 들은 같은 Collection 안에 있더라도 다른 구조를 갖고 있을 수 있습니다.
3) Collection?
Collection 은 관계형 데이터베이스에서의 table 과 같은 개념입니다.
관계형 DB 에서 row 의 집합을 table 이라고 하는것과 같이 Document 의 집합을 Collection 이라고 합니다.
Document 들이 모여서 Collection 이 되는 것이죠.
(Collection 이 모여 DB 가 되고, DB 가 모여 server 가 됩니다.)
4) RDBMS 와 비교했을 때의 장점
Schema-less : 구조가 정해져 있지 않다. 같은 Collection 안의 Document 일지라도 각각 다른 구조를 가질 수 있다. (유동적이다)
NO-JOIN : 관계형 데이터베이스에서는 여러 테이블 간의 정보를 융합하려면 특정 열을 기준으로 table 들을 JOIN 해야 함. MongoDB 에서는 Document 안의 하위 Document (subdocument) 를 이용하여 간단하게, 가시적으로 처리할 수 있다.
Javascript expression 사용가능 : MongoDB 는 자바스크립트 기반이기 때문에 $where 연산자를 통하여 자바스크립트 표현식을 사용할 수 있다.
Install & Run
[Windows 운영체제 기준]
1) MongoDB 설치
MongoDB 홈페이지에서 설치파일을 다운받고, 설치를 합니다.
https://www.mongodb.com/download-center?jmp=homepage#community
탭에서 Community Server 를 선택해 다운, 설치를 진행합니다.
2) MongoDB 실행 (서버)
설치파일을 통해 설치를 완료하면, 다음의 경로에 MongoDB 가 설치 됩니다.
C:\Program Files\MongoDB\Server\3.6\bin
위의 그림에서 선택된 mongo.exe 와 mongod.exe 가 우리가 MongoDB 를 실행하는데 필요한 파일입니다.
명령프롬프트를 통하여 위의 경로의 폴더로 이동합니다.
cmd 의 cd (Change Direction) 명령을 통해 위의 경로로 찾아 갈 수도 있지만, 해당 폴더의 탐색기 창에서 Shift + 마우스 우클릭 을 통해 메뉴창을 열어 '여기에서 명령창 열기(W)' 를 통해 해당 경로에서 cmd 창을 바로 열 수 있습니다.
'여기에서 명령창 열기(W)' 를 통해 cmd 를 실행시킵니다.
그리고 아래의 명령문을 통해 db 폴더를 생성합니다.
mkdir C:\data\db
*mkdir 은 (Make Direction) 을 의미.
MongoDB 는 기본적으로 C:\data\db 경로를 참조하기 때문에 처음 서버를 실행 할 때 해당 경로를 생성해 주는 것 입니다.
C:\data\db 경로를 생성한 뒤엔 mongod.exe를 실행하여 서버를 열어 줍니다.
...
서버가 정상정으로 열리면 위의 그림처럼 표시됩니다.
3) MongoDB Shell 실행
MongoDB 서버가 mongod.exe 를 통해 실행됐습니다.
MongoDB Shell 은 MongoDB 를 직접 커맨드를 통해 조작하는 프로그램입니다.
Shift + 마우스 우클릭을 통해 cmd 명령프롬프트를 하나 더 실행 시킵니다.
그리고 mongo.exe 를 입력해 MongoDB Shell 를 실행합니다.
show dbs
를 입력해 MongoDB Shell 이 제대로 실행 됐는지 확인합니다.
정상적으로 MongoDB Shell 이 실행됐다면 show dbs 를 입력했을 때 위의 그림과 같이 admin, local 데이터베이스가 보여집니다.
다음 포스팅부터는 MongoDB 의 명령어들에 대해서 살펴보도록 하겠습니다.
**참고 자료 (항상 감사드립니다)
http://solarisailab.com/archives/1605
*이 포스팅이 도움이 되셨다면 다녀가셨다는 표시로 공감 부탁드릴게요! (로그인 하지 않으셔도 공감은 가능합니다 ㅎㅎ)
'Programming > MongoDB' 카테고리의 다른 글
4. Document 를 수정, update() 메소드 (0) | 2018.05.06 |
---|---|
3. find() 의 결과를 활용, sort(), limit(), skip() (1) | 2018.05.06 |
2. 검색하고자 하는 Document 를 조회하는 find() 메소드 (0) | 2018.05.05 |
1. MongoDB 데이터 모델링, DB/Collection/Document 생성 및 제거 (0) | 2018.05.05 |