IT story

MongoDB와 Cassandra에 대해 이야기 할 때 "문서 지향"과 키-값의 의미는 무엇입니까?

hot-time 2020. 8. 6. 07:54
반응형

MongoDB와 Cassandra에 대해 이야기 할 때 "문서 지향"과 키-값의 의미는 무엇입니까?


문서 기반 NoSQL 옵션을 사용하면 KV 스토어를 통해 무엇을 구매합니까?


키 - 값 저장소는 가장 간단한 데이터 모델을 제공하고, 이름에서 알 수 정확히 무엇을 : 그것은 저장 값이 키에 의해 색인하는 스토리지 시스템입니다. 키로 쿼리하는 것으로 제한되어 있으며 값이 불투명 하며 상점은 그에 대해 아무것도 알지 못합니다 . 이것은 매우 빠른 읽기 및 쓰기 작업 (간단한 디스크 액세스)을 허용 하며이 모델을 일종의 비 휘발성 캐시로 간주합니다 (즉, 수명이 긴 데이터의 키로 빠른 액세스가 필요한 경우 적합).

문서 지향 데이터베이스는 이전 모델을 확장하고 값이 저장되어 구조화 된 데이터베이스가 이해할 수있는 (따라서 이름, 문서) 형식입니다. 예를 들어, 문서는 블로그 게시물 , 비정규 화 된 방식으로 저장된 주석 태그 일 수 있습니다. 데이터가 투명 하기 때문에 저장소는 문서의 색인 필드와 같이 더 많은 작업을 수행 할 수 있으며 키별로 쿼리하는 데 제한되지 않습니다. 내가 암시했듯이, 그러한 데이터베이스는 단일 쿼리로 전체 페이지의 데이터를 가져올 수 있으며 컨텐츠 지향 응용 프로그램에 적합합니다 (Facebook 또는 Amazon과 같은 큰 사이트가 그와 같은 이유입니다).

다른 종류의 NoSQL 데이터베이스에는 열 지향 저장소 , 그래프 데이터베이스객체 데이터베이스가 포함 됩니다. 그러나 이것은 문제를 넘어선 것입니다.

또한보십시오


글쎄, 지난달 정도 NoSQL을 직접 조사 해왔다. 나는 일반적으로 다음과 같이 말할 수 있다고 생각합니다.

  • KV 스토어는 키에 실제로 저장된 가치 컨텐츠를 모릅니다
  • db는 문서 구조 (예 : 블로그 게시물의 태그)를 알고 있으므로 문서 기반을 사용하면 값 컨텐츠 내에 보조 인덱스를 정의 할 수 있습니다.
  • NoSQL 솔루션에는 각각 다음과 같은 특정 기능을 고려해야합니다.
    • KV 스토어의 특수 데이터 유형 (예 : redis와 같이 왼쪽 / 오른쪽 팝 / 푸시가있는 세트)
    • riak이 말한 것처럼 쉬운 확장 / 축소 클러스터 (아직 시도하지 않았습니다 ...)
    • Voldemort와 같은 플러그 형 데이터 저장소
    • CouchDB / couchapp와 같은 내장 웹 구성 및 웹 앱 지원

문서 지향 데이터베이스 또는 문서 저장소는 반 구조화 된 데이터 인 문서 지향 정보를 저장, 검색 및 관리하기위한 것입니다. 키-값 저장소는 문서 지향 데이터베이스를 상속합니다. 차이점은 데이터 처리 방식에 있습니다. 키-값 저장소에서 데이터는 본질적으로 데이터베이스에 대해 불투명 한 것으로 간주되는 반면, 문서 지향 시스템은 데이터베이스 엔진이 추가 최적화를 위해 사용하는 메타 데이터를 추출하기 위해 문서의 내부 구조에 의존합니다.

MOngoDb와 Cassandra의 차이점에 대해 다룰 경우 MongoDB는 관계형 데이터베이스와 매우 유사합니다. 데이터 모델은 최상위 수준의 데이터베이스와 MySQL의 테이블과 같은 컬렉션 (예 : MySQL의 행과 같은 컬렉션에 포함 된 문서)으로 구성됩니다. 각 문서에는 MySQL의 열 및 값과 유사한 필드와 값이 있습니다. 필드는 간단한 키 / 값일 수 있습니다 (예 : { 'name': 'David Mytton'}). 그러나 다른 문서도 포함 할 수 있습니다. { 'name': { 'first': David, 'last': 'Mytton'}}. 카산드라 문서에서는“열”이라고하며 실제로는 단일 키와 값입니다. 예 : { 'key': 'name', 'value': 'David Mytton'}. 내부 복제 및 일관성을위한 타임 스탬프 필드도 있습니다. 값은 단일 값일 수 있지만 다른 "열"을 포함 할 수도 있습니다. 그런 다음이 열은 열에서 특정 값을 기준으로 데이터를 정렬하는 키 제품군 내에 존재합니다.

그러나 최상위 레벨에는 MongoDB 데이터베이스와 유사한 키 공간이 있습니다.

참고 URL : https://stackoverflow.com/questions/3046001/what-does-document-oriented-vs-key-value-mean-when-talking-about-mongodb-vs-c

반응형