Babelfish의 파티셔닝 이해
버전 4.3.0부터 Babelfish는 제한된 지원으로 테이블 및 인덱스 파티셔닝을 도입합니다. 다음 섹션에서는 Babelfish에서 파티션 함수 생성, 파티션 체계 정의, 파티션된 테이블 및 인덱스 구현에 대한 세부 정보를 제공합니다.
Babelfish 파티셔닝 소개
-
파티션 함수:
-
CREATE PARTITION FUNCTION:
분할 열 유형과 각 파티션의 값 범위를 지정하여 테이블 또는 인덱스를 파티셔닝하는 방법을 정의합니다. -
DROP PARTITION FUNCTION:
기존 파티션 함수를 제거합니다.
-
-
파티셔닝 체계:
-
CREATE PARTITION SCHEME:
파티션과 파일 그룹 간의 매핑을 정의합니다.참고
Babelfish에서 파일 그룹은 더미 객체로 취급되며 물리적 스토리지 위치를 나타내지 않습니다.
-
DROP PARTITION SCHEME:
기존 파티션 체계를 제거합니다.
-
-
시스템 함수:
-
$PARTITION:
이 시스템 함수는 파티셔닝 열의 지정된 값이 지정된 파티셔닝된 테이블에 속하는 파티션 번호를 반환합니다.
-
-
파티셔닝된 테이블 및 인덱스:
-
CREATE TABLE ... ON partition_scheme_name (partition_column_name):
지정된 파티션 체계 및 파티셔닝 열을 기반으로 파티셔닝된 테이블을 생성합니다. -
CREATE INDEX ... ON partition_scheme_name (partition_column_name):
지정된 파티션 체계 및 파티셔닝 열을 기반으로 파티셔닝된 인덱스를 생성합니다.
-
-
메타데이터 파티셔닝을 위한 시스템 뷰:
파티셔닝과 관련된 메타데이터를 제공하기 위해 다음 시스템 뷰가 추가됩니다.
-
sys.destination_data_spaces
-
sys.partitions
-
sys.partition_functions
-
sys.partition_parameters
-
sys.partition_range_values
-
sys.partition_schemes
-
제한 사항 및 해결 방법
Babelfish의 파티셔닝에는 다음 제한이 적용됩니다.
-
ALTER PARTITION FUNCTION
및ALTER PARTITION SCHEME
은 아직 지원되지 않습니다.참고
Babelfish에서는 분할 또는 병합 작업이 아직 지원되지 않아 파티션 추가 또는 제거가 불가능하므로 파티션 함수에 모든 파티션을 미리 정의해야 합니다.
-
계산된 열은 아직 파티셔닝 열로 지원되지 않습니다.
-
INSERT BULK
및BCP
유틸리티는 파티셔닝된 테이블에 대해 아직 지원되지 않습니다. -
파티션 함수의
LEFT
경계 옵션은 아직 지원되지 않습니다. -
파티션 함수에는
SQL_VARIANT
데이터 유형이 아직 지원되지 않습니다. -
TRUNCATE TABLE ... WITH PARTITION
은 아직 지원되지 않습니다. -
ALTER TABLE ... SWITCH PARTITION
은 아직 지원되지 않습니다. -
파티션 체계 및 파티션 테이블과 다른 파티션 열과 같이 정렬되지 않은 파티션된 인덱스는 지원되지 않습니다.
-
Babelfish 소스에서의 DMS 마이그레이션은 파티셔닝된 테이블의 전체 로드 작업에만 지원됩니다.
-
다음 구문은 아직 지원되지 않지만 해결 방법이 있습니다.
CREATE TABLE 문에 제약 조건 또는 인덱스가 있는 파티션 체계를 사용합니다.
ALTER TABLE ... ADD CONSTRAINT ... ON partition_scheme_name (partition_column_name).
참고
babelfishpg_tsql.escape_hatch_storage_on_partition
이스케이프 해치를 무시하도록 설정할 수 있습니다. 이렇게 하면 파서가 제약 조건 또는 인덱스와 함께 사용되는 파티션 체계 옵션을 무시할 수 있으며 백엔드는 각 파티션에 대해 개별 제약 조건 또는 인덱스를 생성합니다.