카우치베이스 .NET SDK 2.0 개발 시리즈: 새로운 뷰 쿼리 구문

새로운 Couchbase .NET SDK의 핵심 목표는 개발자 경험을 개선하는 것입니다. 이 목표를 달성하기 위해 여러 가지 방법으로 노력하고 있습니다:

  • Couchbase를 시작하고 실행하는 데 필요한 단계 수 감소(App.Config "무료" 읽기) 및 Couchbase .NET 클라이언트를 실행하는 데 필요한 단계 수 감소
  • 모든 카우치베이스 클라이언트 SDK에서 일관되고 균일한 인터페이스 제공
  • 문서와 비정형 데이터를 쿼리하는 사용하기 쉽고 유연하며 강력한 새로운 방법을 소개합니다.

이 글은 마지막 요점인 Couchbase 문서에 풍부한 쿼리 API를 제공하는 것에 초점을 맞추고 있습니다. 특히, 원하는 방식으로 데이터를 아주 간단하게 가져올 수 있도록 SDK에 추가되는 새로운 보기 쿼리 개선 사항에 대해 다룹니다!

카우치베이스에서 쿼리하기

카우치베이스 계보는 키/값 데이터베이스와 문서 데이터베이스라는 두 가지 지속성 구현의 영향을 크게 받습니다. K/V 저장소는 높은 처리량과 짧은 지연 시간을 제공하지만 유연성이 부족하다는 단점이 있습니다.

문서 데이터베이스는 키를 기본 인덱스로 사용하여 문서를 저장하는 K/V 스토어 개념을 기반으로 하지만 보조 및 복합 인덱싱을 위한 추가 기능을 추가하고, 가장 중요한 것은 키 집합을 쿼리하고 결과를 집계 또는 필터링하는 기능을 추가하는 것입니다.

섹션을 기본 문서에서 분리합니다. Couchbase에서는 맵/축소 함수에서 생성된 뷰를 사용하고 클라이언트가 문서를 쿼리하는 데 사용하는 REST API를 통해 뷰를 노출합니다.

카우치베이스 서버 3.0에서는 데이터에 액세스할 수 있는 세 번째 방법을 제공합니다: SQL과 유사한 쿼리 언어인 N1QL. 향후에는 애드혹 쿼리와 LINQ, 공급자를 통해 N1QL을 노출할 계획이며, 이에 대해서는 향후 게시물에서 자세히 다룰 예정입니다.

새로운 뷰 쿼리 구문

새로운 .NET 클라이언트의 경우, 저희는 다음을 개발했습니다. 유창한 인터페이스 주변의 추상화 나머지 API 보기 를 통해 직관적이고 자연스러운 방식으로 문서에 액세스하고 쿼리할 수 있습니다. 다음은 그 예입니다:

여기

는 Couchbase Server 클러스터에서 발생하는 구성 변경에 대한 옵저버인 Cluster 객체를 생성하고 이를 사용하여 버킷 인스턴스를 여는 데 사용합니다. 그런 다음 매개 변수로 "true"를 전달하는 ViewQuery 개체를 생성합니다. 개발 보기. 그런 다음 유창한 인터페이스 메커니즘을 사용하여 REST 요청을 생성하는 데 사용되는 일련의 함수 호출을 함께 연결합니다. From(...) 메서드는 대상 버킷과 디자인 문서를 지정하고 View(...) 메서드는 우리가 액세스하는 Couchbase 뷰를 지정합니다.

ViewQuery 객체를 생성한 후 이를 Get(...) 메서드에 전달하여 REST 요청을 실행한 다음 결과를 동적 유형으로 직렬화합니다. 여기서 동적 타입을 사용하면 컴파일 시 명시적으로 타입을 정의할 필요가 없으므로 상당한 유연성을 제공한다는 이점이 있습니다. 마지막으로 행을 반복하여 결과를 표시합니다.

개발자 프리뷰가 릴리스될 때쯤에는 IViewSupportable로 명시적으로 캐스팅할 필요가 없으며, 버킷 이름을 From(...) 메서드에 전달해야 하는 등 몇 가지 다른 변경 사항이 있을 수 있다는 점에 유의하세요.

개발자 미리보기!

이 게시물에서 DP에 대해 언급한 것을 눈치채셨을 텐데요, 계획은 있지만 이달 말이나 다음 달 초까지 날짜를 공개적으로 발표하지 않고 있습니다.

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

작성자

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

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

댓글 하나

  1. 업데이트에 대해 감사드리며, 저희 개발팀도 업데이트에 어떤 내용이 포함될지 기대하고 있으며, 말씀하신 기간에 출시되기를 간절히 바라고 있습니다.

  2. [...] JavaScript 맵/축소로 만든 뷰로 작업할 수 있는 새로운 유창한 뷰 API [...]

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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