tencent cloud

Data Transfer Service

소식 및 공지 사항
릴리스 노트
제품 소개
제품 개요
데이터 마이그레이션 기능 설명
데이터 동기화 기능 설명
데이터 구독(Kafka 버전) 기능 설명
제품 장점
구매 가이드
과금 개요
환불 설명
시작하기
데이터 마이그레이션 작업 가이드
데이터 동기화 작업 가이드
데이터 구독 작업 가이드(Kafka 버전)
준비 작업
자체구축 MySQL용 Binlog 설정
데이터 마이그레이션
데이터 마이그레이션 지원 데이터베이스
ApsaraDB 교차 계정 인스턴스 간 마이그레이션
PostgreSQL로 마이그레이션
작업 관리
데이터 동기화
데이터 동기화가 지원하는 데이터베이스
계정 간 TencentDB 인스턴스 동기화
작업 관리
데이터 구독(Kafka 버전)
데이터 구독이 지원하는 데이터베이스
데이터 구독 작업 생성
작업 관리
컷오버 설명
모니터링 및 알람
모니터링 메트릭 조회
사례 튜토리얼
양방향 동기화 데이터 구조 생성
다대일 동기화 데이터 구조 생성
멀티 사이트 Active-Active IDC 구축
데이터 동기화 충돌 해결 정책 선택하기
CLB 프록시를 사용하여 계정 간 데이터베이스 마이그레이션하기
CCN으로 자체 구축 MySQL에서 TencentDB for MySQL로 마이그레이션
검증 불통과 처리 방법
버전 확인
원본 데이터베이스 권한 확인
계정 충돌 확인
부분 데이터베이스 매개변수 확인
원본 인스턴스 매개변수 확인
매개변수 설정 충돌 확인
대상 데이터베이스 콘텐츠 충돌 확인
대상 데이터베이스 공간 확인
Binlog 매개변수 확인
증분 마이그레이션 전제 조건 확인
플러그인 호환성 확인
레벨2 파티션 테이블 확인
기본 키 확인
마이그레이션할 테이블에 대한 DDL 확인
시스템 데이터베이스 충돌 확인
소스 및 대상 인스턴스 테이블 구조 확인
InnoDB 테이블 확인
마이그레이션 객체 종속성 확인
제약 조건 확인
FAQs
데이터 마이그레이션
데이터 동기화
데이터 구독 Kafka 버전 FAQ
구독 정규식
API문서
History
Introduction
API Category
Making API Requests
(NewDTS) Data Migration APIs
Data Sync APIs
Data Consistency Check APIs
(NewDTS) Data Subscription APIs
Data Types
Error Codes
DTS API 2018-03-30
Service Agreement
Service Level Agreements
액세스 관리
DTS를 사용할 서브 계정 생성 및 권한 부여
서브 계정에 재무 권한 부여하기

TDSQL for MySQL 데이터 구독 생성

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2022-11-14 16:32:38
본 문서는 TDSQL for MySQL용 DTS에서 데이터 구독 작업을 생성하는 방법을 설명합니다.

전제 조건

구독할 TencentDB 인스턴스를 준비했으며 데이터베이스 버전이 요구 사항을 충족합니다. 자세한 내용은 데이터 구독이 지원하는 데이터베이스를 참고하십시오.
원본 인스턴스에서 binlog가 활성화되었습니다.
구독 계정이 원본 인스턴스에 생성되었습니다. 필요한 계정 권한은 다음과 같습니다: REPLICATION CLIENT, REPLICATION SLAVE, PROCESS 및 모든 대상의 SELECT 권한. 구체적인 권한 부여 명령은 다음과 같습니다.
create user '마이그레이션 계정' IDENTIFIED BY '계정 비밀번호';
grant SELECT, REPLICATION CLIENT,REPLICATION SLAVE,PROCESS on *.* to ' 마이그레이션 계정'@'%';
flush privileges;

제한

