Couchbase .NET SDK 2.0.1이 출시되었습니다!

오늘 Couchbase .NET SDK 2.0 버전 2.0.1을 출시합니다. 이 버전은 작년 12월 초에 출시된 GA 릴리스 2.0.0의 후속 릴리스이며, 2.0.0을 기반으로 버그 수정 및 성능 개선이 주로 포함되어 있습니다.

이번 릴리스에는 무엇이 포함되나요?

다시 한 번 말씀드리지만, 이번 릴리스는 크게 버그 수정 및 성능 개선 릴리스입니다. 가장 큰 변화는 전송 또는 IO 계층으로, 모든 비동기 연산에 대해 IAsyncResult 객체를 생성해야 하므로 가비지 수집이 더 자주 발생하는 APM(Begin/End) 기반의 이전 비동기 소켓 API 대신 SocketAsyncEventArgs를 사용하도록 재작성된 것입니다. 각 SocketAsyncEventArgs 인스턴스는 풀링되어 재사용되므로 GC와 관련된 많은 문제를 제거합니다. 또한, 하나의 연속적인 고정 버퍼가 모든 SocketAsyncEventArgs 인스턴스에 사용되며 클라이언트 수명 기간 동안 지속됩니다. 이후 릴리스에서 추가 개선이 이루어질 예정입니다.

또 다른 개선 사항은 예를 들어 키 세트를 병렬로 제거하는 일괄 메서드를 추가한 것입니다:

사용 (var cluster = new Cluster(config))
{
사용(var bucket = cluster.OpenBucket())
{
var multiUpsert = bucket.Upsert(items);
Assert.AreEqual(items.Count, multiUpsert.Count);
foreach(다중 업서트의 변수 쌍)
{
Assert.IsTrue(pair.Value.Success);
}

var multiRemove = bucket.Remove(multiUpsert.Keys.ToList());
foreach(멀티리무브의 변수 쌍)
{
Assert.IsTrue(pair.Value.Success);
}

var multiGet = bucket.Get(multiUpsert.Keys.ToList());
foreach(멀티겟의 변수 쌍)
{
Assert.IsFalse(pair.Value.Success);
}
}
}

위의 코드에서는 먼저 대량 Upsert 메서드를 사용하여 키 집합을 추가한 다음, 키 목록을 가져와 Couchbase 버킷에서 키와 연결된 문서 또는 값을 제거하는 새로운 Remove overload를 사용하고 마지막으로 키가 존재하는지 확인하고 있습니다. 약간 인위적이지만 실제 시나리오에서 어떻게 사용될 수 있는지 상상할 수 있습니다.

이번 릴리스에는 IO 계층의 변경 사항 외에도 다음과 같은 주요 버그 수정 사항이 포함되어 있습니다:

  • NCBC-777: CAS가 변경되면 Observe가 ObserveResponse.DurabilitySatisfied를 반환합니다.
  • NCBC-748: App.Config에서 풀 구성이 사용되었는지 확인
  • NCBC-750: 서버의 변경 사항이 BucketConfig로 전파되는지 확인하기
  • NCBC-540: 보장 TTL 타임스팬이 규칙을 따를 때
  • NCBC-625: 브레이킹 모노 컴파일을 사용하여 제거

전체 릴리스 노트는 여기에서 확인할 수 있습니다.

기여

커뮤니티에서 GitHub의 풀 리퀘스트, Jira 티켓 제출 및 포럼에서의 토론을 통해 여러 가지 기여가 있었습니다. 코드를 통해 직접 기여하지 않았더라도 이번 릴리스에 기여해 주신 모든 분께 감사드리며, 피드백과 의견은 언제나 환영합니다.

어떻게 받을 수 있나요?

패키지는 NuGet, S3에서 사용할 수 있으며, "2.0.1" 태그를 사용하여 마스터에서 직접 소스를 가져올 수도 있습니다:

  • 패키지 받기 여기.
  • 바이너리 다운로드 여기.
  • 리포지토리 복제 여기.
이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

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

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

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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