Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
歷史記錄模式
在歷史記錄模式中,您可以設定零 ETL 整合,直接在 Amazon Redshift 中追蹤來源資料表中記錄的每個版本 (包括更新和刪除)。您可以對所有資料執行進階分析,例如執行歷史分析、建置回顧報告、執行趨勢分析,以及將增量更新傳送至以 Amazon Redshift 為基礎建置的下游應用程式。有多種 Amazon Redshift 零 ETL 整合支援歷史記錄模式,包括 Amazon Aurora MySQL、Amazon Aurora PostgreSQL、Amazon RDS for MySQL 和 Amazon DynamoDB。另外也有數種應用程式支援歷史記錄模式,例如 Salesforce、SAP、ServiceNow 和 Zendesk。
您可以從 Amazon Redshift 主控台 (https://console.aws.amazon.com/redshiftv2/
開啟歷史記錄模式後,您在來源內捨棄的資料表並不會在 Amazon Redshift 中捨棄。資料表會改為顯示 DroppedSource 狀態,而您仍然可以查詢這些資料表。您也可以搭配一般 SQL 使用 DROP 和 RENAME 命令。
如果您想要在來源上重複使用相同的資料表名稱,則必須先 DROP 或 RENAME 對應的 DroppedState 資料表,才能將其複寫至 Amazon Redshift。務必先完成上述操作,再於來源上建立資料表。
如需使用歷史記錄模式時應考量事項的相關資訊,請參閱 在目標上使用歷史記錄模式時的考量事項。
管理零 ETL 整合的歷史記錄模式
登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/redshiftv2/
的 Amazon Redshift 主控台。 -
從左側導覽窗格選擇無伺服器或佈建叢集儀表板。然後,選擇零 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_timestampALTER TABLE[schema-name.]table-name_historical_timestampRENAME TOnew_table_name;如需詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 ALTER TABLE。
您也可以使用 SQL 命令 CREATE DATABASE 和 ALTER DATABASE 來管理歷史記錄模式。如需如何設定 HISTORY_MODE 的詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的 CREATE DATABASE 和 ALTER DATABASE。