Couchbase 데이터 플랫폼이 발전함에 따라, N1QL 및 GSI 인덱싱과 같은 서비스가 Couchbase VIEWS가 처리하던 사용 사례 등을 처리하게 되었습니다. 이 둘을 비교하는 것은 당연한 일입니다. 다음은 두 서비스를 비교한 표입니다. 이 글은 두 가지 모두에 익숙한 개발자와 아키텍트를 위한 것이지 입문서가 아닙니다. 여기에 있는 링크를 사용하여 자세한 내용을 알아보고 각 기능을 사용해 보세요.

 주제
카우치베이스 맵-뷰 줄이기
카우치베이스 N1QL+GSI
접근 방식 백그라운드에서 데이터에 대해 작동하는 사용자 정의 map() 및 reduce() 함수를 기반으로 합니다. map() 및 reduce()는 자바스크립트로 작성되었기 때문에 해당 함수 내에서 복잡한 로직을 코딩할 수 있습니다. 선언적 N1QL 쿼리(JSON용 SQL)를 기반으로 합니다. 적절한 인덱스를 사용해 실행을 최적화하고 쿼리-인덱스-데이터 서비스를 오케스트레이션하여 동적으로 실행합니다. N1QL은 JSON에 대해 쉽게 쓰고 읽을 수 있는 쿼리를 가능하게 합니다. SQL에서 영감을 받았기 때문에 유연하고 구성이 가능합니다. JSON용으로 확장되었기 때문에 풍부한 JSON 데이터에서 작동합니다. 4값 부울 논리(true, false, NULL, MISSING)를 사용합니다.
자세한 정보 카우치베이스 문서: http://bit.ly/2jQrY11
  1. http://query.couchbase.com
  2. https://www.couchbase.com/blog/n1ql-practical-guide-second-edition/

 

쿼리하기 쿼리 기준

  1. 단일 키
  2. 키 세트
  3. 시작-끝 키
  4. 시작-끝 문서 키
  5. 그룹화 기준, 집계
  6. 페이지 매김

 

쿼리 문

  1. 선택
  2. 삽입
  3. 업데이트
  4. 삭제
  5. MERGE
  6. INFER
  7. 설명

쿼리 작업:

  1. 단일 키
  2. 키 세트
  3. 범위 키
  4. 문서 키의 범위
  5. 임의로 복잡한 술어
  6. 내부 조인, 왼쪽 외부 조인
  7. NEST, UNNEST
  8. 그룹 기준
  9. 집계
  10. 페이지 매김(오프셋, 제한)
  11. 최적화
  12. 주문 기준
  13. 보유
  14. 하위 쿼리(상관관계, 비상관관계)
  15. 파생 테이블
  16. SET 연산: 유니온, 유니온 모두, 예외, 예외 모두, 교차
  17. 구성성이 뛰어난 쿼리, 즉 복잡한 비즈니스 질문과 작업을 쉽게 표현하기 위해 이러한 작업을 서로 간단히 결합할 수 있습니다.
인덱싱 보기에 대한 간단한 색인.
  1. 기본 색인
  2. 명명된 기본 인덱스
  3. 보조 색인
  4. 복합 보조 인덱스
  5. 기능 색인
  6. 배열 색인
  7. ALL 배열
  8. 모든 고유 배열
  9. 부분 색인
  10. 적응형 인덱스
  11. 중복 인덱스
  12. 커버링 인덱스
파티셔닝 데이터 파티셔닝에 맞춰 조정됩니다. 독립 서비스.

N1QL 및 GSI는 데이터 서비스 및 서로 독립적으로 확장됩니다.

규모 데이터 서비스로 확장 다차원 스케일링(MDS)을 통한 독립적인 스케일링
문서 키로 가져오기 데이터는 문서 키에 분할되어 있으므로 노드에서 직접 문서를 가져옵니다. USE KEYS 절을 통해 쿼리를 지정합니다.

데이터는 문서 키에 분할되어 있으므로 노드에서 직접 문서를 가져옵니다.

인덱스 키로 가져오기 분산-수집 단일 노드에서 각 인덱스 스캔; 여러 노드에 있는 데이터.

쿼리 노드에서 포스트 처리

범위 스캔 분산-수집 단일 노드에서 인덱스 스캔.

쿼리 노드에서 포스트 처리

그룹화, 집계 보기 API에 내장 N1QL에 내장
캐싱 파일 시스템 인덱스 버퍼 풀

데이터 캐시

스토리지 카우치스토어 플라즈마 스토리지 엔진(5.0 이상)

메모리 최적화 지수(4.5 이상)

ForestDB(커뮤니티)

가용성 복제본 기반 5.0: 복제본

4.x: 등가 인덱스

쿼리 지연 시간

(간단한 쿼리)

10밀리초 ~ 100밀리초 5밀리초 이상
쿼리 처리량

(간단한 쿼리)

초당 3K ~ 4K 쿼리 초당 40,000건의 쿼리
확장성 보통(데이터 서비스에 연동된 확장) 높음(인덱스 및 쿼리 서비스의 독립적 확장: MDS)
적용 가능성 지연 시간이 짧거나 중간 정도인 대규모 집계에 가장 적합한 집계입니다. 데이터에 대한 맵 축소 작업은 데이터가 수정될 때 백그라운드에서 수행됩니다. 속성 기반 조회, 범위 스캔, 복잡한 선택-조인-프로젝트 배열에 적합

연산. 그룹화, 집계 및 정렬을 지원하며, 이러한 작업은 쿼리 실행의 일부로 동적으로 수행됩니다.

애플리케이션 요구 사항 잘 정의된 메트릭에 대한 보고서

대규모 집계

지연 시간 민감

보조 키 조회

범위 스캔

운영 집계

필터링된 쿼리

복잡한 술어, 조인, 집계, 앱 검색, 페이지 매김, 보조 키 기반 업데이트가 포함된 임시 쿼리.

공간 공간 뷰를 통해 지원 직접적으로는 아닙니다.

https://dzone.com/articles/speed-up-spatial-search-in-couchbase-n1ql

일관성 Stale = UPDATE_AFTER

부실 = 확인

부실 = 거짓

무제한(부실 = OK)

AT_PLUS(자신의 쓰기 읽기)

REQUEST_PLUS(지금까지 인덱스 업데이트 후 읽기(). Stale = False).

도구 웹 콘솔 웹 콘솔, 개발자 워크벤치, 쿼리 모니터링, 쿼리 프로파일링, 시각적 설명, INFER.

작성자

게시자 케샤브 머시

케샤브 머시는 Couchbase R&D의 부사장입니다. 이전에는 MapR, IBM, Informix, Sybase에서 근무했으며 데이터베이스 설계 및 개발 분야에서 20년 이상의 경력을 쌓았습니다. IBM Informix에서 SQL 및 NoSQL R&D 팀을 이끌었습니다. Couchbase에서 두 번의 President's Club 상을, IBM에서 두 번의 우수 기술 업적상을 수상했습니다. 인도 마이소르 대학교에서 컴퓨터 과학 및 공학 학사 학위를 받았으며, 10개의 미국 특허를 보유하고 있고 3개의 미국 특허를 출원 중입니다.

댓글 남기기