SnowConvert: Teradata SQL Snowflake 변환 가이드¶
이 페이지에서는 SnowConvert 의 기능을 활용하여 Teradata SQL 문을 Snowflake로 변환하는 방법에 대한 가이드를 제공합니다. 다양한 함수, 데이터 타입, SQL 구문 요소를 다루며 주요 차이점과 변환 전략을 강조합니다. 이 가이드는 공식 설명서(SnowConvert)를 보완하고 개략적인 개요를 제공하기 위한 것입니다. 가장 자세한 최신 정보는 공식 설명서를 참조하십시오.
데이터 타입 매핑:
Teradata와 Snowflake는 데이터 타입이 비슷하지만 동일하지는 않습니다. SnowConvert 는 대부분의 경우 매핑을 자동으로 처리하지만 기본 변환을 이해하면 도움이 됩니다. 일반적인 매핑은 다음과 같습니다.
데이터 타입 매핑:
Teradata 데이터 타입 |
Snowflake의 해당 기능 |
참고 |
---|---|---|
BYTEINT |
SMALLINT |
|
SMALLINT |
SMALLINT |
|
INTEGER |
INTEGER |
|
BIGINT |
BIGINT |
|
DECIMAL(p,s) |
NUMBER(p,s) |
전체 자릿수와 스케일을 검토해야 합니다. |
FLOAT |
FLOAT / DOUBLE |
플랫폼별 사소한 차이가 있을 수 있습니다. |
REAL |
FLOAT |
|
CHAR(n) |
CHAR(n) |
문자 세트의 차이를 고려해야 합니다. |
VARCHAR(n) |
VARCHAR(n) |
문자 세트의 차이를 고려해야 합니다. |
CLOB |
VARCHAR(16777216) / TEXT |
신중한 취급이 필요하며 다른 저장소 메커니즘이 필요할 수 있습니다. |
BLOB |
VARBINARY |
신중한 취급이 필요하며 다른 저장소 메커니즘이 필요할 수 있습니다. |
DATE |
DATE |
|
TIME |
TIME |
|
TIMESTAMP |
TIMESTAMP_NTZ / TIMESTAMP_TZ |
타임존 고려 사항을 검토해야 합니다. |
INTERVAL |
INTERVAL |
SQL 구문 및 함수:
SnowConvert 는 여러 SQL 구조의 변환을 자동화합니다. 그러나 일부 영역은 특별한 주의가 필요합니다.
DDL 문: CREATE TABLE, ALTER TABLE, DROP TABLE 은 일반적으로 직접 변환됩니다. 호환성을 위해 제약 조건과 인덱스를 검토하십시오.
DML 문: SELECT, INSERT, UPDATE, DELETE 는 대부분 호환됩니다. 이 문에서 특정 함수 사용법에 주의하십시오.
집계 함수: SUM, AVG, COUNT, MIN, MAX 는 일반적으로 원활하게 변환됩니다.
문자열 함수: 많은 문자열 함수에는 동등한 함수(예: SUBSTRING, UPPER, LOWER)가 있지만, 일부 함수는 이름이나 동작이 다를 수 있습니다.
날짜/시간 함수: 문자열 함수와 마찬가지로 날짜 및 시간 함수 해당 함수에 불일치가 있는지 검토합니다.
분석 함수: 윈도우 함수(예: ROW_NUMBER, RANK, LAG, LEAD)는 일반적으로 두 플랫폼 모두에서 지원되지만, 구체적인 구문이나 동작은 다를 수 있습니다.
저장 프로시저 및 UDFs: Teradata 저장 프로시저 및 사용자 정의 함수(UDFs)는 변환이 필요합니다. SnowConvert 를 통해 이 프로세스를 지원할 수 있지만, 수동으로 검토하고 조정해야 하는 경우가 많습니다.
매크로: Teradata 매크로는 Snowflake 저장 프로시저 또는 UDFs 로 다시 작성해야 합니다.
조건부 논리: CASE 문은 일반적으로 호환됩니다.
조인: 내부 조인, 외부 조인 및 교차 조인은 일반적으로 문제 없이 변환됩니다.
트랜잭션: Snowflake의 트랜잭션 모델은 Teradata의 트랜잭션 모델과 다를 수 있으므로 트랜잭션 논리를 검토하십시오.
특정 Teradata 기능: 특정 테이블 파티션 구성표 및 다중 값 압축과 같은 Teradata 고유의 기능은 Snowflake에 직접적인 등가물이 없을 수 있으며 다른 접근법이 필요할 수 있습니다.