카우치베이스 아키텍처

인덱스 생성 연기

Couchbase 4.x에는 다음과 같은 경우에 도움이 되는 기능이 있습니다. 글로벌 보조 인덱스 생성에 대해 잘 모르는 분들이 많습니다. 인덱스 생성 문을 큐에 넣은 다음 효율성과 성능을 위해 생성을 병렬화하는 기능입니다.

한 번에 여러 인덱스를 만들어야 하는 경우, 인덱스 생성을 연기할 수 있습니다. 그런 다음 준비가 되면 클러스터에 해당 인덱스를 만들도록 지시하면 됩니다. 예를 들어, 두 개의 인덱스를 만들어야 하지만 인덱스의 고가용성을 원하므로 각 인덱스의 복사본을 각 인덱스의 인덱스 서비스(IS) 노드. 즉, 4개의 인덱스 생성 문 합계.

다른 작업을 수행하지 않으면 이러한 인덱스는 지연/생성 상태로 유지됩니다. 다음으로 호출해야 하는 문은 빌드 인덱스 를 사용하면 클러스터가 실제로 빌드를 시작하도록 지시합니다.

이 시점에서 IS 노드는 인덱스 생성을 시작하지만, 병렬로 그리고 더 나은 방법으로 동일한 인덱스를 사용합니다. 데이터베이스 변경 프로토콜(DCP) 스트림을 데이터 서비스 노드에서 전송하여 네트워크 IO 활용도를 높일 수 있습니다. 디퍼 없이 빌드하면 하나의 스트림이 생성되고 대기하게 됩니다. 그 아래에서 인덱스 서비스 노드는 DCP 스트림에서 해당 스트림을 생성합니다. 그 하나가 완료되면, 다음 CREATE 문을 넣고 동일한 데이터의 또 다른 DCP 스트림을 기다립니다. 네 개가 모두 완료될 때까지 이 작업을 계속합니다. 모두 연속적으로.

defer_build와 BUILD INDEX 문을 사용하면 모든 create 문을 한 번에 넣고 커피를 마실 수 있습니다. 인덱스가 각 IS 노드와 두 IS 노드 간에 병렬로 구축될 뿐만 아니라 각 IS 노드는 버킷 데이터의 DCP 스트림을 한 번만 필요로 합니다. 따라서 전체 프로세스가 훨씬 더 빠르고 훨씬 더 효율적으로 완료됩니다. 특히 많은 양의 데이터 생성을 스크립팅할 때 유용합니다. 인덱스 생성를 클릭한 다음 이를 배치로 그룹화할 수 있습니다.

사용해 보시고 피드백을 남겨 주세요. 자세한 내용은 다음 문서를 참조하세요. 인덱스 생성 그리고 빌드 인덱스.

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

작성자

게시자 커크 커크코넬, 수석 솔루션 엔지니어, Couchbase

커크 커크코넬은 카우치베이스의 선임 솔루션 엔지니어로 다양한 역량으로 고객과 협력하여 카우치베이스의 설계, 배포 및 관리를 지원했습니다. 그의 전문 분야는 대규모 애플리케이션 및 데이터베이스 인프라의 운영, 호스팅 및 지원입니다.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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