メイン コンテンツをスキップする 補完的コンテンツへスキップ

クラウド データ ウェアハウスへのデータのミラーリング

ミラーリング タスクを使用すると、Snowflake から Qlik Open Lakehouse に保存されているデータを照会できます。データは複製されることなく Snowflake に反映されます。ミラーリングされたテーブルは、ストレージとエンジニアリングのコストを最小限に抑え、唯一の信頼できる情報源を維持します。

Qlik Open Lakehouse にデータをオンボードした後、ミラー テーブルを使用してデータを Snowflake にミラーリングすることができます。Iceberg のデータは、Amazon Athena のような Iceberg をネイティブにサポートするクエリ エンジンを使って照会できます。しかし、ミラー テーブルは、オープンな Iceberg レイクハウス アーキテクチャを実装したいが、クエリ エンジンとして Snowflake を使用し続けたい場合に最適です。ミラー データ タスクは、Iceberg テーブルを外部テーブルとして宣言することで、Snowflake でアクセス可能にするプロセスを自動化します。Snowflake は Iceberg テーブルを外部テーブルとして参照しています。これはIceberg テーブルを管理せず、読み込みのみを行うためです。外部テーブルを使用すると、データやテーブルの管理を Snowflake に移行することなく、Iceberg データを Snowflake で照会できます。

データをミラーリングするには、Iceberg テーブルが配置され、ストレージ タスクによって更新される S3 バケットをポイントする外部ボリュームを Snowflake で作成します。次に、Qlik Open Lakehouse プロジェクトで使用するデータ カタログ (たとえば AWS Glue データ カタログ) をポイントする Snowflake カタログ統合を作成します。

ミラー タスクは、Snowflake に外部テーブルを作成するために必要な DDL ステートメントを実行します。テーブル (スキーマ) は Snowflake では変更履歴テーブルと一緒に表示されますが、テーブル定義を見ると、外部テーブルの上に作成されたビューとして表示されます。Snowflake ユーザーは、データが Snowflake 環境に保存されているかのようにビューにクエリを実行できます。ミラーリングされたデータは、Qlik によるデータの管理と最適化が継続されるため、高いパフォーマンスを発揮します。

リフレッシュ メカニズム

Snowflake は、Iceberg 内の利用可能なデータの最新のスナップショットを反映したメタデータをポイントします。メタデータを更新するには 2 つの方法があります。

  1. Qlik 管理: このオプションにはアクティブな Snowflake ウェアハウスが必要で、モニタリングとデータ プレビューが含まれます。このオプションは、ダウンストリーム変換を作成し、タスクを監視してスケジュールする場合に選択します。Qlik はメタデータのリフレッシュ処理を所有しているため、たとえば30分ごとに実行するように手動で設定できます。このオプションは、すべてのテーブルのメタデータが同時に更新されるため、複数テーブルの変換に特に関係します。Snowflake 管理リフレッシュが提供するリアルタイムの利点を失うかもしれませんが、テーブル間の一貫性は維持されます。複数テーブルの変換では、必要に応じて何度でもリフレッシュをトリガーできます。Qlik はスケジュールされたミラー タスクに従うダウンストリーム変換タスクにイベントベースのトリガーを設定することをお勧めします。

  2. Snowflake 管理: コンピュート ウェアハウスを必要とせず、アクティブにすることなく、Snowpipe インフラストラクチャを活用するサーバーレス オペレーション。このオプションは、ダウンストリーム変換を必要としない場合にお勧めします。リフレッシュ間隔は、Snowflake カタログ統合を作成するときに設定します。自動リフレッシュのステータスを監視するには、Snowflake の SYSTEM$AUTO_REFRESH_STATUS を照会します。Qlik はプロセスの所有権を失い、この種のタスクを監視できなくなります。

プロジェクト内の各ミラー タスクは、独自のリフレッシュ メカニズムで構成することができます。2 つのミラー タスクを作成した場合、1 つは Qlik 管理のリフレッシュを使用し、もう1つは Snowflake 管理のリフレッシュを使用することができます。

スキーマの進化

