더북(TheBook)

UNIT 20
문서 다루기 : MongoDB

DATA SCIENCE FOR EVERYONE icon_day

 

문서 데이터베이스(NoSQL 데이터베이스)는 객체의 비휘발성 묶음으로, 보통 속성이 있는 문서(documents)로 알려져 있다. 문서 저장소는 다양한 방식으로 구현한다. 여기서는 문서 저장소의 하나인 MongoDB를 자세히 살펴보고, MongoDB의 주요 경쟁자인 CouchDB도 간략히 훑어볼 것이다.

MongoDB는 비관계형 데이터베이스다. 하나의 MongoDB 서버는 서로 연결되지 않은 다양한 데이터베이스를 지원할 수 있다. 하나의 데이터베이스는 하나 이상의 문서 컬렉션으로 구성된다. 하나의 컬렉션에 있는 모든 문서에는 고유한 구분자(unique identif ier)가 들어 있다.

파이썬의 MongoDB 클라이언트는 파이썬 모듈인 pymongo에 구현되어 있으며, MongoClient 클래스의 인스턴스다. 여러분은 파라미터 없이 클라이언트를 생성할 수 있고(보통 서버를 로컬에 설치할 때 그렇게 한다), 서버의 호스트 이름과 포트 번호를 지정하거나 서버의 URI(Uniform Resource Identif ier)를 파라미터로 설정할 수 있다. 실습하려면 MongoDB가 미리 설치되어 있어야 한다.3 pymongo를 설치하지 않았다면 윈도 명령 프롬프트에서 conda install pymongo 명령어로 설치한다.




문서 데이터베이스 데이터 저장에 키-값 방식을 사용하지만, 값을 문서(워드프로세스 등 파일이 아니라 문자열이나 문자열을 이진 형태로 저장하는 데이터 구조)로 저장하는 데이터베이스

NoSQL 데이터베이스 Not only SQL을 강조해 ‘데이터베이스에서 SQL을 사용하지 않는다’ 혹은 ‘SQL만 있는 것이 아니다’는 의미의 데이터베이스. 예를 들어 MongoDB, CouchDB, Hbase 등


3 역주 설치 방법은 부록 C를 참고하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.