Qlik 오픈 레이크하우스의 CDC 소스용 데이터 집합 아키텍처 | Qlik Cloud 도움말
기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

Qlik 오픈 레이크하우스의 CDC 소스용 데이터 집합 아키텍처

Last updated: 2026. 9. 1.

Qlik 오픈 레이크하우스에서 데이터 집합을 생성하면 저장소 테이블, 변경 테이블 및 뷰가 Qlik Talend Data Integration에 의해 자동으로 생성됩니다.이러한 뷰를 쿼리하여 Iceberg 오픈 테이블 형식으로 저장된 현재 및 기록 데이터에 액세스할 수 있습니다.

직관적이고 안내된 사용자 인터페이스를 통해 데이터 파이프라인을 구축, 모델링 및 실행할 수 있습니다.수동 코딩 없이 작업 데이터 저장소(ODS) 및 기록 데이터 저장소(HDS)에 대한 스키마를 자동으로 생성할 수 있습니다.

Qlik 오픈 레이크하우스를 사용하는 Qlik 데이터 게이트웨이 - 데이터 이동 데이터 파이프라인에 대한 아키텍처.데이터는 S3에 저장되고 Iceberg 오픈 레이크하우스에 랜딩됩니다.필요에 따라 아래에 표시된 대로 테이블을 데이터 웨어하우스로 미러링할 수 있습니다.

스키마

아티팩트는 내부 스키마 및 데이터 작업 스키마에서 생성됩니다.

  • 내부 스키마에는 여러 개의 파티션이 있는 물리적 테이블이 포함되어 있습니다.

  • 데이터 작업 스키마에는 데이터를 소비하는 데 사용할 수 있는 보기가 포함되어 있습니다.

    스키마가 둘 이상의 데이터 작업과 연결된 경우 각 데이터 작업은 테이블 및 뷰에 대해 고유한 접두사를 사용해야 합니다.데이터 작업 설정에서 접두사를 설정할 수 있습니다.

이름 충돌에 대해 내부 스키마만 확인합니다.다른 스키마의 경우 테이블 이름에 명명 충돌이 없는지 확인해야 합니다.가장 좋은 방법은 내부 스키마 이름을 _internal이 추가된 데이터 작업 스키마와 동일한 이름으로 지정하는 것입니다.이렇게 하면 모든 스키마와 접두사 조합이 고유해집니다.

정보 메모모든 테이블과 보기는 Qlik Talend Data Integration으로 관리됩니다.다른 도구를 사용하여 데이터를 변경하지 마십시오.

테이블

각 소스 테이블에 대해 다음 형식을 사용하여 접미사 _internal을 사용하여 내부 스키마에 테이블이 만들어집니다.

<INTERNAL_SCHEMA>.<TABLE_NAME>_internal

이 테이블은 5개의 파티션으로 구성되어 있으며, 각 파티션은 데이터가 처리되고 저장되는 방식에 있어 고유한 목적을 갖습니다.각 파티션은 데이터 수명 주기에서의 역할에 따라 테이블 열의 하위 집합을 활용합니다.

정보 메모내부 스키마의 테이블은 사전 고지 없이 변경될 수 있습니다.가능하다면 주로 보기를 사용하여 데이터를 사용해야 합니다.

