Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
管理並行寫入操作
有些應用程式需要的不僅僅是並行查詢和載入,還有並行寫入多個資料表或相同的資料表的能力。在此情況下,並行表示重疊,而不是排程在完全相同的時間執行。如果第二個交易在第一個認可之前開始,則會把兩個交易會視為並行。並行操作可能源自受相同使用者或不同使用者控制的不同工作階段。
Amazon Redshift 藉由允許在遞增載入或修改資料表時加以讀取,來支援這些類型的應用程式。查詢只會看到最新認可的資料版本或快照,而非等候認可的下一個版本。如果您想要特定查詢等候來自另一個寫入操作的認可,您必須據以排程。
注意
Amazon Redshift 支援預設的自動遞交行為,其中每個分開執行的 SQL 命令都會個別遞交。如果您在交易區塊中含括一組命令 (由 BEGIN 和 結束 陳述式定義),該區塊會以一個交易的形式認可,因此您可以在必要時加以復原。這種行為的例外是 TRUNCATE 和 VACUUM 命令,這兩種命令會自動遞交所有目前交易中未完成的變更。
某些 SQL 用戶端會自動發出 BEGIN 和 COMMIT 命令,讓用戶端控制要將陳述式群組做為交易執行,還是將每個個別的陳述式做為單獨的交易執行。請查看您正在使用的界面文件。例如,使用 Amazon Redshift JDBC 驅動程式時,附帶其中包含多個 (以分號區隔) SQL 命令查詢字串的 JDBC PreparedStatement 會將所有陳述式做為單一交易執行。相反地,如果您使用 SQL Workbench/J 並設定 AUTO COMMIT ON,則當您執行多個陳述式時,每個陳述式都會做為單獨的交易執行。
下列主題說明一些牽涉交易、資料庫快照、更新和並行行為的重要概念和使用案例。