현재 구독 메시지 내용은 기본적으로 1일 동안 보관됩니다. 만료된 데이터는 삭제됩니다. 따라서 즉시 데이터를 소비하는 것이 좋습니다.
데이터가 소비되는 리전은 가입된 데이터베이스의 리전과 동일해야 합니다.
geometry 데이터 유형은 현재 지원되지 않습니다.
데이터 구독 원본이 TDSQL for MySQL인 경우 인증문을 직접 실행하는 것은 지원ehl지 않습니다. 대신 TDSQL 콘솔로 이동하여 타깃 인스턴스 ID를 클릭하고 계정 관리 페이지를 입력하여 권한을 부여해야 합니다. 구독 계정에 필요한 권한은 위의 권한 부여 문에 나열된 권한입니다. 구독 계정에 __tencentdb__의 권한을 부여하려면 권한 수정 팝업 창에서 객체 수준 권한을 선택한 다음 모든 권한을 선택합니다.
데이터 구독 원본이 TDSQL for MySQL인 경우 2급 파티션 테이블을 구독할 수 없습니다.
구독 작업이 시작되기 전에 원본 데이터베이스에 2-레벨 분할 테이블을 생성하면 확인 작업이 실패합니다.
구독 작업이 실행될 때 원본 데이터베이스에 2-레벨 분할 테이블이 생성된 경우 2-레벨 분할 테이블에서 구독된 데이터는 서브 테이블의 데이터가 됩니다(선택한 구독 객체가 전체 데이터베이스 또는 전체 인스턴스인 경우 구독 작업이 시작된 후 원본 데이터베이스에서 생성된 2-레벨 분할 테이블도 구독됩니다. 이러한 방식으로 2-레벨 분할 테이블의 데이터는 구독에도 포함됩니다). 2-레벨 분할 테이블의 기본 레이어는 서브 테이블에 의해 구현되므로 구독 작업 실행 중에 2-레벨 분할 테이블을 생성하지 않는 것이 좋습니다. 그렇지 않으면 아래와 같이 가입된 데이터에 차이가 발생합니다. 예를 들어 원본 데이터베이스 테이블 ‘test_a’가 2-레벨 분할 테이블인 경우 DTS가 이 테이블에 구독하는 DML의 테이블 이름은 ‘test_a_tdsql_subp0/test_a_tdsql_subp1’입니다.
DTS에서 Kafka 메시지 구독의 전달 의미는 적어도 한 번(at least once) 메시지를 전달하는 것입니다. 따라서 특별한 경우에 소비된 데이터가 중복될 수 있습니다. 예를 들어 구독 작업이 다시 시작되면 다시 시작한 후 중단 오프셋 전에 원본 Binlog가 당겨져 메시지가 반복적으로 전달됩니다. 등록된 객체 수정 및 비정상 작업 복원과 같은 콘솔 작업은 중복 메시지를 유발할 수 있습니다. 비즈니스가 중복 데이터에 민감한 경우 소비 Demo에서 비즈니스 데이터를 기반으로 중복 제거 로직을 추가해야 합니다.

주의 사항

데이터 구독 원본이 TDSQL for MySQL인 경우 각 샤드의 DDL 작업이 구독되어 Kafka에 전달됩니다. 따라서 분할된 테이블에는 DDL 작업에 대한 중복 DDL 문이 있습니다. 예를 들어 인스턴스 A에 3개의 샤드가 있고 샤딩된 tableA를 구독하는 경우 동일한 DDL 작업에 대한 3개의 DDL 문이 tableA에 전달됩니다.
Kafka에서 각 메시지의 헤더는 key/value 형식의 샤드 정보를 전달합니다. 여기서 key는 ShardId이고 value는 SQL 통과 ID입니다. SQL 통과 ID를 기반으로 메시지가 온 샤드를 식별할 수 있으며 TDSQL 콘솔 > 인스턴스 목록 > 샤드 관리에서 볼 수 있는 SQL 통과 ID를 기반으로 메시지가 온 샤드를 식별할 수 있습니다.



구독을 지원하는 SQL 작업

