커넥터

카우치베이스의 컨플루언트 싱크 커넥터를 구성하는 방법

가장 널리 사용되는 추출, 변환, 로드(ETL) 방법은 단언컨대 Kafka를 사용하는 것입니다. ETL, 데이터 파이프라이닝 또는 이벤트 스트리밍을 위해 Kafka를 구성하는 것은 어려울 수 있지만 더 나은 도구가 있습니다.

Confluent는 운영자와 개발자 모두의 프로덕션 및 대규모 스트리밍 경험을 향상시키기 위해 설계된 추가 커뮤니티 및 상업용 기능으로 개선된 가장 완벽한 Kafka 배포를 제공합니다. 가용성이 높고 확장성이 뛰어난 분산형 데이터 플랫폼인 Couchbase와 Confluent는 천생연분처럼 보입니다. 그렇다면 Confluent를 통해 어떻게 Couchbase와 데이터를 주고받을 수 있을까요?

카우치베이스는 Confluent 제어판 내에서 관리할 수 있는 Kafka/Confluent 싱크/소스 커넥터를 지원합니다.

카우치베이스 싱크 커넥터 활성화

Couchbase 커넥터를 추가하는 방법은 여러 가지가 있으며, 로컬 Confluent 설치 및 Confluent Hub 다운로드에서 수행할 수 있습니다. See 커넥터 링크 설치 및 구성에 대한 문서.

Confluent 제어판에서 커넥터가 추가되면 연결 탭은 다음과 같이 표시되어야 합니다:

Couchbase sink and source connectors added to Confluent control panel UI

카우치베이스 싱크 및 소스 커넥터를 사용한 Confluent 연결

 

클릭 카우치베이스싱크커넥터 를 클릭하면 다음 대화 상자가 표시됩니다:

Setup confluent sink connector for Couchbase

Confluent에서 구성된 주제를 선택하면 커넥터를 구성하기 위한 모든 필드가 채워집니다. 필드는 토픽을 Couchbase에 매핑하기 위한 Couchbase 전용 필드입니다. 기본적으로 Couchbase는 데이터를 버킷, 범위 및 컬렉션에 저장합니다. 

스트림 주제 설정

Configuring Confluent connect topics with Couchbase buckets

카우치베이스토픽 는 16개의 파티션으로 Confluent에서 생성되었습니다. 아래에서 공통 섹션에 대한 최대 작업 수를 커넥터의 스레드(예: 16개의 작업)로 생각할 수 있습니다. 이 경우 고성능을 위해 파티션과 작업 간에 일대일 매핑이 이루어집니다. 예를 들어 16개의 파티션과 32개의 작업이 있을 수 있지만 호스팅 머신의 리소스를 염두에 두어야 합니다.

카우치베이스 버킷을 싱크로 선택하기

다음 단계는 Couchbase에 연결하는 것으로 간단합니다.

Connect to Couchbase from Confluent sink configuration

이 경우 시드 노드는 로컬호스트이지만 호스트 이름이나 IP일 수 있습니다. 

기억하세요 버킷의 사용자는 버킷, 범위 및 컬렉션에 대한 Couchbase의 액세스 권한이 있어야 합니다!

연결을 구성한 후 범위와 컬렉션에 대해 살펴봅시다. 

Configure sink behavior and Couchbase collection

위는 범위 및 컬렉션을 구성하는 방법의 예입니다. 범위와 컬렉션이 적절한 권한으로 Couchbase에 존재하는지 확인하는 것이 중요합니다. 

Confluent에서 주제를 만들 때 다음 사항을 고려하십시오. 버킷->범위-->컬렉션 매핑 - 각 토픽이 범위/컬렉션에 매핑됩니다. 매핑되는 범위 및 컬렉션이 두 개 이상인 경우에는 매핑을 위해 특정 주제를 만들어야 합니다.

특정 카우치베이스 내구성 설정

내구성 쓰기는 아래 설명된 대로 카우치베이스 커넥터에 대해 구성할 수 있습니다:

Setting Couchbase durability options for Confluent

카우치베이스 커넥터는 스트레이트 JSON 또는 AVRO 바이너리 등 다양한 직렬화 및 역직렬화 데이터 유형에 맞게 구성할 수 있습니다. AVRO 바이너리 압축에 대해 살펴보겠습니다.

AVRO 압축은 스키마를 사용하여 JSON으로 역직렬화할 수 있는 바이너리 압축입니다. 이 스키마는 바이너리를 JSON 구조에 매핑합니다. Couchbase 커넥터는 Confluent에서 구성된 하나의 스키마로 역직렬화할 수 있습니다. 직렬화 및 역직렬화를 수행한 다음 직렬화 출력으로 토픽이 채워집니다. Confluent는 제어 센터를 통해 기본적으로 하나의 스키마를 지원할 수 있습니다. 직렬화에 여러 단계가 있는 경우 스키마 레지스트리를 만들어 스키마를 저장하고 스키마가 사용되는 단계를 순서대로 저장해야 합니다. 

마지막으로 커넥터가 구성됩니다. 

여러 개의 커넥터를 구성해야 하는 경우(예: 서로 다른 범위 및 컬렉션에 대한 서로 다른 주제 등) 구성 파일을 다운로드하여 미리 정의된 클러스터에 추가할 수 있습니다. 

Confluent가 포함된 Couchbase Kafka 커넥터는 ETL 및 데이터 스트리밍을 위한 손쉬운 경로입니다. 소스 커넥터는 연결 설정은 동일하지만 다음과 같은 매핑이 적용되므로 구성이 더 쉽습니다. 버킷 -> 범위 -> 컬렉션 를 카프카 주제에 연결합니다. 

커넥터가 실행되고 나면 토픽 대기열에 있는 메시지가 도착하면 자동으로 Couchbase로 마이그레이션됩니다. 각 작업은 대기열에 있는 최신 메시지를 가져와 대기열에서 제거하며, 아래와 같이 메시지가 대기열에 저장되는 기간 외에는 대기열을 관리할 필요가 없습니다:

다음 단계 및 리소스

 

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

작성자

게시자 제임스 포웬스키, 카우치베이스 수석 솔루션 엔지니어

카우치베이스 수석 솔루션 엔지니어

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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