'문서 지향'과Key-Value는 MongoDB와 Cassandra에 대해 이야기할 때 의미합니까?
문서 기반의 NoSQL 옵션을 사용하면 KV 스토어보다 더 많은 것을 얻을 수 있으며, 그 반대도 마찬가지입니다.
키 값 저장소는 가능한 가장 간단한 데이터 모델을 제공하며 이름 그대로 키로 인덱싱된 값을 저장하는 스토리지 시스템입니다.키에 의한 쿼리가 제한되고 값이 불투명하기 때문에 스토어에서는 아무것도 알 수 없습니다.따라서 매우 빠른 읽기 및 쓰기 작업(간단한 디스크 액세스)이 가능하며, 이 모델은 일종의 비휘발성 캐시로 간주됩니다(예: 긴 수명 데이터에 대한 키별 빠른 액세스가 필요한 경우에 적합합니다).
문서 지향 데이터베이스는 이전 모델을 확장하며, 값은 데이터베이스가 이해할 수 있는 구조화된 형식(문서, 따라서 이름)으로 저장됩니다.예를 들어, 문서는 블로그 투고 및 주석과 태그가 정규화되지 않은 방식으로 저장될 수 있습니다.데이터가 투명하므로 저장소에서 더 많은 작업(예: 문서의 색인 필드)을 수행할 수 있으며, 키로 쿼리하는 데 제한이 없습니다.내가 암시한 바와 같이, 이러한 데이터베이스는 한 번의 쿼리로 전체 페이지의 데이터를 가져올 수 있고 컨텐츠 지향 애플리케이션에 매우 적합합니다(Facebook이나 Amazon과 같은 큰 사이트들이 이러한 데이터를 좋아하는 이유입니다).
다른 종류의 NoSQL 데이터베이스에는 열 지향 저장소, 그래프 데이터베이스 및 객체 데이터베이스가 있습니다.하지만 이건 말도 안 돼
「 」를 참조해 주세요.
지난 한 달 정도 NoSQL을 직접 조사했습니다.일반적으로는 이렇게 말할 수 있을 것 같아요.
- KV 스토어에서 키에 대해 실제로 저장된 값 콘텐츠를 알 수 없습니다.
- 문서 기반은 DB가 문서 구조(예: 블로그 게시물의 태그)를 알고 있기 때문에 가치 내용 내에서 보조 색인을 정의할 수 있습니다.
- NoSQL 솔루션에는 각각 다음과 같은 특정 기능이 있습니다.
- KV 스토어의 특수 데이터 유형(예: 빨간색과 같이 왼쪽/오른쪽 팝/푸시가 있는 세트)
- riak가 말한 것처럼 클러스터를 쉽게 확장/축소할 수 있습니다(아직 시도하지 않았습니다...)
- Voldemort와 같은 플러그형 데이터스토어
- CouchDB / couchapp과 같은 내장 웹 구성 및 웹 애플리케이션 지원
가장 큰 차이점은 문서 지향 데이터베이스는 보조 인덱스를 지원하지만 K/V는 지원하지 않는다는 것입니다.일반적으로 문서 지향의 dbs는 보다 풍부한 쿼리를 허용하는 경향이 있으며 범위 쿼리, 정렬 및 기타 유형의 "고급" 작업을 허용합니다.
키-값 데이터베이스 모델에서 사용자는 키를 선택할 수 있지만, 문서 모델의 문서 식별자는 일반적으로 시스템에서 생성됩니다.
키-값 데이터베이스 모델의 키-값 쌍은 그룹화할 수 없는 반면, 문서 데이터베이스에서는 키-값 쌍을 개별 문서로 그룹화할 수 있습니다. 또한 일부 형식의 문서 데이터베이스에서는 이러한 문서를 "집합" 또는 "도메인"으로 그룹화할 수도 있습니다.
문서 데이터베이스의 문서는 명확하게 정의된 내부 구조를 가지고 있지만(예를 들어 인덱스를 작성하기 위해 DBMS에 의해 조작될 수 있음), 이러한 값의 가능한 내부 구조가 DBMS 관점에서 불투명할 경우 키-값 데이터베이스의 값은 동일하지 않습니다.
key-value 모델에서는 여러 데이터베이스 엔트리(이 경우 key-value pair)에 액세스하려면 개별 요구가 필요합니다.반면 문서 모델에서는 여러 데이터베이스 항목(이 경우 문서)을 단일 요청으로 검색할 수 있습니다.
언급URL : https://stackoverflow.com/questions/3046001/what-does-document-oriented-vs-key-value-mean-when-talking-about-mongodb-vs-c
'programing' 카테고리의 다른 글
React가 DOM을 직접 관리하지 않는 지역에서는 브라우저에서 ReactDOMServer.renderToString을 사용해도 됩니까? (0) | 2023.03.05 |
---|---|
MODE COLUM IN oracle - NULL로 설정하기 전에 열이 NULL인지 확인하는 방법 (0) | 2023.02.28 |
리액트 라이브러리의 리액트 후크에서 잘못된 후크 호출 오류가 발생함 (0) | 2023.02.28 |
값을 반복하기 전에 jq에 'key'가 있는지 확인하는 방법 (0) | 2023.02.28 |
플러그인과 함께 작동하도록 워드프레스 사용자 지정 테마를 수정하려면 어떻게 해야 합니까? (0) | 2023.02.28 |