ライフサイクル管理は、データレイク内のデータライフサイクルを管理するための様々なルールタイプをサポートし、ストレージコストの削減に役立ちます。本トピックでは、ライフサイクルルールの管理方法について説明します。
仕組み
ライフサイクル管理を使用して、データレイク内のデータベースとテーブルのデータ管理ルールを設定できます。 データの最終アクセス時間、時間によるパーティション値、パーティション/テーブルの作成時間、パーティション/テーブルの最終更新時間 という 4 つのルールタイプに基づいて、データを定期的に異なるストレージクラスに移行することで、ストレージコストを削減できます。 データレイクには、アクティブに使用されなくなった大量の履歴データが含まれていることがよくあります。このデータを、低頻度アクセス、アーカイブ、コールドアーカイブ などの、よりコスト効率の高いストレージクラスに移行できます。 例:
日付でパーティション分割された注文テーブル (例:
pt=20220101) では、過去 3 年間のデータのみを分析する必要がある場合があります。パーティション値に基づいてルールを設定し、古いパーティションを自動的にコールドアーカイブに移行することで、ストレージコストを削減できます。データベースが廃止された事業分野に属する場合、ルールを設定してデータベース全体をコールドアーカイブに移行して、長期保存することができます。
実際のビジネスニーズに基づいて、慎重にルールを設定してください。
アーカイブまたはコールドアーカイブに移行されたデータは、コンピューティングエンジンからアクセスできなくなります。データを再度使用するには、手動で復元する必要があり、その際に料金が発生します。詳細については、「OSS ストレージクラス」および「ストレージクラスの移行」をご参照ください。
データが低頻度アクセスに移行されると、コンピューティングエンジンのアクセスパフォーマンスが低下します。
制限事項
ライフサイクル管理には Data Lake Formation (DLF 1.0) が必要で、データは Object Storage Service (OSS) に保存されている必要があります。
ライフサイクル管理は、非構造化データをサポートしていません。非構造化データを管理するには、OSS のライフサイクル管理機能を使用してください。
料金
ライフサイクル管理には、2 種類の料金が関係します。
ライフサイクル管理機能は現在パブリックプレビュー期間中のため、無料です。
OSS のライフサイクル料金の詳細については、「ライフサイクルルールに関連する料金」をご参照ください。
手順
前提条件
OSS が有効化されている必要があります。有効化するには、OSS コンソールに移動します。
ライフサイクル管理のためのデータベースとテーブルへのアクセスは、DLF のデータ権限によって制御されます。アクセス権限のあるデータベースとテーブルに対してのみ、ライフサイクルルールを設定できます。
ライフサイクルルールの作成
次の手順に従って、ライフサイクルルールを作成します。
Data Lake Formation コンソールにログインします。
左側のナビゲーションペインで、Lake Management > Lifecycle Management を選択します。
Create Ruleをクリックしてルールを設定します。
基本情報として、Name、Description、Catalog List、およびResource Typeを指定します。
Resource Type では、Database または Table を選択して、それぞれデータベースまたはテーブルのライフサイクルルールを設定できます。
ルールタイプを選択します。 DLF は現在、次の 4 つのタイプをサポートしています。
データの最終アクセス時間:データの最終アクセス時間に基づいてライフサイクルを定義します。 パーティションテーブルの場合、最も細かい粒度のパーティションの最終アクセス時間が使用されます。 非パーティションテーブルの場合、テーブルの最終アクセス時間が使用されます。
時間によるパーティション値:パーティション値に基づいてライフサイクルを定義します。このルールは、第 1 レベルのパーティションに時間形式が含まれるテーブルにのみ適用されます。
パーティション/テーブルの最終更新時間:パーティションまたはテーブルの最終更新時間に基づいてライフサイクルを定義します。 パーティションテーブルの場合、最も細かい粒度のパーティションの最終更新時間が使用されます。 非パーティションテーブルの場合、テーブルの最終更新時間が使用されます。
パーティション/テーブルの作成時間:パーティションまたはテーブルの作成時間に基づいてライフサイクルを定義します。 パーティションテーブルの場合、最も細かい粒度のパーティションの作成時間が使用されます。 非パーティションテーブルの場合、テーブルの作成時間が使用されます。
データを低頻度アクセス、アーカイブ、またはコールドアーカイブに移行する時間間隔を選択します。
ルール実行メカニズムを設定します。
実行スケジューリングを有効にすると、ルールが毎日自動的に実行されます。 スケジューリングが無効な場合は、ルール作成後に手動で実行できます。 スケジュール実行は、毎日 08:00 までに完了します。
Next をクリックして、ルールを適用するデータベースまたはテーブルを選択します。
Add Database Resources をクリックし、バインドするリソースを選択して (検索およびページをまたいだ選択に対応しています)、Add をクリックします。
リソースを追加した後、OK をクリックすると、バインディング結果を確認できます。
バインドが成功すると、正常にバインドされたリソースの数を示すメッセージが表示されます。 失敗した場合は、失敗の理由を示すメッセージが表示されます。
説明リソースタイプがデータベースの場合、データベースリソースをバインドできます。リソースタイプがテーブルの場合、テーブルリソースをバインドできます。
テーブルルールはデータベースルールよりも優先度が高くなります。テーブルが既にデータベースルールにバインドされている場合、この操作はそのテーブルの既存のルールを上書きします。
各データベースまたはテーブルは、一度に 1 つのルールにのみバインドできます。
各ルールは最大 1,000 個のリソースにバインドできます。
リソースをバインドせずにルールを作成し、後でバインドすることもできます。 その場合は、[Save] をクリックします。
ライフサイクルルールの編集
ライフサイクルルールを編集するには、リストでそのルールを見つけ、右側のEditをクリックします。
ルールを変更した後、実行スケジューリングが有効になっている場合、変更は翌日の実行時に有効になります。
変更されたルールが再度実行されると、バインドされているすべてのリソースに次のように影響します。
既に低頻度アクセス、アーカイブ、またはコールドアーカイブに移行されたデータは、現在の状態が維持されます。
まだ移行されていないデータは、新しいルールによって処理されます。
ルール詳細の表示
左側のナビゲーションペインで、Lake Management > Lifecycle Management を選択します。
ルールを選択し、その ID をクリックして詳細を表示します。
基本情報:ルールの詳細と実行メカニズムが表示されます。
リソース情報:ルールにバインドされているデータベースまたはテーブルが一覧表示されます。
実行履歴:手動実行およびスケジュール実行が一覧表示されます。
ライフサイクルルールの削除
左側のナビゲーションペインで、Lake Management > Lifecycle Managementを選択します。
削除するライフサイクルルールを見つけ、右側のDeleteをクリックし、確認ダイアログボックスでOKをクリックします。
ライフサイクルルールが削除されると、手動またはスケジューラによる実行はできなくなります。
ルール削除後も、以前にルールの影響を受けたデータは現在の状態が維持されます。
ルールの手動実行
左側のナビゲーションペインで、Lake Management > Lifecycle Management を選択します。
手動で実行したいライフサイクルルールを見つけ、右側のManual Executionをクリックし、プロンプトをよく確認してから、OKをクリックしてタスクを開始します。
手動実行はすぐに実行され、現在バインドされているすべてのリソースに影響します。この操作はビジネスアプリケーションに影響を与える可能性があります。続行する前にリスクを慎重に評価してください。
実行記録の表示
左側のナビゲーションペインで、Lake Management > Lifecycle Management を選択します。
Execution History タブをクリックすると、すべての過去のライフサイクルタスクとその実行ログを表示できます。
タスク名をクリックして、その実行情報とログを表示します。
テーブルの復元
左側のナビゲーションペインで、Metadata > Metadata を選択します。
Data Table タブをクリックし、テーブル名をクリックします。
Storage Rule タブをクリックします。 DLF では、Restore Table をクリックして、テーブルのストレージクラスを標準ストレージに移行できます。
高度な復元オプションについては、以下のドキュメントをご参照ください。