함께 성장하는 프로독학러

0. MongoDB 소개, 설치 및 실행 본문

Programming/MongoDB

0. MongoDB 소개, 설치 및 실행

프로독학러 2018. 5. 4. 23:06

안녕하세요, 프로독학러 입니다.

이 카테고리에는 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

https://velopert.com/436


*이 포스팅이 도움이 되셨다면 다녀가셨다는 표시로 공감 부탁드릴게요! (로그인 하지 않으셔도 공감은 가능합니다 ㅎㅎ)

Comments