使用尼泰扎作為來源 AWS SCT - AWS Schema Conversion Tool

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用尼泰扎作為來源 AWS SCT

您可以使用AWS SCT將結構描述、程式碼物件和應用程式程式碼從 Netezza 轉換為亞馬遜紅移。

尼泰扎作為來源的特權

使用 Netezza 作為來源需要以下權限:

  • 在系統定義架構. 系統視圖上選擇

  • 在系統定義架構表上選擇

  • 在系統定義管理表上選擇

  • 上的清單 <database_name>

  • 上的清單 <schema_name>

  • 所有<database_name>. 表格上的清單

  • .all. 外<database_name>部表格上的清單

  • 列表上的所有<database_name>.

  • <database_name>.all. 具體化視觀表上的清單

  • 列表上的所有<database_name>. 程序

  • 列表上的所有<database_name>. 序列

  • 列表上的所有功<database_name>能

  • 列表上的所有<database_name>. 聚合

在前面的範例中,取代預留位置如下:

  • 資料庫名稱取代為來源資料庫的名稱。

  • 結構描述名稱取代為來源結構描述的名稱。

AWS SCT需要存取下列系統表格和檢視表。您可以授與這些物件的存取權,而不是授與上述清單system.definition_schema.system tables中的system.definition_schema.system view和存取權。

  • 在系統定義架構上選擇。 _ 彙總

  • 在系統定義架構上選擇。 _T 類

  • 在系統定義架構上選擇。 _ 限制

  • 在系統定義架構上選擇。 _t 常量 _ 雷拉特

  • 在系統定義架構上選擇。 _t_T 資料庫

  • 在系統定義架構上選擇。 _t_grpobj_ 私人

  • 在系統定義架構上選擇。 _ 格普斯

  • 在系統定義架構上選擇。 _ 吉斯特 _ 配置

  • 在系統定義架構上選擇。 _ 對象

  • 在系統定義架構上選擇。 _ 對象類

  • 在系統定義架構上選擇。 _ 程序

  • 在系統定義架構上選擇。 _ T 型

  • 在系統定義架構上選擇。 _T 用戶

  • 在系統定義架構上選擇。 _t_u 羅比 _ 普里夫

  • 在系統定義架構上選擇。 _ vt_ 序列

  • 在系統定義架構上選擇。 _ 彙總

  • 在系統定義架構上選擇。 _ v_ 約束 _ 從屬

  • 在系統定義架構上選擇。 _v_ 資料庫

  • 在系統定義架構上選擇。 _v_ 數據類型

  • 在系統定義架構上選擇。 _v_ 德斯利斯

  • 在系統定義架構上選擇。 _v_ 函數

  • 在系統定義架構上選擇。 _ 群組

  • 在系統定義架構上選擇。 _ 對象關係

  • 在系統定義架構上選擇。 _v_ 對象關係 XDB

  • 在系統定義架構上選擇。 _V 程序

  • 在系統定義架構上選擇。 _ V 關係欄

  • 在系統定義架構上選擇。 _V 關係密鑰數據

  • 在系統定義架構上選擇。 _v_ 雷洛比類

  • 在系統定義架構上選擇。 _ 模式 _ xdb

  • 在系統定義架構上選擇。 _V 序列

  • 在系統定義架構上選擇。 _v_ 同義詞

  • 在系統定義架構上選擇。 _ V 系統資訊

  • 在系統定義架構上選擇。 _v_sy_ 約束

  • 在系統定義架構上選擇。 _ 系統對象資訊

  • 在系統定義架構上選擇。 _v_sy_user

  • 在系統定義架構上選擇。 _V 表

  • 在系統定義架構上選擇。 _ 表格約束

  • 在系統定義架構上選擇。 _ 表格距離映射

  • 在系統定義架構上選擇。 _V 表格組織欄

  • 在系統定義架構上選擇。 _V 表格儲存空間

  • 在系統定義架構上選擇。 _V 使用者

  • 在系統定義架構上選擇。 _ 視圖

  • 在系統信息模式上選擇。 _ V 關係欄

  • 在系統信息模式上選擇。 _V 表

  • 在 $ 歷史列訪問 * 上選擇

連接到尼泰扎作為來源

使用以下程序,透過 AWS Schema Conversion Tool 連接到您的 Netezza 來源資料庫。

