NoSQL에 대한 이해
MongoDB에 대한 이해
MongoDB 메뉴얼
- MongoDB 다운받기 - Community GUI를 설치하는 대신에 zip 파일선택하여 Shell Window에서 운영. ( mongdb.com )
- MongoDB 서버 사용하기 - Command Interpreter
- Demon으로 실행하기 : 이 방법( --fork 옵션 )은 윈도우에서 실행되지 않고, 대신에 --install 옵션을 사용하여 윈도우 서비스에 등록하여 백그라운드로 사용한다.
- 관리자 모드로 명령 프롬프트를 실행한다.
- demon을 실행시킨다. ( --install 옵션 추가 )
- mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log --install
- 명령 라인에 다음 명령을 입력한다.
- net start MongoDB
- 윈도우 서비스 창을 열어서 아래 내용을 확인한다.
- 배치 파일로 자동 실행하기
- Demon으로 실행하는 방법의 2번과 3번을 한번에 처리하기 위해 생성한 mdbexe.bat을 사용한다.
- 방법
- mongodb demon을 실행하기 위한 mongod.cfg configuration 파일을 만든다.
- 배치 파일에 mongod 커멘드와 옵션을 다음과 같이 기술한다.
- mongod --config filename --install
- 배치 파일에 MongDB 서비스를 윈도우 서비스에 등록한다.
- net start MongoDB
- 만들어진 배치 파일을 관리자모드로 실행시킨다.
- C#에서 구현할 때 관리자 모드로 실행하는 방법 조사할 것. ( TODO )
- 종료하기
- mongo.exe shell program을 실행하여 다음 과정으로 종료한다.
- [use admin] 명령으로 DB를 admin으로 변경 )
- [db.shutdonwServer()] 메쏘드를 입력하여 실행
- 서버 종료 메시지 확인
- 윈도우 서비스 명령으로 종료하기
- 관리자 권한으로 명령 프롬프트를 실행한다.
- 명령 픔롬프트 창에서 [mongod --remove]를 입력한다.
- mongo.exe shell program을 실행하여 다음 과정으로 종료한다.
- 참고: 윈도우즈 서비스 운영
- 서비스 시작: net start 서비스명
- 서비스 종료: net stop 서비스명
- 서비스 삭제: sc delete 서비스명
- Demon으로 실행하기 : 이 방법( --fork 옵션 )은 윈도우에서 실행되지 않고, 대신에 --install 옵션을 사용하여 윈도우 서비스에 등록하여 백그라운드로 사용한다.
- MongoDB 서버 옵션 설정하기
- 서버 실행하기
- mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log
- option 종류 확인하기: >mongod --help
- --dbpath: DB Data 저장 폴더 지정
- --port: port 지정
- --bind_ip_all: IP "0.0.0.0"을 의미하여 모든 IP를 허용하기 위해 지정
- --auth: 보안을 위해 사용자 / 패스워드 입력을 유도. 해당 옵션을 사용하는 경우 client에서 사용자 정보를 입력해야 admin 권한의 작업이 가능하다.
- Authorization Enable.
- show dbs 커멘드는 Local, Remote 모두 가능.
- db.shutdownServer() 실행은 Local에서 가능, Remote에서 불가.
- --logpath: 기본적으로 로그는 standard output( command line )에 표시되지만, 이 옵션을 설정하면 지정된 파일에 저장된다. 같은 파일이 있다면 기존 파일을 백업된다.
- Authorization 옵션 설정시 서버에서 로그 예제
- Disable 설정
- Enable 설정
- Disable 설정
- Port no.는 기본적으로 27017로 설정되어 있으나 보편적으로 사용하는 값이므로 사고의 위험이 있어 Jaguar에서 사용하는 값에 근접한 13100으로 설정한다.
- option 종류 확인하기: >mongod --help
- mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log
- Configuration File 이용하기
- mongod option설정 대신에 config file을 로딩하면 hold 상태가 되어 재 확인 필요함.
- → 파일에 필요한 항목을 추가하여 MongoDB Demon 실생시 --config 옵션으로 사용할 수 있도록 함.
- 서버 실행하기
- MongoDB 클라이언트 사용하기
- 서버와 같은 방법으로 다운받은 zip 파일을 압축해제하고, 제어판>시스템>고급시스템설정보기 윈도우에서 환경변수의 path를 추가한다.
- 사용자와 패스워드, 역할 등록하기
- 방법: MongoDB Demon 실행 명령 입력할 때 보안 옵션을 생략하면 사용자 권한과 무관하게 등록할 수 있다.
- 클라이언트 실행하기
- Local Server: mongo --port 13100 -u username
- Remote Server: mongo --port 13100 -u username --host 192.168.0.40
- MongoDB Compass Community 사용하기
- Community msi 파일을 다운받아 설치한다.
- 임의로 생성한 DB test1과 test2를 볼 수 있고, test2의 collection test2와 test_collect1을 볼 수 있다.
- Collection 선택 시 우측에 List 혹은 Table Type으로 Document를 확인할 수 있다.
- _id는 Collection 생성시 자동으로 부여되는 고유한 값이다.
- Document에서 key가 4개이며 field가 없는 것은 abc / cde / abf / zzz Field가 실시간으로 생성이 가능하다는 것을 나타내며 이것은 RDMS와 가장 큰 차이점으로 볼 수 있다.
- 서버와 같은 방법으로 다운받은 zip 파일을 압축해제하고, 제어판>시스템>고급시스템설정보기 윈도우에서 환경변수의 path를 추가한다.
- DB Manipulation Guide
- C# 연동 드라이버, Nuget 이용하여 설치 ( ver2.9.3 )
- MongoDB API
- 깃허브 예제코드
- Managing Users
- Manging CRUD ( Create / Read / Update / Delete )
댓글
댓글 쓰기