2018년 11월 GA 이후, 결제 제공업체의 애드혹 분석, 이커머스 업체의 장바구니 분석, 글로벌 항공사의 차세대 항공권 예약 엔진, 야구장 내 팬들이 가득 차는 음식 카트의 실시간 이동 등 다양한 업종에서 Couchbase Analytics를 사용하여 빠른 시간 내에 인사이트를 확보하고 있습니다.
초기 릴리즈에서 시스템의 설계 목표 중 하나는 클러스터에서 리밸런싱, 장애 조치 또는 롤백 작업이 수행되는 동안에도 쿼리를 실행할 수 있는 분석 서비스의 가용성이었습니다. 그 결과, 데이터가 이동되거나 파티션이 재분할되는 동안에도 분석 서비스는 쿼리 결과를 반환했습니다. 이 설계는 개발자의 생산성을 위해 맞춤화되었으며, DevOps 팀이 독립적으로 Couchbase 클러스터를 리밸런싱, 장애 조치 또는 롤백할 수 있게 해줍니다.
고객이 프로덕션 환경에 Analytics를 배포하면서 흔히 요청하는 것은 비단조적 결과가 반환되지 않도록 해달라는 것입니다. 비단조적 동작이란 특정 시간 C에서 평가된 쿼리가 훨씬 이전 시점인 시간 A에서 최신 결과를 반환하고, 중간 쿼리가 더 최근 결과를 반환하는 경우를 말합니다. 아래 그림은 이 개념을 설명합니다.
이는 특히 소비자 지출, 분기별 매출, 장바구니의 품목, 재고 등과 같은 비즈니스 크리티컬 애플리케이션을 Couchbase에서 실행하는 고객에게 해당됩니다. 고객은 이러한 비즈니스 크리티컬 애플리케이션을 실행하는 동안 보고서, 대시보드, 분석 및 결과적으로 인사이트가 클러스터 운영의 영향을 받는 것을 원하지 않습니다.
향후 쿼리가 Analytics로 데이터를 수집한 후 이전에 쿼리가 실행된 상태로 돌아갈 때만 반환되도록 하기 위해, 다음 릴리스에서 '스캔 일관성'을 도입할 예정입니다.
스캔 일관성이란 분석 서비스의 데이터가 데이터 서비스의 데이터 상태와 일치하는 것을 말합니다.
스캔 일관성의 목표는 이전에 유효한 상태에 다시 도달하기 전에 쿼리 결과를 반환하지 않음으로써 비단조로운 동작을 방지하는 것입니다.
이렇게 하려면 쿼리 워크벤치에서 적절한 환경설정을 설정하기만 하면 됩니다. '스캔 일관성' 기본 설정을 다음 중 하나로 설정한 스크린샷을 아래에 첨부해 두었습니다:
- not_bounded
- 요청_플러스
NOT_BOUNDED(기본값):
6.0의 동작과 유사하게, 쿼리는 수집된 현재 데이터를 기반으로 즉시 평가됩니다(또는 중요한 롤백이 발생한 경우 다시 수집됨).
요청_플러스:
쿼리를 실행하기 전에 쿼리에 응답하는 데 필요한 데이터 세트가 식별되고, Analytics는 해당 데이터 세트를 제공하는 데이터 노드에서 버킷의 현재 상태를 검색합니다. 쿼리 요청이 수신되었을 때 버킷의 상태까지 데이터 세트가 모든 데이터를 수집할 때까지 쿼리가 실행되지 않습니다.
선택적으로 쿼리 시간이 초과되기 전까지 대기할 시간을 "scan_wait" 매개변수입니다.
A 요청_플러스 쿼리를 사용하여 스캔 대기 매개변수 설정은 지정된 시간 내에 요청된 스캔 일관성 수준을 달성하지 못하면 시간이 초과됩니다.
리소스
다운로드
문서
블로그
블로그 Couchbase Server 6.5 발표 - 새로운 기능 및 개선 사항