이 페이지에서는 BigQuery 대상에 대해 간략히 설명합니다. BigQuery에 데이터를 복제할 때 Datastream의 쓰기 동작과 알려진 제한사항을 설명합니다.
쓰기 동작
BigQuery에 데이터를 스트리밍할 때 최대 이벤트 크기는 20MB입니다.
스트림을 구성할 때 Datastream이 변경 데이터를 BigQuery에 기록하는 방법을 선택할 수 있습니다. 자세한 내용은 쓰기 모드 구성을 참조하세요.
테이블 메타데이터
Datastream은 BigQuery 대상에 기록되는 각 테이블에 datastream_metadata라는 STRUCT 열을 추가합니다.
병합 쓰기 모드
테이블에 소스의 기본 키가 있으면 열에 다음 필드가 포함됩니다.
UUID: 이 필드에는STRING데이터 유형이 포함됩니다.SOURCE_TIMESTAMP: 이 필드에는INTEGER데이터 유형이 포함됩니다.
테이블에 기본 키가 없으면 열에 IS_DELETED 추가 필드가 포함됩니다. 이 필드의 데이터 유형은 BOOLEAN이며, Datastream이 대상에 스트리밍하는 데이터가 소스의 DELETE 작업과 연결되어 있는지 여부를 나타냅니다. 기본 키가 없는 테이블은 추가만 가능합니다.
추가 전용 쓰기 모드
datastream_metadata 열에는 테이블에 기본 키가 있든 없든 동일한 필드가 포함되어 있습니다.
UUID: 이 필드에는STRING데이터 유형이 포함됩니다.SOURCE_TIMESTAMP: 이 필드에는INTEGER데이터 유형이 포함됩니다.CHANGE_SEQUENCE_NUMBER: 이 필드에는STRING데이터 유형이 포함됩니다. 각 변경 이벤트에 대해 Datastream에 사용되는 내부 시퀀스 번호입니다.CHANGE_TYPE: 이 필드에는STRING데이터 유형이 포함됩니다. 변경 이벤트 유형INSERT,UPDATE-INSERT,UPDATE-DELETE,DELETE를 나타냅니다.SORT_KEYS: 이 필드에는STRING값 배열이 포함됩니다. 이 값을 사용하여 변경 이벤트를 정렬할 수 있습니다.
BigQuery 비용 관리
BigQuery 비용은 Datastream과 별도로 청구됩니다. BigQuery 비용을 관리하는 방법은 BigQuery CDC 가격 책정을 참고하세요.
알려진 제한사항
BigQuery를 대상으로 사용할 경우의 알려진 제한사항은 다음과 같습니다.
- 동일한 Google Cloud 프로젝트에 있는 BigQuery 데이터 세트에만 데이터를 Datastream 스트림으로 복제할 수 있습니다.
- 기본적으로 Datastream은 기본 키 없이 BigQuery에 이미 복제된 테이블에 기본 키를 추가하거나 기본 키로 BigQuery에 복제된 테이블에서 기본 키를 삭제할 수 없습니다. 이러한 변경사항을 수행해야 하는 경우 Google 지원팀에 문의하세요. 기본 키가 이미 있는 소스 테이블의 기본 키 정의 변경에 대한 자세한 내용은 문제 진단을 참고하세요.
BigQuery의 기본 키는 데이터 유형이 다음과 같아야 합니다.
DATEBOOLGEOGRAPHYINT64NUMERICBIGNUMERICSTRINGTIMESTAMPDATETIME
지원되지 않는 데이터 유형의 기본 키가 포함된 테이블은 Datastream에 의해 복제되지 않습니다.
BigQuery는
.,$,/,@또는+문자가 포함된 테이블 이름을 지원하지 않습니다. Datastream은 대상 테이블을 만들 때 이러한 문자를 밑줄로 대체합니다.예를 들어 소스 데이터베이스의
table.name은 BigQuery에서table_name이 됩니다.BigQuery의 테이블 이름에 대한 자세한 내용은 테이블 이름 지정을 참고하세요.
BigQuery는 4개를 초과하는 클러스터링 열을 지원하지 않습니다. 기본 키 열이 4개를 초과하는 테이블을 복제할 때 Datastream은 기본 키 열 4개를 클러스터링 열로 사용합니다.
Datastream은 PostgreSQL infinity 날짜 유형과 같은 범위를 벗어난 날짜 및 시간 리터럴을 다음 값에 매핑합니다.
- 양수
DATE는9999-12-31값으로 - 음수
DATE는0001-01-01값으로 - 양수
TIMESTAMP는9999-12-31 23:59:59.999000 UTC값으로 - 음수
TIMESTAMP는0001-01-01 00:00:00 UTC값으로
- 양수
BigQuery는
FLOAT또는REAL데이터 유형의 기본 키가 있는 스트리밍 테이블을 지원하지 않습니다. 이러한 테이블은 복제되지 않습니다. BigQuery 날짜 유형 및 범위에 대한 자세한 내용은 데이터 유형을 참고하세요.소스가 Salesforce인 경우 각 스키마의 데이터 세트 구성 옵션은 지원되지 않습니다.