도구 및 SDK

카우치베이스 SDK 3.1의 새로운 기능!

2020년 봄, 저희는 Couchbase SDK의 최신 개편 버전을 출시했습니다: 3.0. Couchbase Server 6.5.0과 함께 출시되어 범위 및 컬렉션에 대한 초기 실험적 지원을 제공하면서 완전히 새로운 API와 여러 플랫폼에 걸친 일관성을 포함했습니다. SDK 3.0은 카우치베이스 역사에서 중요한 이정표였지만, 카우치베이스 서버를 사용하는 개발자에게는 또 하나의 점진적인 개선에 불과했습니다. Couchbase Server는 계속해서 새로운 기능을 추가하며 발전하고 있으며, 이에 따라 FTS 지리 폴리곤 지원 및 버킷 내구성 관리 등의 기능이 더욱 개선된 Couchbase SDK 3.1.0을 출시하게 되었습니다.

이 글에서는 모든 Couchbase SDK에 추가된 새로운 기능을 하나씩 살펴봅니다. 예제는 C#에 있지만 Java, Go 또는 다른 언어에 관계없이 모든 SDK에서 유사한 관용적 구현이 이루어질 것으로 예상됩니다.

FTS 지오 폴리곤 지원

두 가지 유형의 지리적 쿼리를 보강합니다, 포인트 거리 그리고 바운드 사각형는 이미 6.5.0에서 카우치베이스에서 지원됩니다. 지리적 경계 다각형 쿼리 지원이 추가되었습니다. 포인트 거리 쿼리는 내 주변 음식점이나 정렬된 주변 거리와 같은 것을 찾는 데 유용합니다. 경계 직사각형 쿼리는 도시 블록과 같이 주변의 특정 직사각형 경계 내에 있는 레스토랑을 찾는 데 도움이 됩니다. 지리적 경계 다각형 쿼리를 사용하면 좌표 쌍 배열을 입력 매개변수로 사용하여 임의의 경계 다각형 내에 있는 레스토랑을 찾을 수 있습니다.

지리적 다각형 쿼리에 대한 자세한 내용은 다음에서 확인할 수 있습니다. 이 블로그 게시물을 참조하세요.

버킷 내구성 관리

내구성 수준 보장 문서의 지속성; 문서가 디스크에 지속되었는지 여부와 문서가 얼마나 많은 복제본에 기록되었는지 여부입니다.

이전 버전의 카우치베이스 서버와 SDK에서는 K/V 작업을 통해서만 지속성 수준 설정을 제공할 수 있었기 때문에, 특히 버킷 내의 모든 문서에 대해 지속성 보장이 동일해야 하는 경우 반복적이고 일상적인 프로세스로 변질될 수 있었습니다. 이제 카우치베이스 서버 6.6부터는 버킷 수준에서 내구성을 설정으로 추가할 수 있습니다. 이 기능은 이제 SDK 3.1을 통해 사용할 수 있습니다. 카우치베이스 서버 6.6은 버킷 수준의 내구성을 추가하여 버킷 내의 모든 문서에 특정 내구성을 적용할 수 있도록 합니다. Couchbase SDK 3.1.0에서는 버킷 관리 API를 사용하여 SDK에 대한 지원을 계속합니다.

지원되는 내구도 레벨은 다음과 같습니다:

  • 대다수 - 문서가 클러스터의 구성된 노드 대부분에 복제되어 있어야 합니다.
  • 다수결 및 지속 활성 - 와 동일하지만 문서가 활성 노드에도 유지되어야 내구성 요구 사항을 충족할 수 있습니다.
  • PersistToMajority - 문서가 디스크의 구성된 노드 대부분에 유지되어야 합니다.

기본 지속성 수준은 없음이지만 문서를 삽입하거나 업데이트할 때 지속성 수준을 지정할 수 있습니다.

버킷 임시 관리

이 기능을 사용하면 관리 API를 사용하여 임시 버킷을 만들 때 문서에 대한 퇴거 정책을 설정할 수 있습니다. 현재 지원되는 퇴출 정책은 다음과 같습니다:

  • NRU 퇴거 - 메모리 할당량에 도달하면 카우치베이스 서버는 최근에 사용하지 않은 데이터를 내보냅니다.
  • 퇴거 금지 - 카우치베이스 서버는 명시적으로 삭제할 때까지 모든 데이터를 보관하지만 버킷에 설정한 할당량(전용 메모리)에 도달하면 새로운 데이터는 거부합니다.

다음은 NRU 퇴거 설정의 예입니다:

지정하지 않으면 기본값은 퇴거 없음입니다.

FTS 플렉스 인덱스

FTS 플렉스 인덱스

플렉스 인덱스 는 개발자가 Couchbase 쿼리 서비스를 사용하여 검색 기능을 활용할 수 있는 기능을 제공합니다. 예를 들어, N1QL은 선택성이 있는 B-Tree 인덱스를 사용하고 FTS는 낮은 선택성 또는 "퍼지"를 제공하는 반전 인덱스를 사용합니다. Flex Index를 사용하면 원하는 동작에 대한 힌트를 서비스에 제공함으로써 정확한 쿼리와 퍼지 쿼리를 모두 결합할 수 있습니다. SDK에서는 이 기능이 노출되어 있지만, 쿼리옵션 객체에 간단한 플래그를 설정하면 N1QL 서비스가 쿼리를 처리하는 데 FTS 인덱스 사용을 고려하도록 지시할 수 있습니다.

플렉스 인덱스를 사용하려면 QueryOptions 클래스에서 FlexIndex 속성 또는 메서드를 설정하기만 하면 됩니다.

FTS 점수 매개변수

최적화를 통해 이제 검색 쿼리를 수행할 때 채점을 비활성화할 수 있습니다. 이는 전달된 옵션 블록 매개변수로 노출됩니다:

true가 전달되면 채점이 비활성화되고, 그렇지 않으면 응답에 포함됩니다.

GetResult.Expiry는 더 이상 사용되지 않습니다.

마지막으로, GetResult.만료 은 더 이상 사용되지 않으며 GetResult.만료 시간 는 기간이 아닌 시간 단위로 인스턴스를 지정합니다.

피드백 부탁드립니다!

다음은 Couchbase Server 6.6 및 7.0용 Couchbase SDK 3.1에 추가된 새로운 기능입니다. 유용하게 사용하시길 바라며, 언제든지 피드백을 제공해 주시기 바랍니다. 포럼 를 클릭하거나 Couchbase 전문가에게 질문하세요.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Jeff Morris, 수석 소프트웨어 엔지니어, Couchbase

Jeff Morris는 Couchbase의 수석 소프트웨어 엔지니어입니다. Couchbase에 입사하기 전에는 6년 동안 Source Interlink에서 엔터프라이즈 웹 아키텍트로 근무했습니다. Jeff는 Couchbase SDK 개발과 N1QL(쿼리 언어)과 통합하는 방법을 담당하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.