若要連接到 Netezza 來源資料庫
  1. 在中AWS Schema Conversion Tool,選擇「新增來源」。

  2. 選擇下一步,然後選擇下一步。

    這時系統顯示「添加源」對話框。

  3. 在「連線名稱」中,輸入資料庫的名稱。 AWS SCT在左側面板的樹狀結構中顯示此名稱。

  4. 使用資料庫認證來源AWS Secrets Manager或手動輸入:

    • 若要使用來自秘密管理員的資料庫認證,請遵循下列指示:

      1. 在「機AWS密」中,選擇密碼的名稱。

      2. 選擇填入來自 Secret Manager 的資料庫連線對話方塊中自動填入所有值。

      如需使用來自秘密管理員之資料庫認證的資訊,請參閱使用 AWS Secrets Manager

    • 若要手動輸入 Netezza 來源資料庫連線資訊,請遵循下列指示:

      參數 動作
      伺服器名稱

      輸入來源資料庫伺服器的網域名稱系統 (DNS) 名稱或 IP 位址。

      伺服器連接埠

      輸入用於連接到來源資料庫伺服器的連接埠。

      使用者名稱密碼

      輸入要連線到來源資料庫伺服器的資料庫認證。

      AWS SCT只有當您選擇連線至專案中的資料庫時,才會使用此密碼連線至來源資料庫。為了防止公開來源資料庫的密碼,預設AWS SCT不會儲存密碼。如果您關閉 AWS SCT 專案再重新開啟,系統會在需要時提示您輸入密碼以便連接到您的來源資料庫。

      儲存密碼

      AWS SCT 會建立安全的保存庫來存放 SSL 憑證和資料庫密碼。開啟此選項後,您可以儲存資料庫密碼並快速連線到資料庫,而無需輸入密碼。

      內泰扎驅動程序路徑

      輸入用於連接至來源資料庫的驅動程式路徑。如需詳細資訊,請參閱下載所需資料庫驅動程式

      如果您在全域專案設定中存放驅動程式路徑,驅動程式路徑不會顯示在連線對話方塊中。如需詳細資訊,請參閱在全域設定中儲存驅動程式路徑

  5. 選擇「測試連線」以確認是否AWS SCT可以連線到來源資料庫。

  6. 選擇「連線」以連線到來源資料庫。

設定持續的資料複製

轉換 Netezza 資料庫結構描述並將其套用至 Amazon Redshift 資料庫之後,您就可以使用資料擷取代理程式遷移資AWS SCT料。代理程式會擷取您的資料並將其上傳到您的 Amazon S3 儲存貯體。然後,您可以使AWS SCT用將資料從亞馬遜 S3 複製到亞馬遜紅移。

如果來源資料庫中的資料在移轉過程中發生變更,您可以使用AWS SCT資料擷取代理程式擷取持續的變更。然後,您可以在完成初始資料移轉之後,在目標資料庫中複寫這些持續的變更。此程序稱為持續資料複寫或變更資料擷取 (CDC)。

