履歴モード
履歴モードを使用すると、ソーステーブル内のレコードのすべてのバージョン (更新と削除を含む) を Amazon Redshift で直接追跡するように、ゼロ ETL 統合を設定できます。履歴分析の実行、ルックバックレポートの構築、トレンド分析の実行、Amazon Redshift 上に構築されたダウンストリームアプリケーションへの増分更新の送信など、すべてのデータに対して高度な分析を実行できます。履歴モードは、Amazon Aurora MySQL、Amazon Aurora PostgreSQL、Amazon RDS for MySQL、Amazon DynamoDB など、複数の Amazon Redshift ゼロ ETL 統合でサポートされています。
Amazon Redshift コンソール (https://console.aws.amazon.com/redshiftv2/
履歴モードを使用する際の考慮事項については、「ターゲットで履歴モードを使用する場合の考慮事項」を参照してください。
ゼロ ETL 統合の履歴モードを管理するには
AWS Management Consoleにサインインして、https://console.aws.amazon.com/redshiftv2/
で Amazon Redshift コンソールを開きます。 -
左側のナビゲーションペインから、[サーバーレス] または [プロビジョニングされたクラスター] ダッシュボードを選択します。次に、[ゼロ ETL 統合] を選択します。
-
管理するゼロ ETL 統合を選択して、[履歴モードを管理] をクリックします。[履歴モードを管理] ウィンドウが表示されます。
Amazon DynamoDB など、単一のソーステーブルがあるソースタイプからレプリケートされたターゲットテーブルの履歴モードを [オフにする] か [オンにする] ことができます。ゼロ ETL 統合に複数のターゲットテーブルがある場合、[すべての既存のテーブルと今後のテーブルでオフにする]、[すべての既存のテーブルと今後のテーブルでオンにする]、または [個々のテーブルの履歴モードを管理] にすることができます。デフォルトでは、ゼロ ETL 統合の作成時の履歴モードは
off
になっています。履歴モードが
on
に設定されている場合、ソースの変更を追跡するために、次の列がターゲットテーブルに追加されます。履歴モードがon
の場合、Amazon Redshift はターゲットテーブルのレコードを削除しないため、毎月の使用料とコストが増加します。削除または変更されたソースレコードがあると、ターゲットに新しいレコードが作成され、複数のレコードバージョンがあるターゲットの合計行数が増えます。ソースでレコードが削除されたり変更されたりしても、ターゲットテーブルからは削除されません。非アクティブなレコードを削除することで、ターゲットテーブルを管理できます。列名 データ型 説明 _record_is_active ブール値 ターゲットのレコードがソースで現在アクティブかどうかを示します。True はレコードがアクティブであることを示します。 _record_create_time Timestamp ソースレコードがアクティブになった開始時刻 (UTC)。 _record_delete_time Timestamp ソースレコードが更新されたか削除された終了時刻 (UTC)。 列
_record_is_active
が false であるレコードをフィルタリングすることで、非アクティブなレコードを履歴モードテーブルから削除できます。次の SQL DELETE コマンドは、id 列が 100 以下のテーブルから非アクティブなレコードを削除します。レコードの削除後、自動バキューム削除が実行されると、削除されたレコードのストレージは再利用されます。DELETE FROM myschema.mytable where not _record_is_active AND id <= 100;
履歴モードが
off
になっている場合、Amazon Redshift はアクティブなレコードがあり、追加された履歴列のないテーブルのコピーをターゲットデータベース内に作成します。Amazon Redshift は、テーブルの名前を
に変更して、ユーザーが使用できるようにします。このテーブルのコピーは、不要になったら削除できます。これらのテーブルの名前は、ALTER TABLE コマンドを使用して変更できます。例:table-name
_historical_timestamp
ALTER TABLE
[schema-name.]
table-name_historical_timestamp
RENAME TOnew_table_name
;詳細については、「Amazon Redshift データベースデベロッパーガイド」の「ALTER TABLE」を参照してください。
SQL コマンドの CREATE DATABASE と ALTER DATABASE を使用して、履歴モードを管理することもできます。HISTORY_MODE の設定方法の詳細については、「Amazon Redshift データベースデベロッパーガイド」の「CREATE DATABASE」と「ALTER DATABASE」を参照してください。