Qlik Open Lakehouseのアーキテクチャー
Qlik Open Lakehouse は Qlik Talend Cloud に Iceberg ベースのレイクハウスでデータの取り込み、処理、最適化を行うエンドツーエンドのフル マネージド ソリューションを提供します。このソリューションは、低レイテンシーのクエリ パフォーマンスと効率的なデータ運用を大規模に実現します。
Qlik Open Lakehouse アーキテクチャは、安全な通信、スケーラブルなコンピュート、効率的なデータ処理を組み合わせ、最新のレイクハウス体験を提供します。Qlik Open Lakehouse は EC2、S3、Kinesis など、AWS ネイティブのコンポーネントを活用しています。
コア コンポーネント
Qlik Open Lakehouse を作成するには、以下のエンティティが必要です。
Data Movement Gateway (CDC)
Data Movement Gateway はオンプレミスまたはクラウド環境で動作します。RDBMS、SAP、メインフレームなどのソースシステムからの変更をキャプチャし、Amazon S3 のランディング ゾーンにデータを送信します。
ネットワーク統合エージェント (EC2 インスタンス)
ネットワーク統合エージェントは EC2 インスタンスで、クラウド上の Qlik サービスと環境内のレイクハウス クラスター間のセキュアな通信を促進します。エージェントは、ネットワーク統合プロセス中にオンデマンド インスタンスとして自動的に展開され、Qlik によって完全に管理されます。新しいバージョンはリリース時に自動的に展開されます。
ネットワーク統合が正しく機能すると、管理アクティビティ センターのレイクハウス クラスター ビューに接続ステータスが表示されます。接続に問題が発生した場合、ステータスは [未接続] に変わります。
レイクハウス クラスター (EC2 自動スケーリング グループ)
レイクハウス クラスターは、データ処理の応答性が高い AWS EC2 インスタンスのグループです。クラスター インスタンスは、ランディング エリアからの受信データを処理するためのワークロードを調整 実行し、処理後、データを Iceberg 形式で目標の場所に保存します。
単一の AWS スポット インスタンスを持つレイクハウス クラスターは、ネットワーク統合のセットアップ中に自動的に作成されます。レイクハウスの継続的な要件をサポートするために、追加のクラスターを管理および作成することができます。クラスターを構成する際、Qlik にデータ処理要件を満たすためにサーバーを作成、開始、停止、スケール、またはロールバックする権限を付与します。各クラスターは 1 つのネットワーク統合に関連付けられていますが、同じネットワーク統合内で複数のクラスターを実行することもできます。1 つのクラスターで多くのレイクハウス タスクを実行できます。
AWS スポット インスタンスは、通常のインスタンスよりも低コストで予備の Amazon EC2 容量を使用しますが、ほとんど通知なく AWS によって中断される可能性があります。デフォルトでは、Qlik はデータ処理に一時的なスポット インスタンスをプロビジョニングします。AWS Spot マーケットで利用可能な Spot インスタンスが不足している場合、Qlik は継続性を確保するためにオンデマンド インスタンスを自動的に使用します。スポット インスタンスが利用可能になると、システムはスポット インスタンスに戻ります。レイクハウス クラスター テクノロジーは、スポット インスタンスとオンデマンド インスタンスの間をスムーズに移行し、ノード間でジョブを移動するように設計されています。このプロセスは、手動による介入を必要とせず、自動的に行われます。クラスター設定では、クラスターで使用するスポット インスタンスとオンデマンド インスタンスの数を設定できます。スポット インスタンスを利用することで、Qlik Open Lakehouse の継続的なコンピュート コストを削減することができます。
使用するスポット インスタンスとオンデマンド インスタンスの数を定義するだけでなく、プロジェクションのワークロードと予算に最適なスケーリング戦略を設定できます。以下のスケーリング戦略をクラスターに適用できます。
-
低コスト: 開発環境や 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 との通信を安全に確立します。
-
ゲートウェイの展開 - Data Movement Gateway (CDC) をオンプレミスまたはクラウド環境 (データプレーン VPC を含む) に展開します。
-
すぐに運用可能 - セットアップが完了したら、Qlik Open Lakehouse プロジェクトとタスクをアクセス権限に従って作成および管理できます。
Qlik Open Lakehouse プロジェクトを作成
次のタイプのタスクを使用できます。
ランディング データ タスク
-
ソース構成 - Data Movement gateway は、RDBMS、SAP、メインフレームなどのソースシステムからの変更を取り込むように構成されます。
-
データ ランディング - CDC タスクは、生の変更データを AWS アカウントの指定された S3 ランディング バケットに継続的に送信します。
ストレージ データ タスク
-
Iceberg カタログ接続 (AWS Glue Data Catalog など) を登録します。
-
Qlik Talend Cloud でストレージ タスクを定義します。
-
Qlik Talend Cloud はタスク定義をデータプレーン ゲートウェイに送信します。
-
データプレーン ゲートウェイは、タスク命令を Qlik レイクハウス クラスターにセキュアに転送します。
-
クラスターは S3 のランディング バケットから生データを継続的に読み込み、処理し、S3 の Iceberg テーブルに出力を書き込みます。
-
レイクハウス クラスターは、レイクハウス クラスター設定で事前に定義された設定に従って、負荷に応じて自動的にスケールアップまたはスケールダウンします。
-
監視データは Qlik Talend Cloud に送信され、ログとメトリクスは Qlik に転送されます。
ミラー データ タスク
外部 Iceberg テーブルを作成することで、Snowflake からデータレイクに保存されているデータを複製せずにクエリできるようになります。これにより、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 は匿名化されたデータを使用して、ログやメトリクスが問題を示す場合に、積極的にお客様をサポートします。