내부 데이터 집합은 소스 시스템에서 수신 데이터를 효율적으로 관리하도록 구성되어 실시간 수집 및 기록 추적을 지원합니다.데이터 흐름은 아래에 설명된 여러 개의 특수 파티션을 통해 관리됩니다.

  • 변경 파티션 – 실시간 수집

    소스 시스템의 모든 변경 내용(삽입, 업데이트, 삭제)은 먼저 Changes 파티션에 추가됩니다.

    • 원시 변경 로그 역할을 하는 파티션은 변환이 발생하기 전에 소스 활동에 대한 완전한 피드를 제공합니다.

    • 각 변경 내용에는 처리 방법을 나타내는 유형(I, U 또는 D)이 태그로 지정됩니다.

    • 이벤트는 발생하는 대로 소스에서 캡처됩니다.파티션은 거의 실시간으로 업데이트됩니다.

    • Lake 랜딩 데이터 작업에서 다음 설정이 적용되는 경우 Changes 파티션을 사용할 수 있습니다.

      • 일반 탭에서 업데이트 방법CDC로 설정됩니다.

      • 최대 로드가 활성화되었습니다.

  • Asset_state 파티션 - 진행률 추적

    변경 내용이 수집되면 Asset_state 파티션은 두 가지 주요 타임스탬프를 기록합니다.

    • 변경 내용이 마지막으로 Changes 파티션에 추가된 시간.

    • 변경 내용이 마지막으로 Current 파티션에 적용된 시간.

    이를 통해 동기화 파이프라인에 대한 전체적인 가시성을 확보하고 지연을 모니터링하거나 문제를 해결하는 데 도움이 됩니다.

  • 현재 파티션(ODS) – 소스의 최신 복제본

    Changes 파티션의 변경 내용은 소스 데이터의 최신 쿼리 최적화 복사본을 유지하기 위해 주기적으로 Current 파티션에 적용됩니다.

    • 업데이트를 적용하기 위해 백그라운드 작업이 자동으로 실행됩니다.이는 고정된 일정이 아닌 누적된 변경 내용의 볼륨을 기준으로 합니다.

    • 초기 전체 로드는 Current 파티션에 직접 기록됩니다.

    • 이 파티션은 데이터의 현재 상태를 반영하며 효율적인 쿼리를 위해 설계되었습니다.

  • 이전 파티션(HDS) – 기록 데이터

    레코드가 Current 파티션에서 업데이트되거나 삭제되면 이전 버전의 복사본이 Prior 파티션에 기록됩니다.

    • 레코드에는 변경 내역과 데이터가 유효한 날짜 범위를 포함한 메타데이터가 포함되어 있습니다.

    • 이는 유형 2 천천히 변화하는 차원(SCD2)을 지원합니다.

    • 저장 데이터 작업 설정의 Prior일반 탭에서 레코드 저장소 및 변경 레코드 저장소가 활성화된 경우 파티션을 사용할 수 있습니다.

    • 레코드의 업데이트된 버전이 Current 파티션에 들어가면 이전 레코드는 기록 추적을 위해 Prior 파티션으로 이동됩니다.

  • 파티션 다시 로드

    다시 로드 Reload 파티션은 수동 또는 예약된 전체 다시 로드 중에 임시 스테이징 영역 역할을 합니다:

    • 새로운 데이터는 먼저 다시 로드 Reload 파티션에 기록됩니다.

    • 정기적인 유지 관리 작업은 일시 중지되기 전에 보류 중인 변경 내용을 모두 지웁니다.

    • 데이터는 현재 Current 파티션과 비교되고, 차이점만 현재 Current 파티션으로 이동됩니다.

    • 다시 로드 Reload 파티션은 작업이 완료되면 지워집니다.

    이 프로세스는 전체 다시 로드 작업 중에 기본 데이터 집합에 대한 중단을 최소화합니다.

Current 파티션

필드 유형 설명
hdr__key_hash VARBINARY(20) 모든 레코드 기본 키의 해시해시 형식은 SHA1입니다.열은 백스페이스 문자로 구분됩니다.
hdr__from_timestamp TIMESTAMP

타임스탬프(UTC):

  • 전체 로드에서 가져온 데이터의 경우 이는 전체 로드 시작 시간입니다.

  • Changes 파티션에서 발생하는 변경 내용의 경우, 이는 레코드의 타임스탬프 필드입니다.

hdr__operation VARCHAR(1)

이 레코드의 최신 작업입니다.

  • D - Changes 파티션에서 삭제됨.

  • U - Changes 파티션에서 업데이트됨.

  • I - Changes 파티션에서 삽입됨.

  • L - 전체 로드 작업에 의해 삽입됨.

  • d - 비교 및 적용에서 삭제됩니다.

  • u - 비교 및 적용에서 업데이트됩니다.

  • i - 비교 및 적용에서 삽입됩니다.

hdr__inserted_timestamp TIMESTAMP 키가 처음 추가된 UTC 타임스탬프.전체 로드를 사용할 때의 전체 로드 시작 시간.
hdr__modified_timestamp TIMESTAMP 마지막 업데이트가 적용된 타임스탬프(UTC).

Prior 파티션

필드 유형 설명
hdr__key_hash VARBINARY(20) 모든 레코드 기본 키의 해시입니다.
hdr__from_timestamp TIMESTAMP 타임스탬프(UTC).
hdr__to_timestamp TIMESTAMP 타임스탬프(UTC).
hdr__operation STRING(1)

이 레코드의 최신 작업

  • D - Changes 파티션에서 삭제됨.

  • U - Changes 파티션에서 업데이트됨.

  • I - Changes 파티션에서 삽입됨.

  • L - 전체 로드 작업에 의해 삽입됨.

  • d - 비교 및 적용에서 삭제됩니다.

  • u - 비교 및 적용에서 업데이트됩니다.

  • i - 비교 및 적용에서 삽입됩니다.

hdr__was_current_from_timestamp TIMESTAMP 최초 레코드가 현재인 타임스탬프(UTC).
hdr__was_current_to_timestamp TIMESTAMP 마지막으로 레코드가 현재인 타임스탬프(UTC).

