자바

Spring Data Couchbase 2가 출시되었습니다! Spring Initializr로 빠르게 시작하기

4 분 읽기

여러분에게 좋은 소식이 있습니다, 스프링 데이터 카우치베이스 2 지난주에 출시되어 이제 멋진 Spring Initializr에서 사용할 수 있습니다. 이 멋진 웹사이트를 사용하면 Spring/Couchbase 프로젝트를 매우 빠르게 시작할 수 있습니다. 프로젝트에 필요한 종속성을 선택하고 프로젝트 생성(Generate Project) 버튼을 누르기만 하면 가져올 준비가 된 프로젝트가 포함된 아카이브가 생성됩니다. 이 마법사는 다음에서도 사용할 수 있습니다. 스프링 툴 스위트.

1/ 이동하기 https://start.spring.io/

2/ 현재 이 기능은 Spring Boot 1.4.0-SNAPSHOT에서만 사용할 수 있으므로, 먼저 올바른 Spring Boot 버전을 선택해야 합니다.

3/ Couchbase 선택

4/ 프로젝트에 필요할 수 있는 기타 종속성을 추가하세요.

프로젝트 생성

이제 선택하신 편집기로 가져올 준비가 된 아카이브가 생겼습니다. 저는 Spring 작업을 하고 있어서 그들의 기본 도구 모음을 고수하는 편입니다. 이는 기본적으로 올바른 플러그인 세트가 미리 구성된 Eclipse입니다.

6/ 기존 메이븐 프로젝트로 간단히 임포트할 수 있도록 생성 마법사에서 메이븐을 계속 사용했습니다.

기본 설정을 활성화하려면 application.properties 파일에 다음 내용을 추가해야 합니다.

spring.data.couchbase.bucket.name=default

또는 AbstractCouchbaseConfiguration을 확장하는 @Configuration 빈을 생성할 수 있습니다. 이제 시작하겠습니다. 다음은 Spring Boot Couchbase 자동 설정이 제공하는 기능에 대한 간략한 목록입니다.

속성

Couchbase 액세스를 구성하기 위해 몇 가지 속성을 정의할 수 있으며, 기본값은 다음과 같습니다:

# 연결할 버킷의 이름으로, 자동 구성을 활성화하려면 필수입니다.
spring.data.couchbase.bucket.name=default
# 연결할 버킷의 비밀번호입니다.
spring.data.couchbase.bucket.password=
# Couchbase 클러스터 노드의 주소
spring.data.couchbase.bootstrap-hosts=127.0.0.1
# 어노테이션(@ViewIndexed, @N1qlPrimaryIndexed, @N1qlSecondaryIndexed)만을 기반으로 한 자동 인덱스 생성
spring.data.couchbase.auto-index=false
# 기본 일관성 수준 (read-your-own-writes|eventually-consistent|strongly-consistent|update-after)
spring.data.couchbase.consistency=read-your-own-writes
  • read-your-own-writes는 stale=false 및 ScanConsistency=statement_plus입니다.
  • 강한 일관성(strongly-consistent)은 stale=false 및 ScanConsistency=request_plus입니다.
  • update-after는 stale=update-after이고 ScanConsistency=not_bounded입니다
  • 최종적 일관성은 stale=true 및 ScanConsistency=not_bounded입니다.

신선도 수준

stale=true이(가) 설정된 경우, Couchbase는 뷰가 오래된(stale) 상태이더라도 뷰를 새로고침하지 않습니다. 이로 인한 이점은 향상된 쿼리 지연 시간입니다. stale=update_after가 설정된 경우, Couchbase는 오래된 결과가 반환된 후에 뷰를 업데이트합니다. stale=false가 설정된 경우, Couchbase는 뷰를 새로고침하여 가장 최신 결과를 반환합니다.

스캔 일관성 수준

유계가 아닌