ストレージ タスクから列やテーブルを手動で追加または削除した場合、またはランディング タスクから間接的に追加または削除した場合、変更は自動的にミラー タスクの設計に反映されます。ミラーリングされたテーブルに変更を適用するタスクを準備する必要があります。ミラーリングおよびストレージ タスクの設定でスキーマの進化が有効になっている場合、ストレージ タスクで自動的に検出されたスキーマの変更はミラー テーブルに適用されます。

前提条件

ミラー データ タスクは、Qlik Open Lakehouse プロジェクトでストレージ タスクが作成された後にのみ追加できます。ストレージ タスクは複数のミラー データ タスクを持つことができます。ミラー データ タスクは 1 つのストレージ タスクにのみ関連付けることができます。

データを Snowflake にミラーリングするには、以下が必要です。

  • データをミラーリングする Snowflake データベースへの接続。オプションで、ミラー タスクの作成中に新しい接続を作成することもできます。要件は、Snowflake への接続手順に記載されています。

  • Snowflake 外部ボリューム。これにより、Snowflake は S3 のロケーションへのアクセスを制限されます。ボリュームを設定するには、「Amazon S3 用の外部ボリュームの設定」を参照してください。

  • AWS Glue データ カタログとの統合。これにより、Snowflake はオブジェクト ストア内の Iceberg オープン テーブル形式で保持されているデータに接続できるようになります。カタログ統合を構成するには、「AWS Glue のカタログ統合を構成する」を参照してください。

ミラー データ タスクの作成

データを Snowflake にミラーリングするには、以下を行います。

  1. ミラーリングしたいデータのストレージ タスクを含むプロジェクションを開きます。

  2. ストレージ タスクの [ その他のアクション] をクリックします。[ミラー データ] を選択し、設定します。

    • 名前: ミラー タスクの名前を入力します。

    • 説明: オプションで、タスクの目的を記述します。

    • 接続:

      • 既存の接続を使用するには、[選択] をクリックして、[安全なソース接続] ダイアログを開きます。接続場所の [スペース] を選択し、接続を選択します。接続プロパティを変更するには、 [編集] をクリックします。

      • 新しい接続を作成するには、 [接続の作成] をクリックして [接続の作成] ダイアログを開き、指示に従ってください。

    • データベース: データをミラーリングするデータベース名を入力します。

    • Snowflake 外部ボリューム: Snowflake で作成した外部ボリュームの名前を入力します。

    • Snowflake カタログ統合: Snowflake で作成したカタログ統合の名前を入力します。

  3. Snowflake でデータをリフレッシュする方法を選択します。

    • Qlik 管理: ダウンストリーム変換を作成する場合は、このオプションを選択します。これにはアクティブな Snowflake ウェアハウスが必要で、Qlik によって監視されます。

    • Snowflake 管理: ダウンストリームの変換を行わない場合は、このオプションを選択します。Snowflake ウェアハウスは必要ないため、Qlik によって監視されません。これは Snowflake で管理・監視されています。

  4. ミラー タスクを作成し、パイプラインのストレージ タスクに追加します。

  5. ミラー タスクの [ その他のアクション] をクリックし、[開く] を選択します。[デザイン] ビューが表示されていることを確認します。

  6. 利用可能なデータセットのサブセットを選択するには、[ソース データの選択] をクリックし、不要なデータセットを削除します。

  7. [準備] をクリックして、Snowflake に外部テーブルを作成し、データのミラーリングを行います。

変換の実行

データの変換が必要な場合は、Snowflake プロジェクトを作成し、Qlik Open Lakehouse プロジェクト内のミラー データ タスクをソースとして使用できます。既存のプロジェクトのデータを使用して変換タスクを作成するには、「プロジェクト横断パイプラインの構築」を参照してください。

ミラー データ タスクの削除

ミラー タスクを削除すると、外部テーブルとビューは Snowflake から削除され、照会できなくなります。ストレージ タスクは、ミラー タスクからの読み取り中に削除することはできません。

ミラー データ タスクを削除するには、以下を行います。

  1. 削除したいミラー データ タスクで、タスクの [ その他のアクション] メニューをクリックし、[削除] を選択します。

  2. 確認ダイアログで、[削除] をクリックします。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。