새로운 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에 대해 언급한 것을 눈치채셨을 텐데요, 계획은 있지만 이달 말이나 다음 달 초까지 날짜를 공개적으로 발표하지 않고 있습니다.
업데이트에 대해 감사드리며, 저희 개발팀도 업데이트에 어떤 내용이 포함될지 기대하고 있으며, 말씀하신 기간에 출시되기를 간절히 바라고 있습니다.
[...] JavaScript 맵/축소로 만든 뷰로 작업할 수 있는 새로운 유창한 뷰 API [...]