Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

MongoDB

MongoDB(이하 몽고디비)는 오픈 소스 기반의 문서 지향 데이터베이스 시스템(Document-oriented database system)이다. JSON(JSON은 아니고 유사한 BSON을 사용한다)을 사용하며 스키마가 필요 없기때문에 NoSQL 데이터베이스로 분류한다.

주요 특징

Ad hoc 질의를 사용한다. 애드혹은 특정한 목적을 위해서라는 뜻을 가진다. 즉 몽고디비는 SQL이 아닌 문서를 저장하는 자신의 목적에 맞는 질의어를 제공한다. 필드, 범위쿼리, 정규식 검색을 지원하며 자바스키립트 함수도 포함 할 수 있다. 사용해 보면 알겠지만 애드혹 쿼리는 그다지 사용하기에 좋지는 않다. 일단 SQL에 익숙한 개발자가 많기 때문이기도 하지만, 그 자체로도 사용하기에 직관적이라고 할 수는 없다. 복잡한 작업을 하려면 애로사항이 꽃핀다.

색인. 기본 및 보조색인을 지정할 수 있다.

복제. 몽고디비는 고가용성을 위한 리플리케이션(복제)를 지원한다. 복제세트는 두 개 이상의 데이터 사본으로 구성이 된다. 복제 집합은 언제든지 주 복제본을 대신 해서 사용 할 수 있다. 모든 읽기및 쓰기는 주 복제서버 에서 수행이 되며, 보조 복제 서버 (주 복제본의 실패에 대비해서) 복제본을 유지하는 일만 한다. 주 복제서버가 실패하면, 보조 복제 서버 중 하나를 선택해서 주 복제서버의 일을 대신하게 한다.

로드밸런싱. 몽고디비는 샤딩을 이용해서 수평으로 확장을 한다.

파일 저장소. 몽고디비는 파일 저장소로 사용 할 수 있다. 관심이 있다면 GridFS를 살펴보자.

서버 사이드 자바스크립트 실행. 맵리듀스, 쿼리 등을 위해서 자바스크립트를 사용 할 수 있다. 이 자바스크립트는 서버에서 실행이 된다.

capped collections. Capped collections는 최근 N개의 데이터를 저장하는 컬랙션이다. 일종의 순환 대기열 처럼 작동을 한다.

하위 문서

제목 저자 변경일

참고

  1. Python에서 MongoDB 사용