이 페이지에서는 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의 기본 키는 데이터 유형이 다음과 같아야 합니다.
DATE
BOOL
GEOGRAPHY
INT64
NUMERIC
BIGNUMERIC
STRING
TIMESTAMP
DATETIME
지원되지 않는 데이터 유형의 기본 키가 포함된 테이블은 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인 경우 각 스키마의 데이터 세트 구성 옵션은 지원되지 않습니다.