MongoDB 샤딩을 사용하는 환경에서의 제약 사항들

매번 찾아보지만 도무지 외워지질 않는 이 녀석들!!!

group 사용 불가능 -> mapReduce 또는 aggregate 사용하는 것으로 변경해야 함

db.eval() 사용 불가능

$where 함수에서 DB 오브젝트 참조 불가능

$isolated 를 update 관련에서 사용 불가능

$snapshot 쿼리 불가능

geoSearch 명령 불가능

covered query 불가능

기타 등등 많군요.

참고 자료) [MongoDB Limits ans Thresholds]

MongoDB C++ Client Library for Windows (VS2012)

역시 Open Source로 배포되는 소스들은 Windows에서 빌드하기가 너무 힘드네요… 문서대로 해도 절대 안되네요…

[Build with Visual Studio 2010]

이걸 보고 했는데 안됩니다.

[Download and Compile C++ Driver]

이거 보고 했는데 안됩니다.

그래서 위 페이지의 “Download and Compile C++ Driver Before Version 2.5.3” 링크를 클릭해서 다른 소스를 받았습니다.
우분투에 설치한 서버가 2.4.8 이기 때문에 문제가 없어보이거든요…

하지만 문서대로 해도 안되네요… ㅠ.ㅠ

그래서 결국은 해당 2.4 마지막 안정버전 클라이언트 소스를 가지고 직접 VC 프로젝트를 만들어 보았습니다.

[다운로드 페이지] 에서 [2.4-latest] 를 받았습니다.

그리고 새로운 Win32 프로젝트를 만들고 boost 경로(BOOST_INCLUDE 환경 변수로 사용 중)를 설정하고
이런 저런 수정을 해서 mongodbclient.lib 파일을 생성하는데 성공했습니다.
그리고 초간단 접속 테스트만 진행한 상태입니다.
추후 테스트 하다가 오류나면… 그냥 안쓸래요… 아니면 누가 빌드해주면 쓰던가 ㅋ

cfile30.uf.2777BA3E52CCC76C0E079B.7z

용량 문제로 .lib 파일은 포함하지 못했습니다. VS2012에서 열어서 빌드하시면 될 거에요…

Ubuntu + MongoDB 설치

초간단 설치기입니다.
그리고 Ubuntu를 위한 설치 방법입니다.
일반적인 리눅스 환경에서의 설치 방법은 [Install MongoDB on Linux Systems] 를 참고하시기 바랍니다.

우선 apt-key 명령으로 패키지 서명을 받아옵니다.

sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 7F0CEB10

그리고 /etc/apt/sources.list.d/mongodb.list 를 만듭니다.

echo ‘deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen’ | sudo tee /etc/apt/sources.list.d/mongodb.list

이제 apt-get 으로 업데이트하고 패키지를 설치합니다.

sudo apt-get update
sudo apt-get install mongodb-10gen

설치가 끝나면 mongo 명령으로 접속을 해 봅니다.

그럼 exit를 입력해서 나오고 설정 파일을 수정해 봅시다.
설정 파일의 기본 경로는 /etc/mongodb.conf 입니다.
여기에서는 다른 건 냅두고 딱 인증 옵션만 수정하겠습니다.
파일 내용을 보다보면 auth=true 가 주석 처리 되어 있는 것을 볼 수 있습니다.
#을 지워 주석을 풀어줍니다.
저장하고 나와서 아래 명령으로 접속합니다.

mongo admin

아래 스크립트를 실행합니다.

db.addUser({user: “<username>”,pwd:”<password>”,roles:[“userAdminAnyDatabase”]})

그리고 확인을 해봅니다.

db.auth(“<username>”,”<password”)

1이 출력되면 성공입니다.
exit로 나와서 아래 명령으로 서비스를 다시 시작합니다.

sudo service mongodb restart

참고 자료1) Ubuntu에 MongoDB 설치법
참고 자료2) 일반적인 방법의 Linux에 MongoDB 설치법
참고 자료3) 사용자 권한
참고 자료4) 설정 파일 옵션