소스 MySQL 데이터베이스

이 섹션에는 다음 정보가 포함되어 있습니다.

  • 소스 MySQL 데이터베이스에서 가져오는 데이터가 Datastream에서 처리되는 방법
  • Datastream에서 지원되는 MySQL 데이터베이스 버전
  • MySQL 데이터베이스를 소스로 사용할 경우의 알려진 제한사항
  • 데이터를 대상으로 스트리밍할 수 있도록 소스 MySQL 데이터베이스를 설정하는 방법의 개요

동작

소스 MySQL 데이터베이스는 데이터에 변경 사항을 노출하기 위해 바이너리 로그 기능을 사용합니다.

  • 제공된 MySQL 소스의 모든 데이터베이스나 특정 데이터베이스는 물론 데이터베이스의 모든 테이블 또는 특정 테이블을 선택할 수 있습니다.
  • 모든 이전 데이터가 복제됩니다.
  • 지정된 데이터베이스 및 테이블의 삽입, 업데이트, 삭제와 같은 모든 데이터 조작 언어(DML) 변경사항이 복제됩니다.
  • 커밋된 변경사항만 복제됩니다.

버전

Datastream은 다음 버전의 MySQL 데이터베이스를 지원합니다.

  • MySQL 5.6
  • MySQL 5.7
  • MySQL 8.0

Datastream은 다음 유형의 MySQL 데이터베이스를 지원합니다.

알려진 제한사항

MySQL 데이터베이스를 소스로 사용할 경우의 알려진 제한사항은 다음과 같습니다.

  • 스트림이 테이블 10,000개로 제한됩니다.
  • 기본 키가 INVISIBLE로 정의된 테이블은 백필할 수 없습니다.
  • 행 개수가 5억 개를 초과하는 테이블은 다음 조건이 충족되지 않는 한 백필할 수 없습니다.
    1. 테이블에 고유 색인이 포함됩니다.
    2. 색인에는 VARCHAR, NVARCHAR, CHAR 유형의 열이 포함되지 않습니다.
    3. 색인의 열 중에 null이 허용되는 열이 없습니다.
    4. 색인이 내림차순이 아닙니다.
    5. 색인의 모든 열이 스트림에 포함됩니다.
  • Datastream은 이벤트가 처리될 때 소스에서 최신 스키마를 주기적으로 가져옵니다. 스키마가 변경되면 Datastream이 스키마 변경사항을 감지하고 스키마 가져오기를 트리거합니다. 그러나 일부 이벤트가 잘못 처리되거나 스키마 가져오기 사이에 삭제되어 데이터가 불일치할 수 있습니다.
  • 소스 스키마에 대한 모든 변경사항이 올바르게 검색되지 않아서 데이터 손상이 발생할 수 있습니다. 다음 스키마 변경으로 인해 데이터가 손상되거나 이벤트 다운스트림을 처리하지 못할 수 있습니다.
    • 열 삭제
    • 테이블 중간에 열 추가
    • 열의 데이터 유형 변경
    • 열 재정렬
    • 테이블 삭제(새 데이터를 추가한 후 같은 테이블을 다시 만드는 경우에 해당)
    • 테이블 자르기
  • DataStream은 뷰 복제를 지원하지 않습니다.
  • Datastream은 공간 데이터 유형의 열을 지원하지 않습니다. 이러한 열의 값은 NULL 값으로 바뀝니다.
  • Datastream은 DATETIME, DATE, TIMESTAMP 데이터 유형의 열에서 0 값(0000-00-00 00:00:00)을 지원하지 않습니다. 0 값은 NULL 값으로 바뀝니다.
  • DataStream은 JSON 열에 DECIMAL, NEWDECIMAL, TIME, TIME2, DATETIME, DATETIME2, DATE, TIMESTAMP, TIMESTAMP2 값을 포함하는 행의 복제를 지원하지 않습니다. 이러한 값을 포함하는 이벤트는 삭제됩니다.
  • Datastream은 바이너리 로그 트랜잭션 압축을 지원하지 않습니다.
  • Datastream은 소스 MySQL 연결 프로필에서 SSL 인증서 체인을 지원하지 않습니다. 단일 x509 PEM 인코딩 인증서만 지원됩니다.
  • Datastream은 연쇄 삭제를 지원하지 않습니다. 이러한 이벤트는 바이너리 로그에 기록되지 않으며, 따라서 대상에 전파되지 않습니다.
  • DataStream은 복제본에 대한 장애 조치를 지원하지 않습니다. 따라서 MySQL용 Cloud SQL Enterprise Plus 소스에서 복제하기 위해 Datastream을 사용하지 않는 것이 좋습니다. Cloud SQL Enterprise Plus 버전 인스턴스는 다운타임이 0에 가까운 유지보수가 적용되며 유지보수 중에 복제본으로 장애 조치됩니다. 바이너리 로그 연속성이 중단되어 영향을 받는 스트림은 영구적으로 실패합니다.