設定從 Netezza 遷移到亞馬遜紅移的持續資料複寫
  1. 在源數據庫中,創建一個歷史數據庫。您可以在 Netezza 命令列介面 (CLI) 中使用下列程式碼範例。

    nzhistcreatedb -d history_database_name -t query -v 1 -u load_user -o histdb_owner -p your_password

    在前面的例子中,用您的歷史數據庫的名稱替換歷史記錄 _database_name。接下來,將 load_user 取代為您定義將歷史記錄資料載入資料庫的使用者名稱。然後,將 histdb_owner 替換為您定義為歷史數據庫所有者的用戶的名稱。請確定您已建立此使用者並授與CREATE DATABASE權限。最後,用安全的密碼替換您的密碼

  2. 設定歷程記錄。若要這麼做,請使用下列程式碼範例。

    CREATE HISTORY CONFIGURATION history_configuration_name HISTTYPE QUERY DATABASE history_database_name USER load_user PASSWORD your_password COLLECT PLAN, COLUMN LOADINTERVAL 1 LOADMINTHRESHOLD 0 LOADMAXTHRESHOLD 0 STORAGELIMIT 25 LOADRETRY 2 VERSION 1;

    在前面的例子中,將歷史配置和歷史記錄數據庫的名稱替換為歷史記錄配置名稱和歷史記錄數據庫。接下來,將 load_user 取代為您定義將歷史記錄資料載入資料庫的使用者名稱。然後,用安全密碼替換您的密碼

  3. 授予歷史記錄數據庫中所有表的讀取權限。您可以使用下列程式碼範例來授與SELECT權限。

    GRANT SELECT ON history_database_name.ALL.TABLE TO your_user;

    在前面的例子中,用您的歷史數據庫的名稱替換歷史記錄 _database_name。接下來,將 your_user 替換為用戶的名稱,以使用最小的權限來使用您的 Netezza 數據庫。您可以在中使用此資料庫使用者的認證AWS SCT。

  4. 收集來源結構描述中每個表格的統計資料,以取得資料欄基數的相關資訊。您可以使用以下命令在歷史數據庫中生成統計信息。

    GENERATE STATISTICS on "schema_name"."table_name";

    在上述範例中,請將 schema_name 和表格名稱取代為資料庫結構描述和資料表的名稱。

  5. 請確定您已執行下列查詢完成先決條件:

    SELECT COUNT(*) FROM history_database_name.history_schema_name."$hist_column_access_N";

    在前面的例子中,用您的歷史數據庫和模式的名稱替換歷史記錄名稱歷史記錄 _schema _name。接下來,將 N 替換為歷史記錄數據庫的版本號。如需有關記錄資料庫版本的詳細資訊,請參閱 IBM Netezza 說明文件。

  6. 安裝資料擷取代理程式。如需詳細資訊,請參閱安裝擷取代理

    請確定所有擷取程式執行個體的settings.properties檔案中的{working.folder}參數都指向相同的資料夾。在這種情況下,您的擷取器可以協調 CDC 工作階段,並針對所有子工作使用單一交易點。

  7. 註冊您的資料擷取代理程式。如需詳細資訊,請參閱將擷取代理程式註冊到 AWS Schema Conversion Tool

  8. 創建您的 CDC 任務。如需詳細資訊,請參閱建立、執行和監視 AWS SCT 工作

    1. 在中開啟您的專案AWS SCT。在左窗格中,選擇您的來源表格。開啟關聯式 (按一下右鍵) 功能表,然後選擇「建立本機工作」。

    2. 在「工作名稱」中,輸入資料移轉工作的描述性名稱。

    3. 對於移轉模式,請選擇 [擷取]、[上傳] 和 [複製]。

    4. 選取「啟用 CDC」。

    5. 選擇 CDC 設定索引標籤,並定義 CDC 工作階段的範圍和排程。

    6. 選擇 [測試任務] 以確認您可以連線到工作資料夾、Amazon S3 儲存貯體和 Amazon Redshift 資料倉儲。

    7. 選擇 [建立] 以建立您的工作。

    8. 選擇 [工作] 索引標籤,從清單中選擇您的工作,然後選擇 [開始]。

  9. AWS SCT工作會維護目標資料庫上的交易一致性。資料擷取代理程式會以交易 ID 順序複寫來自來源的交易。

    如果您停止任何移轉工作階段或失敗,CDC 處理也會停止。

內泰扎到亞馬遜紅移轉換設置

若要編輯 Netezza 到亞馬遜 Redshift 的轉換設定,請在中選擇 [設]AWS SCT,然後選擇 [轉換設定]。從上面的列表中,選擇尼泰扎,然後選擇尼泰扎 — 亞馬遜紅移。 AWS SCT顯示所有可用的設定,以便將 Netezza 轉換為亞馬遜紅移。