작업 유형
지원되는 SQL 작업
DML
INSERT, UPDATE, DELETE
DDL
CREATE DATABASE, DROP DATABASE, CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE

작업 단계

1. DTS 콘솔에 로그인한 뒤 왼쪽 사이드바에서 데이터 구독을 선택하고 데이터 구독 생성을 클릭합니다.
2. 데이터 구독 생성 페이지에서 적합한 설정을 선택하고 구매하기를 클릭합니다.
과금 방식: 정액 과금제 및 종량제 과금 방식을 지원합니다.
리전: 리전은 구독하려는 데이터베이스의 인스턴스 구독과 일치해야 합니다.
데이터베이스: 실제 데이터베이스 유형을 선택합니다.
버전: kafka 버전을 선택하면 Kafka 클라이언트를 통한 직접 소비를 지원합니다.
구독 인스턴스 이름: 현재 데이터 구독 인스턴스의 이름을 편집합니다.
3. 구매 성공 후, 데이터 구독 리스트로 돌아가 작업열의 구독 설정을 클릭해 새로 구입한 구독의 설정을 진행합니다. 설정 완료 후 사용할 수 있습니다.
4. 데이터베이스 구독 설정 페이지에서 적합한 설정을 선택하고 다음 단계를 클릭합니다.
인스턴스: 데이터 인스턴스를 선택합니다. 현재 읽기 전용 및 재해 복구 인스턴스는 데이터 구독을 지원하지 않습니다.
데이터베이스 계정: 구독 인스턴스의 계정과 비밀번호를 추가합니다. 계정은 구독 작업에 필요한 REPLICATION CLIENT, REPLICATION SLAVE, PROCESS 및 모든 대상의 SELECT 권한을 갖추고 있습니다.
kafka 파티션 수: kafka 파티션의 수를 설정합니다. 숫자를 늘리면 데이터 쓰기 및 소비 속도가 향상될 수 있습니다. 단일 파티션은 메시지 순서를 보장할 수 있지만 여러 파티션은 보장할 수 없습니다. 사용 중 메시지 순서에 대한 엄격한 요구 사항이 있는 경우 이 값을 1로 설정하십시오.
5. 구독 유형 및 대상 선택 페이지에서 구독 유형을 선택하고 설정 저장을 클릭합니다. 구독 유형: 옵션에는 데이터 업데이트, 구조 업데이트 및 전체가 포함됩니다.
데이터 업데이트: 데이터 INSERT, UPDATE, DELETE 작업을 포함하여 선택한 대상의 데이터 업데이트를 구독합니다.
구조 업데이트: 구독 인스턴스 내 모든 대상의 구조를 생성, 수정 및 삭제합니다.
전체 인스턴스: 해당 구독 인스턴스의 모든 대상의 데이터 업데이트 및 구조 업데이트를 포함합니다.
6. 사전 인증 페이지에서 2 - 3분에 걸쳐 사전 인증 작업이 실행됩니다. 사전 인증이 완료된 후, 실행을 클릭하여 데이터 구독 작업 설정을 완료합니다.
설명:
검증에 실패할 경우 확인 항목 개요의 안내에 따라 문제를 수정하고 다시 검증을 시작하십시오.
7. 시동을 클릭하면 구독 작업이 초기화되며 3 - 4분 동안 실행됩니다. 초기화에 성공하면 실행 중 상태로 변합니다.
8. 신규 소비자 그룹, 데이터 구독(Kafka 버전)을 사용하면 다중 지점 소비를 위해 여러 소비자 그룹을 만들 수 있습니다. 소비는 Kafka의 소비자 그룹에 따라 다릅니다. 따라서 데이터를 사용하려면 먼저 소비자 그룹을 생성해야 합니다.
9. 구독 인스턴스가 실행 중 상태가 되면 데이터 소비를 시작할 수 있습니다. Kafka 소비는 비밀번호 인증이 필요하며, 다국어 Demo 코드를 제공하고 주요 소비 프로세스 및 주요 데이터 구조를 설명합니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백