Changes 파티션

필드 유형 설명
hdr__change_identifier VARCHAR(50)

변경 식별자는 두 부분으로 구성된 문자열입니다.

  • 1/1/1970(10자리 문자열) 이후 밀리초 단위의 배치 실행 시작 타임스탬프.

  • 복제 게이트웨이에서 시퀀스 변경(35자).

hdr__operation VARCHAR(1)

이 레코드의 최신 작업입니다.

  • D - Changes 파티션에서 삭제됨.

  • U - Changes 파티션에서 업데이트됨.

  • I - Changes 파티션에서 삽입됨.

  • L - 전체 로드 작업에 의해 삽입됨.

  • d - 비교 및 적용에서 삭제됩니다.

  • u - 비교 및 적용에서 업데이트됩니다.

  • i - 비교 및 적용에서 삽입됩니다.

hdr__timestamp TIMESTAMP 타임스탬프(UTC).
hdr__key_hash BINARY(20) 모든 레코드 기본 키의 해시입니다.
hdr__inserted_timestamp TIMESTAMP Qlik이 변경 내용을 처리한 시간의 타임스탬프(UTC).

Asset_state 파티션

필드 유형 설명
hdr__apply_change_identifier VARCHAR(50) Current 파티션에 적용된 최신 변경 내용의 변경 식별자.
hdr__copy_change_identifier VARCHAR(50) Changes 파티션에 추가된 최신 변경 내용의 변경 식별자.

Reload 파티션

Reload 파티션에서 사용되는 열은 Current 파티션과 동일합니다.

보기

만들어진 모든 보기는 거의 실시간으로 업데이트됩니다.다음 보기는 쿼리 및 보고를 간소화하는 데 사용할 수 있습니다.

현재

현재 보기는 데이터의 가장 최신 상태를 반영합니다.이 보기는 거의 실시간으로 업데이트된 소스 테이블의 복제본을 나타냅니다.CurrentChanges 파티션의 데이터를 병합합니다.

이름: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>

테이블 구조에 헤더 열이 추가되지 않습니다.

기록

데이터 작업 설정에서 기록이 활성화된 경우, 선택한 각 소스 테이블에 대한 기록 뷰가 데이터 자산 스키마에 생성됩니다.기록 보기는 PriorChanges 파티션의 데이터를 병합합니다.변경 내용에 대한 완전한 타임라인을 제공하므로 감사나 기록 분석에 적합합니다.

이름: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_<Suffix for history views>

다음 헤더 필드가 기록 보기에 추가됩니다.

필드 유형 설명
hdr__key_hash BINARY(20) 모든 레코드 기본 키의 해시입니다.
hdr__from_timestamp TIMESTAMP 소스 시스템에서 변경이 발생한 타임스탬프.이는 사용자가 처음 변경한 시점을 반영합니다.
hdr__to_timestamp TIMESTAMP 소스 시스템에서 변경 내용이 되돌려지거나 업데이트된 타임스탬프.
hdr__store VARCHAR(10)

이는 레코드가 있는 위치를 나타냅니다.

  • CURRENT - 레코드가 Current 파티션에 있는 경우.

  • PRIOR - 레코드가 Prior 파티션에 레코드 데이터가 있는 경우.

hdr__operation STRING(1)

이 레코드의 최신 작업

  • D - Changes 파티션에서 삭제됨.

  • U - Changes 파티션에서 업데이트됨.

  • I - Changes 파티션에서 삽입됨.

  • L - 전체 로드 작업에 의해 삽입됨.

  • d - 비교 및 적용에서 삭제됩니다.

  • u - 비교 및 적용에서 업데이트됩니다.

  • i - 비교 및 적용에서 삽입됩니다.

hdr__deleted 비트 hdr__operation이 D인지 d인지에 따라 레코드가 일시 삭제되었는지 여부를 나타냅니다.
hdr__was_current_from_timestamp TIMESTAMP 이 행이 Current 파티션에 들어온 시간(UTC)입니다.이는 일반적으로 저장 작업이 실행되고 변경 내용이 적용된 경우입니다.
hdr__was_current_to_timestamp TIMESTAMP 예를 들어, 최신 버전으로 인해 행이 Current 테이블에서 제거된 시간(UTC)입니다.
정보 메모현재 및 기록 보기는 Changes 파티션에 의존하며 항상 실시간에 가깝습니다.하지만 쿼리 성능이 느린 경우 Current 또는 Prior 파티션에 아직 적용되지 않은 많은 변경 내용이 원인일 수 있습니다.병합되지 않은 델타는 쿼리 시점에 더 많은 처리가 필요하므로 액세스 속도가 느려집니다.

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 알려 주십시오!