Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

MongoDB의 실험적인 플러그형 스토리지 엔진

MongoDB의 실험적인 플러그형 스토리지 엔진

지난달 MongoDB World에서 MongoDB 설립자이자 CTO인 Eliot Horowitz는 2.8 릴리스로 예정된 플러그형 스토리지 엔진에 대한 지원을 발표했습니다. 이것은 mongo 사용자가 이제 자신의 워크로드에 가장 적합한 스토리지 엔진을 선택할 수 있고 API가 모든 MongoDB 기능을 완벽하게 지원하도록 계획하면서 현재 기능을 포기할 필요가 없다는 것을 의미하기 때문에 흥미로운 것입니다. 즐겨. 뿐만 아니라 동일한 복제본 세트의 노드가 서로 다른 스토리지 엔진을 사용할 수 있으므로 다양한 요구에 맞는 모든 종류의 흥미로운 구성이 가능합니다.

MongoDB가 완전 오픈 소스라는 장점은 2.8이 실제로 출시될 때까지 기다릴 필요가 없다는 것입니다. 전체 MongoDB 소스 코드는 GitHub에서 복제하고 현재 작업 중인 실험 기능을 포함하도록 컴파일할 수 있습니다.

아래 예시에서는 MongoDB 세계에서 발표된 rockdb 예시 스토리지 엔진으로 mongo를 구축하는 방법을 보여드리겠습니다.

새로 설치된 CentOS 6.5 클라우드 인스턴스부터 기본 종속성을 파악합니다.

$ yum groupinstall 'Development Tools'
$ yum install git glibc-devel scons`

다음은 GitHub에서 MongoDB 소스 코드를 가져옵니다.

$ git clone https://github.com/mongodb/mongo.git

이제 RocksDB 지원이 활성화된 소스를 컴파일하는 일만 남았습니다.

$ scons --rocksdb=ROCKSDB mongo mongod

또는 -j 옵션을 사용하여 사용할 병렬 작업 수를 지정하여 속도를 높입니다. 시스템을 전용으로 사용할 계획이라면 좋은 지표는 머신의 코어 수 +1입니다. 좋아요:

$ scons -j 17 --rocksdb=ROCKSDB mongo mongod

플러그형 스토리지 엔진 지원과 RocksDB 엔진은 이 시점에서 완전히 실험적이므로 오류가 발생하고 마스터에서 컴파일할 수 없을 가능성이 큽니다. 이는 이 단계에서 예상되는 것입니다. 진행 상황을 주시하고 싶다면 MongoDB 개발자 메일링 리스트를 시작하는 것이 좋습니다.

컴파일이 완료되면 새로운 –storageEngine 매개변수를 사용하여 mongod 프로세스를 시작하고 싶을 것입니다.

$ ./mongod --storageEngine rocksExperiment

그리고 마지막으로 간단한 문서를 연결하고 삽입한 다음 db.stats()를 사용하여 모든 것을 테스트할 수 있습니다. 모든 것이 계획대로 진행되면 RocksDB 통계가 파이프로 다시 전달되는 것을 볼 수 있습니다.

보시다시피 실험 기능이 활성화된 상태에서 시작하고 실행하는 것은 매우 간단합니다. 플러그형 스토리지 엔진 코드 진행 상황과 2.8 릴리스가 가까워짐에 따라 발표되는 더 많은 새 엔진을 보게 되어 매우 기쁩니다.