분류

읽기-쓰기? 증분 맵/보기 축소로 50배 빨라진 Couchbase Server 3.0의 속도 향상

일부 NoSQL 데이터베이스에서는 RYOW(읽기 자체 쓰기)가 까다로울 수 있지만 Couchbase Server에서는 그렇지 않습니다. Couchbase Server를 사용하면 vbucket이 기본적으로 쓰기 및 읽기를 수행하므로(원하는 경우 언제든지 복제본에서 읽을 수 있음), 안정된 상태에서는 자신의 쓰기를 읽을 수 있으므로 문제 없습니다! 카우치베이스 서버는 메모리에 먼저 쓰고 DCP를 통해 복제본으로 빠르게 복제하여 디스크에 지속합니다. 업데이트를 발행할 때 복제 또는 지속성에 대한 확인을 기다릴 수 있습니다. 이 확인을 받으면 노드 재시작 또는 장애 조치(ReplicateTo 및 PersistTo 플래그)에서도 동일한 RYOW를 보장받을 수 있습니다.

쿼리의 경우, 관계형 데이터베이스와 달리 Couchbase Server 쿼리는 대기 없이 뷰에서 처리된 내용을 읽거나 쿼리 요청 시점까지 모든 업데이트가 처리될 때까지 쿼리가 대기하여 쿼리에서 RYOW를 보장할 수 있는 옵션이 제공됩니다. 따라서 첫 번째는 지연 시간이 짧으며 "stale=ok"인 쿼리라고 합니다. 그리고 나중 하나는 처리를 기다리는 "stale=false" 쿼리이므로 지연 시간이 더 길 수 있습니다! Stale=false 타입 쿼리는 매우 유용합니다. 메시징 앱을 구축한다고 상상해 보세요. 보낸 메시지가 '보낸 메시지' 폴더(일반적으로 보기 쿼리인)에 나타나지 않으면 다시 보낼 수 있습니다! 또는 모바일 앱에 새 재생 목록을 저장하고 재생 목록으로 돌아갔는데 새 재생 목록이 보이지 않는다면 혼란스러울 것입니다! 따라서 오래된 거짓은 필수입니다!

이러한 배경을 바탕으로 3.0에서 어떻게 상황이 개선되었는지 살펴보겠습니다. 이전 버전의 카우치베이스 서버에서 RYOW를 사용하려면 두 가지 작업을 수행해야 했습니다;

  1. 업데이트에 PersistTo 플래그를 사용해야 합니다.
  2. 쿼리에 stale=false 플래그를 사용해야 합니다.

그러면 Couchbase Server 2.5와 같은 이전 버전에서 RYOW를 사용할 수 있습니다. PersistTo는 분명히 디스크 속도가 느려집니다. 그러나 스트리밍 복제(DCP) + 증분 맵/보기 축소, RYOW를 가져오는 데 더 이상 Couchbase Server 3.0에서는 persistTo가 필요하지 않습니다. 다음은 3.0에서 동일한 호출의 모습입니다. 더 이상 #1이 필요하지 않으므로 PersistTo.0이 필요하지 않습니다.

지연 시간은 3.0에서 이전 버전인 Couchbase Server 2.5에 비해 50배 더 낮아질 수 있습니다. 이는 엄청난 성능 향상입니다! 뷰를 사용 중이고 "stale=false" 쿼리가 필요한 경우 Couchbase Server 3.0을 사용하면 많은 이점을 얻을 수 있습니다. 온라인에서 쉽게 업그레이드할 수 있습니다. 3.0을 다운로드할 수 있습니다. 여기.

즐거운 테스트 되세요.

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

작성자

게시자 시한 비이코글루

Cihan Biyikoglu는 Couchbase의 제품 관리 디렉터로, Couchbase Server 제품을 담당하고 있습니다. Cihan은 빅 데이터 애호가로서 20년 이상의 경험을 Redis Labs의 제품 팀에 제공하고 있습니다. Cihan은 C/C++ 개발자로 경력을 시작했습니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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