

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

# 使用 連接 Amazon Redshift AWS Schema Conversion Tool
<a name="CHAP_Source.Redshift"></a>

您可以使用 AWS SCT 來最佳化 Amazon Redshift 叢集。 AWS SCT 為您提供有關為 Amazon Redshift 叢集選擇分佈和排序索引鍵的建議。您可以將 Amazon Redshift 最佳化專案視為指向不同 Amazon Redshift 叢集的來源和目標 AWS SCT 專案。

## Amazon Redshift 做為來源資料庫的權限
<a name="CHAP_Source.Redshift.Permissions"></a>

使用 Amazon Redshift 做為來源時需要下列權限：
+ USAGE ON SCHEMA *<schema\$1name>* 
+ SELECT ON ALL TABLES IN SCHEMA *<schema\$1name>* 
+ SELECT ON PG\$1CATALOG.PG\$1STATISTIC 
+ SELECT ON SVV\$1TABLE\$1INFO 
+ SELECT ON TABLE STV\$1BLOCKLIST 
+ SELECT ON TABLE STV\$1TBL\$1PERM 
+ 在 SYS\$1SERVERLESS\$1USAGE 上選取 
+ 在 PG\$1DATABASE\$1INFO 上選取 
+ SELECT ON PG\$1STATISTIC 

在上述範例中，將 *<schema\$1name>* 預留位置取代為來源結構描述的名稱。

如需 Amazon Redshift 做為目標所需的權限，請參閱 [Amazon Redshift 做為目標的許可](CHAP_Converting.DW.md#CHAP_Converting.DW.ConfigureTarget)。

## 以來源身分連線至 Amazon Redshift
<a name="CHAP_Source.Redshift.Connecting"></a>

使用下列程序，透過 連線至 Amazon Redshift 來源資料庫 AWS Schema Conversion Tool。

**連線至 Amazon Redshift 來源資料庫**

1. 在 中 AWS Schema Conversion Tool，選擇**新增來源**。

1. 選擇 **Amazon Redshift**，然後選擇**下一步**。

   新增**來源**對話方塊隨即出現。

1. 在**連線名稱**中，輸入資料庫的名稱。 會在左側面板的樹狀目錄中 AWS SCT 顯示此名稱。

1. 使用來自 的資料庫登入資料 AWS Secrets Manager 或手動輸入：
   + 若要從 Secrets Manager 使用資料庫登入資料，請使用下列指示：

     1. 針對**AWS 秘密**，選擇秘密的名稱。

     1. 選擇**填入**，從 Secrets Manager 自動填入資料庫連線對話方塊中的所有值。

     如需從 Secrets Manager 使用資料庫登入資料的資訊，請參閱 [在 AWS Secrets Manager 中設定 AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md)。
   + 若要輸入 Amazon Redshift 來源資料庫的連線資訊，請使用下列指示：  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/CHAP_Source.Redshift.html)

1. 選擇**測試連線**以驗證 AWS SCT 可以連接到您的來源資料庫。

1. 選擇**連線**以連線至來源資料庫。

## Amazon Redshift 最佳化設定
<a name="CHAP_Source.Redshift.ConversionSettings"></a>

若要編輯 Amazon Redshift 最佳化設定，請選擇 中的**設定** AWS SCT，然後選擇**轉換設定**。從上方清單中選擇 **Amazon Redshift**，然後選擇 **Amazon Redshift – Amazon Redshift**。 AWS SCT 會顯示 Amazon Redshift 最佳化的所有可用設定。

中的 Amazon Redshift 最佳化設定 AWS SCT 包含下列項目的選項：
+ 限制轉換程式碼中具有動作項目的註解數量。

  針對**所選嚴重性及更高層級之動作項目的轉換後程式碼中新增註解**，請選擇動作項目的嚴重性。針對所選嚴重性及更高層級的動作項目，在轉換後程式碼中 AWS SCT 新增註解。

  例如，若要將已轉換程式碼中的註解數量降到最低，請選擇**僅限錯誤**。若要在已轉換的程式碼中包含所有動作項目的註解，請選擇**所有訊息**。
