많은 분들이 기다려온 Spring Data Couchbase 4.0이 향상된 기능과 함께 출시되었음을 알려드리게 되어 기쁘게 생각합니다. Couchbase Java SDK 3.0을 기반으로 구축된 Spring Data Couchbase는 기술 개선 사항과 함께 즉시 제공되며 최신 Couchbase Server 6.5 기능을 활용합니다. 이러한 개선 사항은 개발자의 민첩성을 극대화하고, 코드 임피던스를 줄이며, 관리 효율성을 높이고, 양질의 개발자 경험을 제공하는 것을 목표로 합니다.
참조 링크
소개
이미 스프링 데이터에 익숙하고 궁금증을 해소하고 싶다면 지금 바로 다음 페이지로 이동하여 updates 섹션으로 이동합니다.
변경된 내용을 살펴보기 전에 Spring 데이터 카우치베이스에서 잠시 한 걸음 물러나 스프링 데이터가 무엇인지, 어떤 문제를 해결하는지, 개발자가 스프링 데이터 사용을 고려해야 하는 이유를 이해해 보겠습니다.
대부분의 개발자는 데이터 지속성을 위한 사실상의 표준인 데이터베이스에 익숙합니다. 오늘날 거의 모든 애플리케이션은 영구 저장소를 담당하는 어떤 유형의 기술에 의존하며, 최신 엔터프라이즈 애플리케이션은 일반적으로 다중 모델 데이터베이스 사용을 채택하고 있습니다.
지속성 저장소로 사용되는 기술에 관계없이 데이터에 대해 수행되는 작업은 대체로 일관성을 유지해 왔습니다. 이러한 작업의 일관성은 개발자가 오랜 기간 동안 수천 줄의 코드를 반복해서 작성하여 기본 지속성 저장소에서 데이터를 생성, 검색, 업데이트 및 삭제하는 데서 비롯됩니다. 개발자는 항상 반복적이고 단조로운 코드를 작성하는 것을 피하고 더 많은 가치를 창출하는 비즈니스 로직을 작성하는 데 집중하고 싶을 것입니다.
10년이 넘었습니다, 리포지토리 패턴 는 개발자 커뮤니티에서 많은 인기와 주목을 받고 있습니다. 현대적으로 해석하면 리포지토리 패턴 는 데이터 저장소를 추상화하고 비즈니스 로직이 논리적 수준에서 작업을 정의, 읽기 및 쓸 수 있게 해줍니다. 이러한 패턴은 추상화의 관점에서는 좋지만 개발자가 반복적인 코드를 작성하는 핵심 문제를 해결하지는 못합니다. 구현 리포지토리 패턴 데이터 액세스를 직접 작성하면 스파게티 코드가 많아 유지 관리가 악몽이 될 수 있으며, 또한 D.R.Y 원칙. 바로 이 지점에서 스프링 데이터가 우리를 구해줍니다.
Spring Data는 관계형 데이터베이스 시스템과 NoSQL 데이터 저장소 등 다양한 종류의 지속성 저장소에 대한 액세스를 통합하고 쉽게 하는 것을 목적으로 하는 높은 수준의 Pivotal 프로젝트입니다. Spring Data는 지속성 저장소별 구현뿐만 아니라 이러한 측면에 대한 일반 인터페이스(CrudRepository, PagingAndSortingRepository)를 제공합니다.
스프링 데이터의 리포지토리를 사용하면 인터페이스 (사용 중인 지속성 저장소의 종류에 따라 다를 수 있음) 규칙에 따라 정의된 파인더 메서드를 사용할 수 있습니다. Spring Data는 런타임에 해당 인터페이스의 적절한 구현을 제공합니다.
반면, Couchbase용 Spring Data는 엄브렐러 스프링 데이터 프로젝트의 일부로, Couchbase에서 엔터프라이즈 구독자에게 유지 관리 및 전폭적인 지원을 제공합니다. 스프링 데이터 포 카우치베이스는 스토어별 기능을 유지하면서 새로운 데이터 스토어를 위한 친숙하고 일관된 프로그래밍 모델을 제공하는 것을 목표로 합니다. 스프링 데이터 카우치베이스를 사용하면 스프링 데이터의 단순성과 카우치베이스의 강력한 기능을 모두 누릴 수 있습니다!
스프링 데이터 카우치베이스 4.0의 변경된 기능
Spring Data Couchbase 4.0은 Couchbase Java SDK 3.0을 기반으로 구축되었습니다.
Couchbase Java SDK 3.0은 2.x API를 완전히 재구성하여 더 간단한 표면 영역을 제공하고 컬렉션, 범위 및 트랜잭션과 같은 향후 Couchbase Server 기능에 대한 지원을 추가합니다(Couchbase Server 6.5부터 다음과 같이 사용 가능). 개발자 미리 보기).
카우치베이스 서버 버전 지원
기능 지원을 유지하기 위해 최소 Couchbase Server 버전 요구 사항이 5.5 이상으로 상향 조정되었습니다.
쿼리용 N1QL
앞으로 나아가기 N1QL이 기본 구현이 될 것입니다. 는 기본 제공 방법뿐만 아니라 사용자 정의 리포지토리 방법으로 작업할 때도 마찬가지입니다. Spring Data는 N1QL 이전 버전이기 때문에 기본적으로 이전 서비스를 사용했습니다. 과거에 Spring Data와 함께 N1QL을 사용한 적이 있는 경우, 스프링 데이터 카우치베이스 4.0으로 N1QL 쿼리를 구현할 때 큰 동작 변화는 없으니 걱정하지 마세요.
자동 인덱스 관리
자동 인덱스 관리라는 개념은 새로운 것은 아니지만, 인덱스 관리가 개선되어 보다 N1QL 중심적으로 바뀌었습니다. 다음과 같은 인덱스 주석 중 일부는 뷰 인덱스가 제거됩니다. 더 이상 관련성이 없어짐에 따라 필드 수준 인덱싱, 복합 필드 인덱스 등과 같은 풍부한 기능을 제공하는 많은 새로운 인덱스 주석이 주석 제품군에 추가되었습니다.
엔티티
엔티티를 처리하는 방식은 달라진 것이 없지만, 가져오기 간 전환은 그 어느 때보다 쉬워졌습니다. 이제 Couchbase SDK 2.x의 일부였던 모든 어노테이션이 삭제되었으므로 개발자는 기본 스프링 데이터 어노테이션을 그대로 사용할 수 있습니다.
템플릿
리액티브카우치베이스템플릿 및 카우치베이스템플릿 가 전반적으로 개편되어 유창한 API 메서드 오버로드 대신 또한 RxJava에서 Reactor 를 사용하여 반응형 템플릿을 스프링 에코시스템에 원활하게 통합할 수 있습니다.템플릿 메서드 이름은 사용하기 쉽도록 일반화되었으며, 모든 보기 기반 메서드가 제거되었습니다.. 또한 Couchbase 분석 서비스 및 복제본을 활용하는 새로운 방법도 도입되었습니다.
거래
이제 개발자는 기본적으로 모든 트랜잭션 기능을 사용할 수 있습니다. 이를 통해 개발자는 트랜잭션을 프로그래밍 방식으로 완벽하게 제어할 수 있습니다.
구성
이전 버전의 Spring-Data에서는 XML 및 Java 기반 어노테이션을 통한 구성이 가능했지만, 이번 릴리스에서는 다음과 같이 변경되었습니다. XML 기반 구성이 제거되었습니다.
조회수
뷰는 N1QL이 등장하기 전부터 존재했습니다. Spring-Data 3.x는 당시 계속 진화하고 있던 리포지토리의 일부 측면에 대해 N1QL보다 보기 사용을 강조했습니다. 지난 몇 년 동안 성능, 확장성, 검색 기능과의 통합과 관련하여 N1QL이 크게 발전해 왔으며, Spring Data 4.0부터는 N1QL의 이점을 극대화하기 위해 다음과 같이 크게 개선되었습니다. 보기에 대한 지원이 제거되었습니다.
다음 단계는 무엇인가요?
4.0의 기능이 마음에 들었는지, 앞으로 비즈니스에 어떤 도움이 될지 여러분의 의견을 듣고 싶습니다. 다음 예제 중 일부를 사용해 볼 수도 있습니다. 여기. 다음 사항을 잊지 마세요. 댓글을 통해 피드백을 공유하거나 포럼.
문의해 주셔서 감사합니다. 이 포럼에서 자세한 내용을 알려주세요.
https://www.couchbase.com/forums/c/java-sdk
도움을 줄 수 있는 개발자가 많이 있습니다.
누락된 메이븐 참조가 있을 수 있습니다.
스프링 데이터 4에서는 지금 바로 부팅을 사용할 수 없으며, 자동 구성 및 모든 것을 종속성으로 포함하는 부팅 2.3이 출시될 때까지 기다려야 합니다(조만간). 이전 부팅 버전을 사용할 수 있지만 클래스 경로에 자동 구성이나 다른 것이 없는지 확인해야 합니다.
또한 카우치베이스는 JDBC와 아무 것도 하지 않으므로 이것이 카우치베이스와 어떤 관련이 있는지 잘 모르겠습니다.
스프링 부팅 2.3.0으로 업그레이드하면서 Couchbase를 구성하고 AbstractCouchbaseConfiguration을 확장하는 동안 직면하는 문제에 대한 자세한 설명은 어디에서 찾을 수 있나요?
이 블로그에 제공된 링크에는 AbstractCouchbaseConfiguration의 메서드에 대한 설명/문서가 없습니다.
이전 SDK 및 스프링 부트 버전에서 작동하던 여러 버킷을 구성하려고 합니다.
리야, 이 블로그에서 도움을 요청할 수 있는 여러 사례가 언급되어 있습니다.
a) 예시: (https://github.com/deniswsrosa/spring-data-examples/blob/boot-next/couchbase/example/src/main/java/example/springdata/couchbase/repository/CouchbaseConfig.java)
b) Spring 데이터 문서 : https://docs.spring.io/spring-data/couchbase/docs/4.0.0.RELEASE/reference/html/#couchbase.configuration
또한 RBAC를 사용하면 클러스터 수준 인증을 제공해야 한다는 것을 알고 있을 것입니다.
더 궁금한 점이 있으면 다음 주소로 개발자 커뮤니티에 직접 문의할 수 있습니다. https://www.couchbase.com/forums/c/java-sdk
고마워요! 참고하겠습니다.
어떤 작업을 시도했고 어떤 점이 실패했는지 구체적으로 설명해 주시겠어요?
4.0.1에는 더 많은 수정 사항이 있습니다.
또한, 저희의 포럼 빠른 응답과 도움을 받을 수 있습니다.
언제나 도와드리겠습니다!