Qlik 오픈 레이크하우스 아키텍처
Qlik 오픈 레이크하우스는 Iceberg 기반 레이크하우스에서 데이터를 수집, 처리 및 최적화하기 위한 Qlik Talend Cloud의 완전 관리형 종단 간 솔루션을 제공합니다. 이 솔루션은 지연 시간이 짧은 쿼리 성능과 대규모 데이터 작업의 효율성을 제공합니다.
Qlik 오픈 레이크하우스 아키텍처는 안전한 통신, 확장 가능한 컴퓨팅, 효율적인 데이터 처리를 결합하여 현대적인 레이크하우스 환경을 제공합니다. Qlik 오픈 레이크하우스는 EC2, S3, Kinesis를 포함한 AWS 기본 구성 요소를 활용합니다.
핵심 구성 요소
Qlik 오픈 레이크하우스를 만들려면 다음 엔터티가 필요합니다.
Data Movement gateway(CDC)
Data Movement gateway는 온프레미스 또는 클라우드 환경에서 실행됩니다. RDBMS, SAP 또는 메인프레임과 같은 소스 시스템의 변경 내용을 캡처하여 해당 데이터를 Amazon S3 랜딩 영역으로 전송합니다.
네트워크 통합 에이전트(EC2 인스턴스)
네트워크 통합 에이전트는 클라우드의 Qlik 서비스와 사용자 환경 내의 레이크하우스 클러스터 간의 안전한 통신을 용이하게 하는 EC2 인스턴스입니다. 에이전트는 네트워크 통합 프로세스 중에 On-Demand 인스턴스로 자동 배포되고 Qlik에서 완전히 관리됩니다. 새 버전은 릴리스 시 자동으로 배포됩니다.
네트워크 통합이 올바르게 작동하면 관리 활동 센터의 레이크하우스 클러스터 보기에 연결됨 상태가 표시됩니다. 연결 문제가 발생하면 상태가 연결 끊김으로 변경됩니다.
레이크하우스 클러스터(EC2 자동 확장 그룹)
레이크하우스 클러스터는 데이터 처리를 담당하는 AWS EC2 인스턴스 그룹입니다. 클러스터 인스턴스는 랜딩 지역에서 수신 데이터를 처리하기 위한 워크로드를 조정하고 실행하며, 처리 후 해당 데이터를 Iceberg 형식으로 대상 위치에 저장합니다.
네트워크 통합을 설정하는 동안 단일 AWS 스팟 인스턴스가 있는 레이크하우스 클러스터가 자동으로 만들어집니다. 지속적인 레이크하우스 요구 사항을 지원하기 위해 추가 클러스터를 관리하고 만들 수 있습니다. 클러스터를 구성할 때 데이터 처리 요구 사항을 충족하기 위해 서버를 만들거나, 시작하거나, 중지하거나, 확장하거나, 롤백할 수 있는 권한을 Qlik에 부여합니다. 각 클러스터는 단일 네트워크 통합과 연관되지만, 여러 클러스터가 동일한 네트워크 통합 내에서 실행될 수 있습니다. 단일 클러스터가 여러 개의 레이크하우스 작업을 실행할 수 있습니다.
AWS 스팟 인스턴스는 일반 인스턴스보다 비용이 저렴하고 여분의 Amazon EC2 용량을 사용하지만 AWS에서 별다른 통지 없이 중단될 수 있습니다. 기본적으로 Qlik은 데이터 처리를 위해 임시 스팟 인스턴스를 프로비저닝합니다. AWS Spot 마켓에서 사용할 수 있는 스팟 인스턴스가 부족한 경우 Qlik은 자동으로 On-Demand 인스턴스를 사용하여 연속성을 보장합니다. 시스템은 스팟 인스턴스가 사용 가능해지면 스팟 인스턴스로 돌아갑니다. 레이크하우스 클러스터 기술은 스팟 인스턴스와 On-Demand 인스턴스 간의 원활한 전환을 위해 설계되었으며, 노드 간에 작업을 이동합니다. 이 과정은 수동으로 개입할 필요 없이 자동으로 진행됩니다. 클러스터 설정에서는 클러스터에서 사용할 스팟 인스턴스와 On-Demand 인스턴스의 수를 구성할 수 있습니다. 스팟 인스턴스를 활용하면 Qlik 오픈 레이크하우스의 지속적인 컴퓨팅 비용을 줄이는 데 도움이 됩니다.
사용할 스팟 인스턴스 및 On-Demand 인스턴스의 수를 정의하는 것 외에도 프로젝트의 워크로드와 예산에 가장 적합한 확장 전략을 구성할 수 있습니다. 클러스터에 적용할 수 있는 확장 전략은 다음과 같습니다.
-
저렴한 비용: 개발이나 QA 환경, 그리고 최신 실시간 데이터에 의존하지 않는 워크로드에 이상적입니다. Qlik은 비용을 최대한 낮게 유지하기 위해 노력하며, 이로 인해 가끔씩 높은 지연 시간이 발생합니다.
-
짧은 지연 시간: 실시간에 가까운 데이터 최신성이 허용되는 중요 업무용하지 않은 워크로드를 위해 설계되었습니다. 이 전략은 짧은 지연 시간을 목표로 하지만, 잠깐 동안 급증이 발생할 수 있습니다.
-
일관되게 짧은 지연 시간: 실시간 데이터 최신성이 필요한 대규모 데이터가 있는 프로덕션 환경에 적합합니다. Qlik 짧은 지연 시간을 보장하기 위해 인스턴스를 사전에 확장하는데, 이로 인해 비용이 더 많이 발생할 수 있습니다.
-
확장 불가: 일정한 양의 데이터를 처리하는 워크로드에 적합한 옵션입니다. 자동 확장 및 예측 가능한 비용으로 정적 인스턴스 수를 유지하려면 이 옵션을 선택합니다.
Kinesis 스트림(워크로드 조정)
Qlik에는 레이크하우스 클러스터의 각 서버 상태를 수집하고 전달하기 위해 Kinesis 스트림이 필요합니다. 서버는 서로 통신하지 않으므로, 작업 상태와 CPU, 메모리 등의 작업 메트릭을 Kinesis에 직접 보고합니다. 각 서버는 Kinesis 스트림에서 데이터를 폴링하여 클러스터 내의 다른 서버에 대한 정보를 알아냅니다. 이러한 정보 교환을 통해 작업 동기화가 가능해집니다.
Amazon S3 버킷
Amazon S3 버킷은 다음과 같이 사용됩니다.
-
데이터 버킷 랜딩: 원시 CDC 데이터는 변환 전에 S3 버킷에 랜딩합니다.
-
구성 버킷: 레이크하우스 시스템에서 사용하는 메타데이터와 구성을 저장합니다.
-
Iceberg 테이블 저장: 데이터는 Iceberg 형식 테이블에 저장되고 최적화됩니다.
높은 수준의 흐름
초기 설정
-
VPC 및 인프라 프로비저닝 - Qlik 설명서의 지침에 따라 서브넷, S3 버킷, Kinesis 스트림 및 IAM 역할과 함께 AWS 계정에서 VPC를 구성합니다.
-
네트워크 통합 구성 - 테넌트 관리자는 이전에 프로비저닝된 인프라 세부 정보를 사용하여 Qlik Talend Cloud에 네트워크 통합을 만듭니다.
-
Qlik 구성 요소 배포 - Qlik은 VPC 내에서 데이터 플레인 게이트웨이와 레이크하우스 클러스터를 자동으로 프로비저닝합니다.
-
통신 설정 - 데이터 평면 게이트웨이는 Qlik Talend Cloud와의 통신을 안전하게 설정합니다.
-
게이트웨이 배포 - 데이터 플레인 VPC를 포함하여 온프레미스 또는 클라우드 환경에 CDC(Data Movement gateway)를 배포합니다.
-
운영 준비 완료 - 설정이 완료되면 액세스 권한에 따라 Qlik 오픈 레이크하우스 프로젝트와 작업을 만들고 관리할 수 있습니다.
Qlik 오픈 레이크하우스 프로젝트 만들기
다음과 같은 작업 유형을 사용할 수 있습니다.
랜딩 데이터 작업
-
소스 구성 - Data Movement gateway는 RDBMS, SAP, 메인프레임 등을 포함한 소스 시스템의 변경 내용을 캡처하도록 구성됩니다.
-
데이터 랜딩 - CDC 작업은 원시 변경 데이터를 AWS 계정의 지정된 S3 랜딩 버킷으로 지속적으로 전송합니다.
저장 데이터 작업
-
Iceberg 카탈로그 연결(예: AWS Glue Data 카탈로그)을 등록합니다.
-
Qlik Talend Cloud에 저장소 작업을 정의합니다.
-
Qlik Talend Cloud은 작업 정의를 데이터 플레인 게이트웨이로 보냅니다.
-
데이터 플레인 게이트웨이는 작업 지침을 Qlik 레이크하우스 클러스터로 안전하게 전달합니다.
-
클러스터는 S3의 랜딩 버킷에서 원시 데이터를 지속적으로 읽고, 이를 처리하고, 출력을 S3의 Iceberg 테이블에 씁니다.
-
레이크하우스 클러스터는 레이크하우스 클러스터 설정에서 미리 정의된 기본 설정에 따라 로드에 따라 자동으로 확장되거나 축소됩니다.
-
모니터링 데이터는 Qlik Talend Cloud로 전송되고 로그와 메트릭은 Qlik으로 전달됩니다.
데이터 미러링 작업
Snowflake에서 데이터 레이크에 저장된 데이터를 중복 없이 쿼리할 수 있도록 외부 Iceberg 테이블을 만들 수 있습니다. 이를 통해 S3의 Parquet와 같은 형식으로 저장된 Iceberg 관리 데이터를 기반으로 Snowflake 분석 엔진을 사용할 수 있습니다. Snowflake에 데이터를 복제하는 대신 외부 테이블을 참조함으로써 저장 비용이 절감되고, 정확한 단일 소스가 유지되며, 레이크하우스와 웨어하우스 환경 간의 일관성이 보장됩니다.
네트워크 통합과 Qlik Talend Cloud 간의 통신
네트워크 통합은 Qlik Talend Cloud에 대한 아웃바운드 보안 연결(HTTPS)을 설정합니다. 성공적으로 수락되면 연결은 보안 웹소켓(WSS)으로 변환됩니다. 네트워크 통합과 Qlik Talend Cloud 사이에 레이크하우스 특정 작업 명령과 제어를 수신하기 위한 전용 통신 채널(WSS)이 추가로 설정됩니다. 주기적으로 네트워크 통합은 Qlik Talend Cloud에 대한 보안 연결(HTTPS)을 설정하여 데이터 관련 이벤트를 수신하고 전송합니다. 메트릭과 로그는 레이크하우스 클러스터에서 Qlik으로 전송됩니다.
사용자의 데이터 보안을 위해 다음과 같은 측정값을 취합니다.
-
네트워크 통합에서 Qlik Talend Cloud으로의 모든 연결은 아웃바운드입니다. 인바운드 액세스가 필요하지 않습니다.
-
메타데이터, 명령 및 제어 요청은 HTTPS로 보안된 통신 채널을 통해 전송되며, 네트워크 통합과 Qlik Talend Cloud 사이에 추가적인 암호화 계층이 만들어집니다.
-
모든 데이터는 사용자가 소유한 리소스 간에 흐릅니다. 데이터는 Qlik Talend Cloud로 전송되지 않습니다. 예를 들어, 테이블 및 열 이름과 같은 메타데이터는 작업 정의를 허용하기 위해 Qlik Talend Cloud로 전송됩니다.
-
데이터는 Qlik으로 전송되기 전에 익명화됩니다. Qlik은 로그나 메트릭에서 문제가 발견될 경우 익명화된 데이터를 사용하여 적극적으로 지원합니다.