+ 設定 AWS SCT 可套用至目標 Amazon Redshift 叢集的資料表數量上限。

  針對**目標 Amazon Redshift 叢集的資料表數目上限**，選擇 AWS SCT 可套用至 Amazon Redshift 叢集的資料表數目。

  Amazon Redshift 的配額會限制不同叢集節點類型的使用資料表。如果您選擇**自動**， 會根據節點類型 AWS SCT ，決定要套用至目標 Amazon Redshift 叢集的資料表數目。或者，手動選擇 值。如需詳細資訊，請參閱《Amazon Redshift 管理指南》**中的 [Amazon Redshift 中的配額和限制](https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html)。

  AWS SCT 會轉換所有來源資料表，即使資料表數量超過 Amazon Redshift 叢集可以存放的數量也一樣。 會將轉換後的程式碼 AWS SCT 儲存在專案中，而不會將其套用至目標資料庫。如果您在套用轉換後的程式碼時達到資料表的 Amazon Redshift 叢集配額，則 AWS SCT 會顯示警告訊息。此外， 會將資料表 AWS SCT 套用至目標 Amazon Redshift 叢集，直到資料表數量達到限制為止。
+ 選擇遷移策略。

  AWS 建議使用不同的叢集做為最佳化專案的來源和目標。在 Amazon Redshift 最佳化程序開始之前，您可以建立來源 Amazon Redshift 叢集的副本。您可以在此副本中包含來源資料，或建立空叢集。

  針對**遷移策略**，選擇**遷移至副本**，以在目標叢集中包含來源叢集的資料。

  針對**遷移策略**，選擇**遷移至乾淨的板，**以檢閱最佳化建議。接受這些建議後，請將來源資料遷移至目標叢集。
+ 將壓縮套用至 Amazon Redshift 資料表資料欄。若要這樣做，請選取**使用壓縮編碼**。

  AWS SCT 使用預設 Amazon Redshift 演算法自動將壓縮編碼指派給資料欄。如需詳細資訊，請參閱《*Amazon Redshift 資料庫開發人員指南*》中的[壓縮編碼](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html)。

  根據預設，Amazon Redshift 不會將壓縮套用至定義為排序和分佈索引鍵的資料欄。您可以變更此行為，並將壓縮套用至這些資料欄。若要這樣做，請選取**使用 KEY 資料欄的壓縮編碼**。只有在您選取**使用壓縮編碼**選項時，才能選取此選項。
+ 使用自動資料表最佳化。

  自動資料表最佳化是 Amazon Redshift 中的自我調校程序，可自動最佳化資料表的設計。如需詳細資訊，請參閱《*Amazon Redshift 資料庫開發人員指南*》中的[使用自動資料表最佳化](https://docs.aws.amazon.com/redshift/latest/dg/t_Creating_tables.html)。

  若要僅在自動資料表最佳化時使用 ，請在左側窗格中選擇**最佳化策略**。然後選取**使用 Amazon Redshift 自動資料表調校**，然後針對**初始金鑰選擇策略**選擇**無**。
+ 使用策略選擇排序和分佈索引鍵。

  您可以使用 Amazon Redshift 中繼資料、統計資訊或這兩個選項來選擇排序和分佈索引鍵。針對**最佳化****策略索引標籤上的初始金鑰選擇**策略，選擇下列其中一個選項：
  + 使用中繼資料，忽略統計資訊
  + 忽略中繼資料，使用統計資訊
  + 使用中繼資料和統計資訊

  視您選擇的選項而定，您可以選擇最佳化策略。然後，為每個策略輸入值 (0–100)。這些值會定義每個策略的權重。使用這些權重值， AWS SCT 定義每個規則如何影響分佈和排序索引鍵的選擇。預設值是以 AWS 遷移最佳實務為基礎。

  您可以為**尋找小型資料表策略定義小型資料表**的大小。對於**最小資料表資料列計數**和**最大資料表資料列計數**，輸入資料表中的最小和最大資料列數，將其定義為小型資料表。 會將`ALL`分佈樣式 AWS SCT 套用至小型資料表。在這種情況下，整個資料表的副本會分發到每個節點。
+ 設定策略詳細資訊。

  除了定義每個最佳化策略的權重之外，您還可以設定最佳化設定。若要這麼做，請選擇**轉換最佳化**。
  + 針對**排序索引鍵資料欄限制**，輸入排序索引鍵中的資料欄數上限。
  + 針對**偏斜閾值**，輸入資料欄偏斜值的百分比 (0–100)。 AWS SCT 會將偏斜值大於閾值的資料欄從分佈索引鍵的候選項目清單中排除。 AWS SCT 會將資料欄偏斜值定義為最常用值與記錄總數的百分比比率。
  + 對於**查詢歷史記錄表中的前 N 個查詢**，輸入要分析之最常用查詢的數目 (1–100)。
  + 對於**選取統計資料使用者**，選擇您要分析其查詢統計資料的資料庫使用者。