亞馬遜到亞馬遜紅移轉換設置AWS SCT包括以下選項:

  • 用於限制轉換後代碼中行動項目的註釋數量。

    針對所選嚴重性及更高之行動項目的已轉換程式碼中新增註解,請選擇行動項目的嚴重性。 AWS SCT在已轉換的程式碼中加入所選嚴重性及更高嚴重性之行動項目的註解。

    例如,若要將轉換後的程式碼中的註解數目降到最低,請選擇「僅限錯誤」。若要在轉換的程式碼中包含所有行動項目的註解,請選擇 [所有郵件]。

  • 設定AWS SCT可套用至目標 Amazon Redshift 叢集的表格數目上限。

    對於目標 Amazon Redshift 叢集的表格數目上限,請選擇AWS SCT可套用至 Amazon Redshift 叢集的表格數目。

    Amazon Redshift 的配額會限制不同叢集節點類型的使用表格。如果選擇自動,請根據節點類型AWS SCT決定要套用至目標 Amazon Redshift 叢集的表格數目。(選擇性) 手動選擇值。如需詳細資訊,請參閱亞馬遜紅移管理指南中的配額和限制

    AWS SCT轉換所有來源表格,即使這個資料表超過 Amazon Redshift 叢集所能存放的空間也一樣。 AWS SCT將轉換後的代碼存儲在項目中,並且不將其應用於目標數據庫。如果您在套用轉換後的程式碼時達到表格的 Amazon Redshift 叢集配額,則AWS SCT會顯示警告訊息。此外,請將表格AWS SCT套用至目標 Amazon Redshift 叢集,直到表格數量達到上限為止。

  • 將壓縮應用於亞馬遜紅移表列。若要這樣做,請選取 [使用壓縮編碼]。

    AWS SCT使用預設的 Amazon Redshift 演算法,自動將壓縮編碼指派給資料行。如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南中的壓縮編碼

    根據預設,Amazon Redshift 不會將壓縮套用至定義為排序金鑰和分配金鑰的資料行。您可以變更此行為,並將壓縮套用至這些資料行。若要這麼做,請選取 [使用 KEY 欄的壓縮編碼]。只有當您選取 [使用壓縮編碼] 選項時,才能選取此選項。

亞馬遜紅移轉換優化設置

若要編輯 Netezza 到 Amazon Redshift 的轉換優化設定,請選擇中的設定AWS SCT,然後選擇 [轉換設定]。從上面的列表中,選擇尼泰扎,然後選擇尼泰扎 — 亞馬遜紅移。在左窗格中,選擇 [最佳化策略]。 AWS SCT顯示奈泰扎到亞馬遜紅移轉換的轉換優化設置。

Netezza 到亞馬遜紅移轉換優化設置AWS SCT包括以下選項:

  • 要使用自動表優化工作。若要這麼做,請選取 [使用亞馬遜紅移自動表格調整]。

    自動表格最佳化是 Amazon Redshift 中的一項自我調整程序,可自動優化資料表的設計。如需詳細資訊,請參Amazon Redshift 資料庫開發人員指南中的使用自動表格最佳化

    若只要依賴自動表格最佳化,請針對初始索引鍵選取策略選取選擇選擇選取策略

  • 若要使用您的策略選擇排序和分配鍵。

    您可以使用 Amazon Redshift 中繼資料、統計資訊或這兩個選項來選擇排序和分發金鑰。對於「最佳化策略」標籤上的「初始金鑰選取策略」,請選擇下列其中一個選項:

    • 使用中繼資料,忽略統計資訊

    • 忽略中繼資料,使用統計資訊

    • 使用中繼資料和統計資訊

    根據您選擇的選項,您可以選取最佳化策略。然後,針對每個策略輸入值 (0—100)。這些值定義每個策略的權重。使用這些加權值,AWS SCT定義每個規則如何影響分佈和排序索引鍵的選擇。預設值以AWS移轉最佳作法為基礎。

    您可以為尋找小型資料表策略定義小型資料表的大小。對於「最小表格列計數」和「表格列數上限」,請輸入表格中的最小和最大列數,將其定義為小型表格。 AWS SCT將ALL分佈型式套用至小型表格。在這種情況下,整個表的副本會分發到每個節點。

  • 若要設定策略詳細資訊。

    除了定義每個最佳化策略的權重之外,您還可以設定最佳化設定。若要這樣做,請選擇 [轉換優化]。

    • 在「排序索引鍵欄限制」中,輸入排序索引鍵中的欄數上限。

    • 在「傾斜臨界值」中,為欄輸入傾斜值的百分比 (0—100)。 AWS SCT從分配索引鍵的候選清單中排除偏斜值大於臨界值的欄。 AWS SCT將欄的傾斜值定義為最常見值出現次數與記錄總數的百分比率。

    • 對於查詢歷史記錄表格中的前 N 個查詢,請輸入要分析的最常用查詢數目 (1—100)。

    • 在選取統計資料使用者中,選擇要分析查詢統計資料的資料庫使用者。

    此外,在「最佳化策略」標籤上,您可以定義「尋找小表格」策略的小型資料表大小。對於「最小表格資料列計數」和「表格列數上限」,請輸入表格中的最小與最大列數,將其視為小型表格。 AWS SCT將ALL分佈型式套用至小型表格。在這種情況下,整個表的副本會分發到每個節點。