단일 문장 요청의 경우 기본값입니다. 인덱스 스캔에서는 타임스탬프 벡터가 사용되지 않습니다. 또한 벡터를 얻는 비용이 발생하지 않고 인덱스가 벡터를 따라잡을 때까지 대기하는 시간도 피할 수 있기 때문에 가장 빠른 모드이기도 합니다.

추가 요청

이는 요청에 따라 강력한 일관성을 구현합니다. 요청을 처리하기 전에 현재 벡터가 획득됩니다. 이 벡터는 요청 내 문장의 하한값으로 사용됩니다. 요청에 DML 문장이 있는 경우 요청 내에서도 RYOW가 적용됩니다.

statement_plus

이는 문장별로 강력한 일관성을 구현합니다. 각 문장을 처리하기 전에 현재 벡터가 획득되며 해당 문장의 하한값으로 사용됩니다.

인덱스 주석

여기에 자동화가 포함된 저장소의 예시가 있습니다 색인 생성. 리포지토리 빈이 초기화될 때, 어노테이션으로 정의된 인덱스가 존재하는지 확인하고 존재하지 않으면 생성합니다.

@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "customer")
@N1qlSecondaryIndexed(indexName = "customerSecondaryIndex")
public interface CustomerRepository extends CouchbasePagingAndSortingRepository {}

인덱스는 개발 목적으로만 사용해야 합니다. 운영 환경에서는 자동 인덱스 생성을 끄고 배포 과정에서 올바른 노드에 올바른 인덱스를 생성할 것을 권장합니다.

인덱싱된 뷰

이것 주석 설계 문서의 이름과 뷰 이름뿐만 아니라 사용자 정의 맵 및 리듀스 함수도 정의할 수 있습니다.

N1qlPrimaryIndexed

이것 주석 현재 저장소와 연결된 버킷에 N1QL 기본 인덱스가 생성되도록 합니다.

N1qlSecondaryIndexed

이것 주석 엔티티의 타입에 보조 인덱스가 존재하는지 확인합니다.

사용 가능한 원두

자동 구성을 활성화한 경우 여러 빈을 사용할 수 있습니다. 가장 유용한 빈의 목록은 다음과 같습니다.

  • CouchbaseTemplate couchbaseTemplate
    • 저수준 Spring Data Couchbase API에 대한 액세스를 제공합니다.
  • ValidatingCouchbaseEventListener validationEventListener
    • javax.validation dependant entities validator. When it is registered as Spring component its automatically invoked before entities are saved in database.
  • CustomConversions customConversions
    • Used to capture custom JSON type conversions.
  • Bucket couchbaseClient
    • Direct access to the configured Bucket

결론

This should have given you a good overview of what is available when starting a new project with spring-boot-starter-data-couchbase. For more details about Spring Data Couchbase 2, please refer to the 문서화 or checkout this blog regularly for more Spring/Couchbase goodness.

이 기사 공유하기

작가

로랑은 파리에 사는 찌질한 매니아 기질이 있는 헤비메탈 마니아입니다. 그는 주로 자바(Java)로 코드를 작성하고 AsciiDoc으로 구조화된 텍스트를 작성하며, 데이터, 리액티브 프로그래밍 및 기타 유행어 같은 주제에 대해 자주 이야기합니다. 그는 또한 Clever Cloud와 Nuxeo의 전직 개발자 애드보케이트로 활동하며 해당 커뮤니티가 더 크고 강하게 성장하도록 시간과 전문 지식을 쏟아부었습니다. 현재는 카우치베이스(Couchbase)에서 개발자 관계(Developer Relations)를 총괄하고 있습니다.

댓글 남기기

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

개발 시작하기

NoSQL을 탐색하고, 리소스를 찾아보고, 튜토리얼을 시작하려면 개발자 포털을 확인하세요.

카펠라 프리 사용하기

단 몇 번의 클릭으로 카우치베이스(Couchbase)를 직접 체험해 보세요. Capella DBaaS는 시작하기 가장 쉽고 빠른 방법입니다.

연락해

Couchbase 제품군에 대해 더 알고 싶으신가요? 저희가 도와드리겠습니다.