몽고DB 소개
MongoDB란?
MongoDB는 C++ 언어로 작성되었으며 분산 파일 스토리지 기반의 오픈 소스 데이터베이스 시스템입니다.
부하가 높은 조건에서는 노드를 추가하면 서버 성능을 보장할 수 있습니다.
MongoDB는 웹 애플리케이션을 위한 확장 가능한 고성능 데이터 스토리지 솔루션을 제공하는 것을 목표로 합니다.
MongoDB는 데이터를 문서로 저장하며, 데이터 구조는 키-값(키=>값) 쌍으로 구성됩니다. MongoDB 문서는 JSON 개체와 유사합니다. 필드 값에는 다른 문서, 배열, 문서 배열이 포함될 수 있습니다.
주요 기능
MongoDB는 비교적 간단하고 조작하기 쉬운 문서 중심의 저장소를 제공합니다.
MongoDB 레코드에서 모든 속성의 인덱스를 설정할 수 있습니다(예: FirstName="Sameer",Address="8 Gandhi Road").
로컬 또는 네트워크를 통해 데이터 미러를 생성할 수 있으므로 MongoDB의 확장성이 향상됩니다.
부하가 증가하면(더 많은 저장 공간과 더 강력한 처리 능력 필요) 컴퓨터 네트워크의 다른 노드에 분산될 수 있습니다. 이를 샤딩이라고 합니다.
Mongo는 풍부한 쿼리 표현식을 지원합니다. 쿼리 명령은 JSON 형식의 태그를 사용하여 문서에 포함된 개체 및 배열을 쉽게 쿼리합니다.
MongoDb는 update() 명령을 사용하여 완성된 문서(데이터) 또는 일부 지정된 데이터 필드를 바꿉니다.
Mongodb의 Map/Reduce는 주로 일괄 처리 및 데이터 집계에 사용됩니다.
맵핑하고 축소하세요. Map 함수는 Emit(key, value)을 호출하여 컬렉션의 모든 레코드를 순회하고 처리를 위해 키와 값을 Reduce 함수에 전달합니다.
Map 함수와 Reduce 함수는 Javascript로 작성되었으며 db.runCommand 또는 mapreduce 명령을 통해 MapReduce 작업을 수행할 수 있습니다.
GridFS는 다수의 작은 파일을 저장하는 데 사용할 수 있는 MongoDB에 내장된 기능입니다.
MongoDB를 사용하면 서버 측에서 스크립트를 실행할 수 있으며, Javascript로 함수를 작성하고 서버 측에서 직접 실행할 수도 있습니다. 서버 측에서 다음 번에 직접 호출할 수 있습니다.
MongoDB는 RUBY, PYTHON, JAVA, C++, PHP, C# 및 기타 언어 등 다양한 프로그래밍 언어를 지원합니다.
MongoDB는 설치가 쉽습니다.
연혁 2007년 10월, MongoDB는 10gen 팀에 의해 개발되었습니다. 2009년 2월에 처음 출시되었습니다.
2012년 5월 23일 MongoDB2.1 개발 브랜치가 출시되었습니다. 이 버전은 새로운 아키텍처를 채택하고 많은 개선 사항을 포함하고 있습니다.
2012년 6월 6일 분산 문서 데이터베이스 MongoDB 2.0.6이 출시되었습니다.
2013년 4월 23일에 MongoDB 2.4.3이 출시되었습니다. 이 버전에는 일부 성능 최적화, 기능 개선 및 버그 수정이 포함되어 있습니다.
2013년 8월 20일 최신 안정 버전인 MongoDB 2.4.6이 출시되었습니다.
MongoDB 다운로드
mongodb 공식 웹사이트( http://www.mongodb.org/downloads)에서 설치 패키지를 다운로드할 수 있습니다. . MongoDB는 다음 플랫폼을 지원합니다:
OS X 32비트
OS X 64비트
Linux 32비트
Linux 64비트
Windows 32비트
Windows 64비트
Solaris i86pc
Solaris 64
MongoDB 도구
MongoDB에는 여러 가지 관리 도구를 사용할 수 있습니다.
모니터링
MongoDB는 MongoDB에서 플러그인으로 사용되는 네트워크 및 시스템 모니터링 도구인 Munin을 제공합니다.
Gangila는 MongoDB용 고성능 시스템 모니터링 도구로 MongoDB에서 플러그인으로 사용됩니다.
그래픽 인터페이스 기반의 오픈 소스 도구인 Cacti는 CPU 로드 및 네트워크 대역폭 사용량을 확인하는 데 사용되며 MongoDB를 모니터링하기 위한 플러그인도 제공합니다.
GUI
Fang of Mongo – 웹 기반, Django와 jQuery로 구성.
Futon4Mongo – CouchDB Futon 웹의 mongodb 카피캣 버전입니다.
Mongo3 - Ruby로 작성되었습니다.
MongoHub – OSX용 앱.
Opricot – PHP로 작성된 브라우저 기반 MongoDB 콘솔입니다.
Database Master — Windows용 mongodb 관리 도구
RockMongo — PHP 언어로 된 최고의 MongoDB 관리 도구이며 경량이며 여러 국가의 언어를 지원합니다.
MongoDB 적용 사례
다음은 기업에서 MongoDB를 실제로 적용한 사례입니다.
Craiglist는 MongoDB를 사용하여 수십억 개의 레코드를 보관합니다.
위치 기반 소셜 네트워킹 사이트인 FourSquare는 MongoDB를 사용하여 Amazon EC2 서버의 데이터를 공유합니다.
인터넷 기반 소셜 및 개인 게시 서비스인 Shutterfly는 다양한 영구 데이터 스토리지 요구 사항에 맞춰 MongoDB를 사용합니다.
웹 기반 URL 단축 서비스인 bit.ly는 MongoDB를 사용하여 데이터를 저장합니다.
MTV Networks의 계열사인 spike.com은 MongoDB를 사용합니다.
중소기업 및 개인을 위한 소프트웨어 및 서비스 제공업체인 Intuit는 중소기업용 MongoDB를 사용하여 사용자 데이터를 추적합니다.
MongoDB 백엔드 스토리지를 사용하여 오픈 소스 소프트웨어를 무료로 찾고, 만들고, 게시할 수 있는 리소스 웹사이트인 sourceforge.net입니다.
수공예품 구매 및 판매 사이트인 etsy.com은 MongoDB를 사용합니다.
주요 온라인 뉴스 포털 중 하나인 New York Times는 MongoDB를 사용합니다.
유명 입자 물리학 연구소인 CERN은 유럽 핵 연구 센터의 대형 강입자 충돌기의 데이터에 MongoDB를 사용합니다.