2013-10-09 4 views
2

MongoDb는 키 값 데이터 저장소가 아니라 문서 데이터베이스로 알려져 있습니다. 그러나 MongoDB를 docs문서 데이터베이스와 키 값 쌍의 차이점

예 :

{ "item": "pencil", "qty": 500, "type": "no.2" } 

이 정확히 키 값 쌍의 컬렉션처럼 보인다. 그렇다면 문서 데이터베이스와 키 값 쌍 데이터베이스의 근본적인 차이점은 무엇입니까?

+1

키 : 값 저장소는 말 그대로 단일 값을 가리키는 단일 키입니다. 문서는 키 : 값 쌍의 모음입니다. –

답변

2

정의는 배타적이지 않습니다.

"키 - 값 데이터베이스"는 데이터베이스 스키마를 정의하고 SQL 구문을 사용하여 데이터베이스를 쿼리하는 대신 검색 할 데이터의 "값"부분에 "키"를 쿼리하여 직접 액세스 할 수 있음을 정의합니다 . "값"은 단순한 문자열, 프로그래밍 언어 객체, HTML 페이지 일 수 있습니다 ...

문서 데이터베이스는 키 - 값 쌍의 "값"부분에 대해 더 자세히 말합니다. JSON 또는 XML과 같은 일부 표준 휴대용 형식. 이것은 데이터베이스에 구조를 제공하지만, 모든 행이 정의 된 스키마를 준수해야하는 전통적인 데이터베이스만큼 까다롭지는 않습니다.

질문에 대답하기 위해 MongoDB는 "키 - 값"메커니즘을 사용하여 "값"이 문서 (문서 기반 데이터베이스의 정의로 느슨하게 정의 된) 인 데이터를 검색하는 데이터베이스입니다.

NoSQL "정의"가 약간 겹치고 상당히 느슨하다는 것을 고려하십시오.

0

더 쉽게 구별하는 방법은 Memcached와 MongoDB를 살펴 보는 것입니다. Memcached는 단순히 키 값 저장소이지만 MongoDB에는 Array, Dict를 저장하고 매우 쉽게 쿼리 할 수있는 훨씬 더 풍부한 데이터 구조가 포함되어 있습니다.

0

MongoDB 아키텍트와의 최근 인터뷰에서 저에게있어서 "MongoDB는 기본적으로 가치있는 데이터 저장소입니다."라고 말했습니다. 따라서 키와 값의 집합입니다. 그것은 그 이상입니다.

관련 문제