클라우드 데이터 웨어하우스의 데이터 세트 아키텍처
Qlik Talend Data Integration을(를) 사용하면 분석 데이터 파이프라인을 생성, 관리 및 제어하여 소비자에게 데이터를 전달할 수 있습니다. Qlik Talend Data Integration을(를) 사용하여 클라우드 데이터 웨어하우스에서 데이터 세트를 생성하면 스토리지 테이블, 변경 테이블 및 뷰가 생성됩니다.
직관적이고 안내가 제공되는 사용자 인터페이스를 통해 데이터 파이프라인을 구축, 모델링 및 실행할 수 있습니다. 수동 코딩 없이 운영 데이터 저장소(ODS) 및 이력 데이터 저장소(HDS)에 대한 스키마를 자동으로 생성합니다.
Qlik 데이터 게이트웨이 - 데이터 이동 및 CDC를 사용하는 Qlik Talend Data Integration 데이터 파이프라인 아키텍처
-
랜딩
Qlik Talend Data Integration의 랜딩 태스크는 데이터 소스에서 랜딩 영역으로 데이터가 지속적으로 랜딩되는 것을 제어합니다. 다이어그램의 예는 Qlik 데이터 게이트웨이 - 데이터 이동을(를) 사용하여 CDC를 통해 데이터 소스에 액세스하여 데이터를 최신 상태로 유지하는 방법을 설명합니다. 또한 Qlik Cloud 소스 연결을 사용하여 주기적으로 다시 로드하도록 예약할 수 있는 전체 로드를 수행할 수 있습니다.
데이터 이동 게이트웨이을(를) 사용해야 하는 경우에 대한 자세한 내용은 데이터 이동 게이트웨이는 언제 필요합니까?를 참조하십시오.
정보 메모랜딩 영역의 테이블은 Qlik Talend Data Integration 스토리지 데이터 태스크의 내부 사용을 위해 생성됩니다. 다른 다운스트림 프로세스에서 랜딩 테이블을 사용하지 마십시오. -
스토리지
스토리지 태스크는 데이터가 스토리지 테이블에 적용되는 시기를 제어하고 테이블 및 외부 뷰를 생성하고 관리합니다.
-
외부 뷰
데이터를 소비할 때는 뷰를 사용하는 것이 모범 사례입니다. 뷰는 향상된 데이터 동시성을 포함하여 테이블에 비해 몇 가지 이점을 제공합니다.
라이브 뷰 사용
라이브 뷰를 사용하여 현재 데이터(ODS)와 이력 데이터(HDS) 모두에 액세스할 수 있습니다. 라이브 뷰에는 아직 현재 또는 이전 테이블에 적용되지 않은 변경 테이블의 데이터가 포함됩니다. 이를 통해 변경된 데이터를 자주 적용할 필요 없이 더 낮은 지연 시간으로 데이터를 볼 수 있습니다. 병합을 지연시키는 기능을 통해 대상 플랫폼에서 비용과 처리 요구 사항을 줄일 수 있습니다.
라이브 뷰의 또 다른 이점은 컴퓨팅 계층이 항상 실행될 필요가 없다는 것입니다.
-
랜딩은 빠른 실행을 위해 INSERT 작업만 수행하므로 규모가 작을 수 있는 명시적 웨어하우스를 가리킬 수 있습니다.
-
예를 들어 하루에 한 번 실행되는 스토리지 프로세스는 처리를 위해 대규모 컴퓨팅 레이어를 깨울 수 있습니다.
-
더 이상 하루 종일 변경 사항을 적용할 필요가 없으므로 지연 시간을 개선할 수 있습니다. 삽입된 새 레코드가 변경 테이블에서 사용 가능해지면 라이브 뷰에서 즉시 사용할 수 있습니다.
스키마
아티팩트는 내부 스키마 및 데이터 태스크 스키마에 생성됩니다.
-
내부 스키마에는 물리적 데이터 테이블이 포함됩니다.
-
데이터 태스크 스키마에는 데이터를 소비하는 데 사용할 수 있는 뷰가 포함되어 있습니다.
스키마가 둘 이상의 데이터 태스크와 연결된 경우 각 데이터 태스크는 테이블 및 뷰에 고유한 접두사를 사용해야 합니다. 데이터 태스크 설정에서 접두사를 설정할 수 있습니다.
내부 스키마만 이름 지정 충돌 여부를 확인합니다. 다른 스키마의 경우 테이블 이름에 이름 지정 충돌이 없는지 확인해야 합니다. 모범 사례는 내부 스키마의 이름을 데이터 태스크 스키마와 동일한 이름으로 지정하고 _internal을 추가하는 것입니다. 이렇게 하면 모든 스키마 및 접두사 조합이 고유해집니다.
Qlik Talend Data Integration에서 생성한 스키마는 태스크나 프로젝트를 삭제할 때 삭제되지 않습니다.
테이블
다음 테이블은 내부 스키마에 생성됩니다.
-
현재 테이블(ODS)
이 테이블에는 최신 적용 간격 동안 변경 사항으로 업데이트된 데이터 소스의 복제본이 포함되어 있습니다.
-
이전 테이블(HDS)
이 테이블에는 유형 2 이력 데이터가 포함되어 있습니다. 데이터 태스크 설정에서 History가 활성화된 경우에만 생성됩니다.
소스 테이블 레코드가 업데이트될 때마다 이전 테이블에 새 레코드가 추가됩니다. 이력 레코드는 이전 현재 레코드의 복사본이며, 업데이트된 내용과 유효했던 시기도 포함합니다.
이력 데이터를 보려면 이력 뷰 또는 이력 라이브 뷰를 사용하십시오. 자세한 내용은 이력 뷰 및 이력 라이브 뷰를 참조하십시오.
-
변경 테이블
이 테이블에는 아직 현재 테이블에 적용되지 않은 모든 변경 사항이 포함되어 있습니다. 랜딩 모드 Full load and CDC가 사용되는 경우에만 생성됩니다.
이전에 삭제된 레코드를 다시 삽입하고 레코드의 기본 키 값이 동일한 경우, hdr__operation은 U - updated 값을 갖습니다.
hdr__로 시작하는 열 이름은 Qlik Talend Data Integration에서 헤더 열에 사용하도록 예약되어 있습니다. 자세한 내용은 모호한 열 이름를 참조하십시오.
현재 테이블
이름 지정: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
다음 헤더 열이 테이블 구조에 추가됩니다.
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__key_hash | varbinary(20) |
모든 레코드 기본 키의 해시입니다. 해시 형식은 SHA1입니다. 열은 백스페이스 문자로 구분됩니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
| hdr__from_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__inserted_timestamp | 日付と時刻 | 키가 처음 추가된 시간의 UTC 日付と時刻입니다. 전체 로드를 사용하는 경우 전체 로드의 시작 시간입니다. |
| hdr__modified_timestamp | 日付と時刻 | 마지막 업데이트가 적용된 시간의 UTC 日付と時刻입니다. |
이전 테이블
다음 헤더 필드가 추가됩니다.
이름 지정: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_prior
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__key_hash | varbinary(20) |
모든 레코드 기본 키의 해시입니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
| hdr__from_timestamp | 日付と時刻 |
UTC의 日付と時刻 |
| hdr__to_timestamp | 日付と時刻 |
UTC의 日付と時刻 |
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__was_current_from_timestamp | 日付と時刻 |
레코드가 처음으로 현재 상태였던 시간의 UTC 日付と時刻입니다. |
| hdr__was_current_to_timestamp | 日付と時刻 |
레코드가 마지막으로 현재 상태였던 시간의 UTC 日付と時刻입니다. |
변경 테이블
이름 지정: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_ct
다음 헤더 필드가 테이블 구조에 추가됩니다.
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__change_identifier | varchar(50) |
변경 식별자는 두 부분으로 구성된 문자열입니다.
|
| hdr__operation | varchar(1) |
이 레코드의 최신 작업입니다.
|
| hdr__timestamp | 日付と時刻 |
UTC의 日付と時刻입니다. |
| hdr__key_hash | binary(20) |
모든 레코드 기본 키의 해시입니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
뷰
다음 뷰는 데이터 태스크 대상 스키마에 생성됩니다. 생성되는 뷰는 라이브 뷰 및 이력을 활성화했는지 여부와 변경 처리를 사용하는지 여부에 따라 다릅니다.
-
표준 뷰
-
라이브 뷰
-
변경 뷰
-
이력 뷰
-
이력 라이브 뷰
표준 뷰
이름 지정: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>
테이블 구조에 헤더 열이 추가되지 않습니다.
라이브 뷰
라이브 뷰는 선택한 각 소스 테이블에 대해 테이블을 변경 테이블의 변경 사항과 병합하는 뷰를 표시합니다. 이를 통해 다음 적용 주기를 기다릴 필요 없이 데이터의 라이브 뷰를 쿼리에 제공합니다. 변경 테이블 뷰에서 병합된 변경 사항은 테이블 간에 트랜잭션이 일관되지 않습니다.
라이브 뷰는 데이터 태스크의 설정에서 Live views를 활성화한 경우에만 생성됩니다.
이름 지정: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for live views>
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__key_hash | varbinary(20) |
모든 레코드 기본 키의 해시입니다. 해시 형식은 SHA1입니다. 열은 백스페이스 문자로 구분됩니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
| hdr__from_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__inserted_timestamp | 日付と時刻 | 키가 처음 추가된 시간의 UTC 日付と時刻입니다. 전체 로드를 사용하는 경우 전체 로드의 시작 시간입니다. |
| hdr__modified_timestamp | 日付と時刻 | 마지막 업데이트가 적용된 시간의 UTC 日付と時刻입니다. |
| hdr__store | varchar(10) |
이것은 레코드가 있는 위치를 나타냅니다.
|
변경 뷰
이것은 선택한 각 소스 테이블에 대한 랜딩 스키마의 변경 테이블 뷰입니다.
이름 지정: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
다음 헤더 필드가 테이블 구조에 추가됩니다.
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__change_identifier | string(50) |
변경 식별자는 두 부분으로 구성된 문자열입니다.
|
| hdr__from_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__to_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__timestamp | 日付と時刻 |
UTC의 日付と時刻입니다. |
| hdr__key_hash | binary(20) |
모든 레코드 기본 키의 해시입니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
이력 뷰
데이터 태스크 설정에서 History가 활성화된 경우 선택한 각 소스 테이블에 대해 데이터 자산 스키마에 이력 뷰가 생성됩니다. 다음 헤더 필드가 추가됩니다.
이름 지정: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for history views>
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__key_hash | binary(20) |
모든 레코드 기본 키의 해시입니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
| hdr__from_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__to_timestamp | 日付と時刻 |
UTC의 日付と時刻
|
| hdr__was_current_from_timestamp | 日付と時刻 |
레코드가 처음으로 현재 상태였던 시간의 UTC 日付と時刻입니다. |
| hdr__was_current_to_timestamp | 日付と時刻 |
레코드가 마지막으로 현재 상태였던 시간의 UTC 日付と時刻입니다. |
| hdr__store | varchar(7) |
이것은 레코드가 있는 위치를 나타냅니다.
|
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__deleted | bit |
hdr__operation이 D 또는 d인지에 따라 레코드가 소프트 삭제되었는지 여부를 나타냅니다. |
이력 라이브 뷰
변경 테이블의 변경 사항과 병합된 선택한 각 소스 테이블에 대해 데이터 자산 스키마에 이력 라이브 뷰가 생성됩니다. 다음 헤더 필드가 추가됩니다.
이름 지정: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Suffix for live history views>
| 필드 | 유형 | 설명 |
|---|---|---|
| hdr__key_hash | binary(20) |
모든 레코드 기본 키의 해시입니다. 이 열은 Data mart 데이터 태스크에서 생성되지 않습니다. |
| hdr__key_id | int64 |
레코드당 증가하는 시퀀스입니다. 이 열은 Data mart 데이터 태스크에서만 생성됩니다. |
| hdr__store | varchar(10) |
이것은 레코드가 있는 위치를 나타냅니다.
|
| hdr__operation | string(1) |
이 레코드의 최신 작업입니다.
|
| hdr__deleted | bit |
hdr__operation이 D 또는 d인지에 따라 레코드가 소프트 삭제되었는지 여부를 나타냅니다. |