주요 차이점은 데이터 모델과 쿼리 기능입니다.
키-값 저장소
첫 번째 유형은 매우 간단하며 추가 설명이 필요하지 않을 것입니다.
데이터 모델 : 키-값 저장소 그 이상
있지만 Cassandra와 같은 데이터베이스의 올바른 이름에 대해 약간의 논쟁 저는이를 column- familystore라고 부르고 싶습니다 . 키-값 쌍은 Cassandra의 필수 부분이지만, 이것에만 국한되지 않습니다. 키-값 쌍을 중첩 할 수 있으므로 키가 여러 하위 키-값 쌍을 참조 할 수 있습니다.
하지만 키-값 쌍을 무기한 중첩 할 수는 없습니다. 3 단계 (열 패밀리) 또는 4 단계 중첩 (수퍼 컬럼 패밀리)으로 제한됩니다. column family라는 용어가 종을 울리지 않는 경우 WTF는 SuperColumn 기사입니다. Cassandra의 데이터 모델에 대한 좋은 설명입니다.
문서 데이터베이스CouchDB 및 MongoDB와 같은 는 전체 문서를 JSON 객체 형태로 저장 합니다 . 이러한 개체를 중첩 된 키-값 쌍으로 생각할 수 있습니다. Cassandra와 달리 원하는만큼 키-값 쌍을 중첩 할 수 있습니다. JSON은 또한 배열을 지원하고 문자열, 숫자 및 부울 값과 같은 다양한 데이터 유형을 이해합니다.
질의
컬럼 패밀리 스토어는 키로 만 쿼리하거나 맵 축소 기능을 작성하여 쿼리 할 수 있다고 생각합니다. SQL 데이터베이스 에서처럼 값을 쿼리 할 수 없습니다. 애플리케이션에 더 복잡한 쿼리가 필요한 경우 애플리케이션은 원하는 데이터에 액세스하기 위해 인덱스를 만들고 유지 관리해야합니다.
문서 데이터베이스는 키별 쿼리 및 맵 축소 기능도 지원하지만 "게시물이 10 개 이상인 모든 사용자에게 제공"과 같은 기본 쿼리를 값별로 수행 할 수도 있습니다. 문서 데이터베이스는 이러한 방식으로 더 유연합니다.