本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
歷史記錄模式
使用歷史記錄模式,您可以設定零 ETL 整合,直接在 Amazon Redshift 中追蹤來源資料表中記錄的每個版本 (包括更新和刪除)。您可以對所有資料執行進階分析,例如執行歷史分析、建置回顧報告、執行趨勢分析,以及將增量更新傳送至在 Amazon Redshift 上建置的下游應用程式。歷史記錄模式支援多個 Amazon Redshift 零 ETL 整合,包括 Amazon Aurora MySQL、Amazon Aurora PostgreSQL、Amazon RDS for MySQL 和 Amazon DynamoDB。
您可以從 Amazon Redshift 主控台 (https://console.aws.amazon.com/redshiftv2/
如需使用歷史記錄模式時應考量事項的資訊,請參閱 在目標上使用歷史記錄模式時的考量事項。
管理零 ETL 整合的歷史記錄模式
登入 AWS Management Console ,並在 Amazon Redshift 主控台開啟 https://https://console.aws.amazon.com/redshiftv2/
。 -
從左側導覽窗格選擇無伺服器或佈建叢集儀表板。然後,選擇零 ETL 整合。
-
選取您要管理的零 ETL 整合,然後選擇管理歷史記錄模式。隨即顯示管理歷史記錄模式視窗。
您可以為從具有單一來源資料表的來源類型複寫的目標資料表關閉或開啟歷史記錄模式,例如 Amazon DynamoDB。當零 ETL 整合有多個可能的目標資料表時,您可以關閉所有現有和未來的資料表、開啟所有現有和未來的資料表,或管理個別資料表的歷史記錄模式。建立零 ETL 整合
off
時,預設為歷史記錄模式。開啟歷史記錄模式時
on
,會將下列資料欄新增至目標資料表,以追蹤來源中的變更。歷史記錄模式on
會增加每月用量和成本,因為 Amazon Redshift 不會刪除目標資料表中的任何記錄。刪除或變更的任何來源記錄都會在目標中建立新的記錄,導致目標中具有多個記錄版本的列總數更多。在來源中刪除或修改時,不會從目標資料表刪除記錄。您可以刪除非作用中的記錄來管理目標資料表。欄名稱 資料類型 描述 _record_is_active Boolean 指出目標中的記錄目前是否在來源中處於作用中狀態。True 表示記錄處於作用中狀態。 _record_create_time 時間戳記 來源記錄處於作用中狀態時的開始時間 (UTC)。 _record_delete_time 時間戳記 更新或刪除來源記錄時的結束時間 (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。