OctoberSky.js 스터디에서 mongodb를 사용하고 있습니다.

로컬에서 실습을 한다면 당연히 설치를 하면 되지만 송형주님과 같이 cloud9을 사용하여 클라우드 기반에서

실습을 한다거나 또는 궂이 mongodb를 로컬에 설치하고 싶지 않다면 Cloud MongoDB Hosting을 해주는

Mongolab을 사용해 보는 것도 괜찮을 것 같아 간략히 소개하려고 합니다.

저의 경우 Mongolab을 사용하여 테스트한 뒤 관련 소스는 기존 스터디의 소스를 올렸던 github에 별도 branch

관리하고 있습니다. 스터디 진행과 조금씩 상이한 부분은 그 branch에서 작업을 할려고 합니다. 다만, DB 인증과 관련하여

db connection string은 "dbconn.js" 파일로 작성하여 별도 모듈로 처리하였습니다. 저장소에 push 한 소스는

<user>:<password> 로 표기하였으며 이후에는 "dbconn.js" 파일은 push 에서 제외시키려고 합니다.

 Mongolab 소개

 ㅇ 웹사이트 : http://mongolab.com/


메인화면의 중앙에 mongolab에 대한 특징이 소개되어 있으며, 우측에 보이는 것처럼 240M 나 Free 로 사용할 수 있습니다.

- MongoDB 호스팅, 모니터링 및 기술지원(?)
- 데이터 복제 및 백업 가능
- REST API 지원
- Amazon, Joyent & Rackspace 호환(다양한 cloud provider들에서 DB 호스팅 제공)
- 강력한 관리자 툴 제공

우선, 우측의 sing up 을 클릭하여 아래와 같이 가입을 합니다.


가입 후 로그인을 하면 아래와 같이 모두 비어있는 화면이 나옵니다.


Databases 옆의 Add 버튼을 클릭하여 실습에 필요한 세개의 데이터베이스(nodepad-production, nodepad-development, nodepad-test)를 만듭니다.


저의 경우에는 Joyent에서 node.js 서비스를 할 예정이어서 cloud provider를 JoyentCloud로 선택했습니다. 데이터베이스별로 다른 provider 로 생성이 가능한 것 같습니다.

아래와 같이 3개의 데이터베이스를 만들었습니다. 데이터베이스별로 collection 수, document 수, size 등을 확인할 수 있습니다.


마치 mysql을 관리하기 위해 phpMyAdmin을 사용하는 것과 같은 느낌입니다.

데이터베이스 이름을 클릭하면 아래와 같이 Collections, Users, Stats, Tools 관리 메뉴가 나오며, 상단을 보면 mongo 쉘에서의 연결 방법과 드라이버를 사용(프로그램)해서 연결하는 방법이 안내가 되어 있습니다.


Collection 이름을 클릭하면 아래와 같이 각 document 객체를 확인할 수 있습니다.


Display mode를 list로 할 경우에는 위와 같이 객체 형태로 리스트가 보여지며, table 을 선택한 후 [edit table view]를 클릭하여 아래와 같이 table 헤더를 지정하면 마치 rdb 를 관리하던 것과 같은 테이블 형태를 볼 수 있습니다. 또한, 직접 document 객체를 수정, 삭제 할 수 있습니다.



생각보다 쉽게 사용할 수 있었습니다. 실제 서비스까지는 모르겠지만 스터디용을 사용하기에는 전혀 부족함이 없으리라 생각이 됩니다.

더군다나 cloud9에서 개발을, mongolab에서 DB 호스팅을, github에서 소스 관리를, 배포 및 서비스는 Joyent(no.de)에서 한다면 클라우드 기반에서 개발 및 서비스가 가능한게 아닌가 생각해 봅니다.

내일은 H3 컨퍼런스 가는 날 ^^
저작자 표시 비영리 변경 금지
신고
Posted by JuHoi