

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# を使用したデータウェアハウススキーマの Amazon RDS への変換 AWS SCT
<a name="CHAP_Converting.DW"></a>

 AWS Schema Conversion Tool (AWS SCT) は、データウェアハウススキーマを Amazon RDS または Aurora データベーススキーマに変換するプロセスの大部分を自動化します。ソースデータベースエンジンとターゲットデータベースエンジンにはさまざまな機能があるため、可能な限りターゲットデータベースに同等のスキーマ AWS SCT を作成しようとします。直接変換が不可能な場合、 は評価レポートに実行可能なアクションのリスト AWS SCT を提供します。を使用すると AWS SCT、キーの管理、データ型とオブジェクトのマッピング、手動変換の作成を行うことができます。

AWS SCT は、次のデータウェアハウススキーマを変換できます。
+ Amazon Redshift
+ Azure Synapse Analytics (バージョン 10)
+ BigQuery
+ Greenplum データベース (バージョン 4.3)
+ Microsoft SQL Server (バージョン 2008 以降)
+ Netezza (バージョン 7.0.3 以降)
+ Oracle (バージョン 10.2 以降)
+ Snowflake (バージョン 3)
+ Teradata (バージョン 13 以降)
+ Vertica (バージョン 7.2 以降)

オンライン トランザクション処理 (OLTP) データベース スキーマの変換については、「[でのデータベーススキーマの変換 AWS Schema Conversion Tool](CHAP_Converting.md)」を参照してください。

データウェアハウススキーマを変換するには、次のステップを実行します。

1. 最適化戦略とルールを指定し、 AWS SCT で使用する移行ルールを指定します。列のデータ型の変更、あるスキーマから別のスキーマへのオブジェクトの移動、オブジェクトの名前の変更を行うルールを設定できます。

    最適化と移行ルールは、[**Settings**] (設定) で指定できます。最適化方法の詳細については、「[で使用する最適化戦略とルールの選択 AWS SCT](#CHAP_Converting.DW.Strategy)」を参照してください。移行ルールの詳細については、「[での移行ルールの作成 AWS SCT](#CHAP_Converting.DW.MigrationRules)」を参照してください。

1. ソースデータウェアハウスの統計を提供し、 AWS SCT がデータウェアハウスの変換方法を最適化できるようにします。データベースから統計を直接収集するか、既存の統計ファイルをアップロードできます。データウェアハウスの統計の提供については、「[の統計を収集またはアップロードする AWS SCT](#CHAP_Converting.DW.Statistics)」を参照してください。

1. 自動的に変換できないスキーマの要素の詳細を記載したデータベース移行評価レポートを作成します。ソースデータベースと互換性のあるターゲットデータベースで、スキーマを手動で作成する必要があるかどうかを識別するため、このレポートを使用できます。評価レポートの詳細については、「[での評価レポートの使用 AWS Schema Conversion Tool](CHAP_AssessmentReport.md)」を参照してください。

1. スキーマの変換。 AWS SCT は確認のために変換されたスキーマのローカルバージョンを作成しますが、準備ができるまでターゲットデータベースには適用されません。変換の詳細については、「[を使用したスキーマの変換 AWS SCT](#CHAP_Converting.DW.Convert)」を参照してください。

1.  スキーマの変換後は、キーを管理し、編集できます。キー管理はデータウェアハウス変換の柱となります。キー管理の詳細については、「[でのキーの管理とカスタマイズ AWS SCT](#CHAP_Converting.DW.Keys)」を参照してください。

1.  自動的に変換できないスキーマの要素がある場合、2 つの選択肢があります。ソーススキーマを更新したのち再び変換するか、またはターゲットデータベースにおいて同等のスキーマの要素を作成します。スキーマ要素の手動変換の詳細については、「[での手動変換の処理 AWS SCT](#CHAP_Converting.DW.Manual)」を参照してください。ソーススキーマの更新の詳細については、「[で変換されたスキーマの更新と更新 AWS SCT](#CHAP_Converting.DW.UpdateRefresh)」を参照してください。

1. 準備ができたら、変換されたスキーマをターゲットデータベースに適用できます。変換されたスキーマの保存と適用の詳細については、「[で変換されたスキーマを保存して適用する AWS SCT](#CHAP_Converting.DW.SaveAndApply)」を参照してください。

## ターゲットとしての Amazon Redshift の許可
<a name="CHAP_Converting.DW.ConfigureTarget"></a>

次のリストは、Amazon Redshift をターゲットとして使用するためのアクセス許可を以下に示します。
+ CREATE ON DATABASE — データベースに新しいスキーマを作成できます。
+ CREATE ON SCHEMA — データベーススキーマにオブジェクトを作成できます。
+ GRANT USAGE ON LANGUAGE — データベースに新しい関数やプロシージャを作成できます。
+ スキーマ pg\$1catalog のすべてのテーブルに対して選択権限を付与 — Amazon Redshift クラスターに関するシステム情報をユーザーに提供します。
+ pg\$1class\$1info での GRANT SELECT — テーブル分散スタイルに関する情報をユーザーに提供します。

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

```
CREATE USER user_name PASSWORD your_password;
GRANT CREATE ON DATABASE db_name TO user_name;
GRANT CREATE ON SCHEMA schema_name TO user_name;
GRANT USAGE ON LANGUAGE plpythonu TO user_name;
GRANT USAGE ON LANGUAGE plpgsql TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO user_name;
GRANT SELECT ON pg_class_info TO user_name;
GRANT SELECT ON sys_serverless_usage TO user_name;
GRANT SELECT ON pg_database_info TO user_name;
GRANT SELECT ON pg_statistic TO user_name;
```

前の例では、*user\$1name* を自分のユーザーの名前に置き換えてください。次に、*db\$1name* をターゲットの Amazon Redshift データベースの名前に置き換えます。次に、*schema\$1name* を Amazon Redshift スキーマの名前に置き換えます。変換したコードを適用するか、データを移行するターゲットスキーマごとに、`GRANT CREATE ON SCHEMA` の操作を繰り返します。最後に、*your\$1password*を安全なパスワードに置き換えます。

ターゲットの Amazon Redshift データベースに拡張パックを適用できます。拡張パックは、オブジェクトを Amazon Redshift に変換するときに必要なソース データベース機能をエミュレートするアドオンモジュールです。詳細については、「[での拡張パックの使用 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)」を参照してください。

このオペレーションでは、 はユーザーに代わって Amazon S3 バケットにアクセスするためのアクセス許可 AWS SCT が必要です。このアクセス許可を付与するには、次のポリシーを使用して AWS Identity and Access Management (IAM) ユーザーを作成します。

## で使用する最適化戦略とルールの選択 AWS SCT
<a name="CHAP_Converting.DW.Strategy"></a>

がデータウェアハウススキーマを AWS Schema Conversion Tool 変換する方法を最適化するには、ツールで使用する戦略とルールを選択できます。スキーマを変換し、推奨されたキーを確認した後で、目的の結果を得るためにルールを調整するか、戦略を変更することができます。

**最適化戦略とルールを選択するには**

1. [**Settings**] (設定) を選択し、[**Project Settings**] (プロジェクト設定) を選択します。[**Current project settings**] (現在のプロジェクト設定) ダイアログボックスが表示されます。

1. 左側のペインで、[**Optimization Strategies**] (最適化戦略) を選択します。最適化戦略が、デフォルト値が選択されて右側のペインに表示されます。

1. [**Strategy Sector**] (戦略セクター) で、使用する最適化戦略を選択します。次から選択できます。
   + [**Use metadata, ignore statistical information**] (メタデータを使用して、統計情報は無視する) – この戦略では、メタデータからの情報のみが、最適化の決定に使用されます。例えば、ソーステーブルに複数のインデックスがある場合、ソースデータベースのソート順が使用され、最初のインデックスが分散キーになります。

      
   + [**Ignore metadata, use statistical information**] (メタデータを無視して、統計情報を使用する) – この戦略では、統計情報のみが、最適化の決定に使用されます。この戦略は、統計が提供されるテーブルと列のみに適用されます。詳細については、「[の統計を収集またはアップロードする AWS SCT](#CHAP_Converting.DW.Statistics)」を参照してください。

      
   + [**Use metadata and use statistical information**] (メタデータおよび統計情報を使用する) – この戦略では、最適化の決定にメタデータおよび統計の両方が使用されます。

      

1. 最適化戦略を選択した後で、使用するルールを選択できます。次から選択できます。
   + **メタデータを使用して分散キーとソートキーを選択**
   + **照合用のファクトテーブルと適切なディメンションを選択**
   + **インデックスの列の基数を分析**
   + **クエリログテーブルから最も使用されるテーブルと列を見つける**

   ルールごとに、ソートキーの重みと分散キーの重みを入力できます。 AWS SCT では、スキーマの変換時に、ここで選択した重みが使用されます。後で推奨されたキーを確認するときに、結果に満足できない場合は、ここに戻って設定を変更できます。詳細については、「[でのキーの管理とカスタマイズ AWS SCT](#CHAP_Converting.DW.Keys)」を参照してください。

## の統計を収集またはアップロードする AWS SCT
<a name="CHAP_Converting.DW.Statistics"></a>

がデータウェアハウススキーマを AWS Schema Conversion Tool 変換する方法を最適化するために、ツールが使用できるソースデータベースから統計を提供できます。データベースから統計を直接収集するか、既存の統計ファイルをアップロードできます。

**統計を提供し、確認するには**

1. プロジェクトを開き、ソースデータベースに接続します。

1. プロジェクトの左側のパネルからスキーマオブジェクトを選択し、オブジェクトのコンテキスト (右クリック) メニューを開きます。次に示すように、[**Collect Statistics**] (統計の収集) または [**Upload Statistics**] (統計のアップロード) を選択します。  
![\[コンテキストメニューの [Collect Statistics] (統計の収集)\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/collect-statistics.png)

1. プロジェクトの左側のパネルからスキーマオブジェクトを選択し、[**Statistics**] (統計) タブを選択します。オブジェクトの統計を確認できます。  
![\[[Statistics] (統計) タブ\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/statistics.png)

   後で推奨されたキーを確認するときに、結果に満足できない場合は、追加の統計を収集して、この手順を繰り返すことができます。詳細については、「[でのキーの管理とカスタマイズ AWS SCT](#CHAP_Converting.DW.Keys)」を参照してください。

## での移行ルールの作成 AWS SCT
<a name="CHAP_Converting.DW.MigrationRules"></a>

を使用してスキーマを変換する前に AWS SCT、移行ルールを設定できます。列のデータ型の変更、あるスキーマから別のスキーマへのオブジェクトの移動、オブジェクト名の変更などを、*移行ルール*を設定して実行できます。例えば、`test_TABLE_NAME` という名前のソーススキーマにテーブルがあるとします。ターゲットスキーマ内にある プレフィックス `test_` をプレフィックス `demo_` に変更するルールを設定できます。

**注記**  
移行ルールは、異なるソースとターゲットのデータベースエンジンに対してのみ作成できます。

移行ルールを作成して実行できるタスクは次のとおりです。
+ プレフィックスの追加、削除、または置換
+ サフィックスの追加、削除、または置換
+ 列照合の変更
+ データ型の変更
+ `char`、`varchar`、`nvarchar`、`string` およびデータ型の長さを変更
+ オブジェクトの移動
+ オブジェクトの名前変更

移行ルールを作成できるオブジェクトは次のとおりです。
+ データベース 
+ スキーマ 
+ [テーブル] 
+ 列 

### 移行ルールの作成
<a name="CHAP_Converting.DW.MigrationRules.Map"></a>

移行ルールを作成し、プロジェクトの一部として保存できます。プロジェクトを開いた状態で、以下の手順で移行ルールを作成します。

**移行ルールを作成するには**

1. [**View**] (ビュー) メニューで、[**Mapping View**] (マッピングビュー) を選択します。

1.  **[サーバーマッピング]** で、ソースサーバとターゲットサーバのペアを選択します。

1. [**New migration rule**] (新しい移行ルール) を選択します。[**Transformation rules**] (変換ルール) ダイアログボックスが表示されます。

1. [**Add new rule**] (新しいルールを追加) を選択します。ルールのリストに新しい行が追加されます。

1. ルールを設定します。

   1. [**Name**] (名前) に、ルールの名前を入力します。

   1. [**For**] で、ルールを適用するオブジェクトのタイプを選択します。

   1. [**where**] (条件) に、オブジェクトに適用するフィルターを入力後、移行ルールを適用します。where 句は、like 句を使用して評価されます。正確な名前を入力して特定のオブジェクトを選択するか、パターンを入力して複数のオブジェクトを選択できます。

      **where** 句で利用可能なフィールドは、オブジェクト型によって異なります。例えば、スキーマの名前のオブジェクト型がスキーマの場合、使用可能なフィールドは 1 つだけです。

   1. [**Actions**] (アクション) で、作成する移行ルールを選択します。

   1. ルールタイプに応じて、追加の値を 1 つまたは 2 つ入力します。例えば、オブジェクトの名前を変更するには、オブジェクトの新しい名前を入力します。プレフィックスを置換するには、現在のプレフィックスおよび置換後のプレフィックスを入力します。

1. 移行ルールを設定したら、[**Save**] (保存) を選択してルールを保存します。変更をキャンセルする場合は、[**Cancel**] (キャンセル) を選択します。  
![\[変換ルールダイアログボックス\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/transformation-rules.png)

1. ルールの追加、編集、削除が完了したら、[**Save All**] (すべてを保存) を選択して変更内容を保存します。

1. [**Close**] (閉じる) を選択して、[**Transformation rules**] (変換ルール) ダイアログボックスを閉じます。

移行ルールを削除せずに無効にするには、切り替えアイコンを使用できます。既存の移行ルールを複製するには、コピーアイコンを使用します。既存の移行ルールを編集するには、鉛筆アイコンを使用します。既存の移行ルールを削除するには、削除アイコンを使用します。移行ルールへの変更を保存するには、[**Save All**] (すべて保存) を選択します。

### 移行ルールのエクスポート
<a name="CHAP_Converting.DW.MigrationRules.Export"></a>

 AWS Database Migration Service (AWS DMS) を使用してソースデータベースからターゲットデータベースにデータを移行する場合は、移行ルールに関する情報を指定できます AWS DMS。タスクの詳細については、[AWS Database Migration Service 「レプリケーションタスクの使用](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)」を参照してください。

**移行ルールをエクスポートするには**

1. で AWS Schema Conversion Tool、**ビューメニュー**のマッピング**ビュー**を選択します。

1.  **[Migration rules] (移行ルール)** で、移行ルールを選択してから、**[Modify migration rule] (移行ルールの変更)** を選択します。

1.  **スクリプトのエクスポート AWS DMS**を選択します。

1. スクリプトを保存する場所を指定し、[**Save**] (保存) を選択します。移行ルールは、 で使用できる JSON スクリプトとして保存されます AWS DMS。

## を使用したスキーマの変換 AWS SCT
<a name="CHAP_Converting.DW.Convert"></a>

ソースデータベースとターゲットデータベースの両方にプロジェクトを接続すると、 AWS Schema Conversion Tool プロジェクトは左側のパネルにソースデータベースのスキーマを表示します。スキーマはツリービュー形式で表示され、ツリーの各ノードは遅延ロードです。ツリービューでノードを選択すると、その時点で AWS SCT はソースデータベースからスキーマ情報をリクエストします。

ソースデータベースからスキーマ項目を選択し、ターゲットデータベースのデータベースエンジンと同等のスキーマにスキーマを変換することができます。ソースデータベースから任意のスキーマ項目を選択して変換できます。選択したスキーマ項目が親項目に依存する場合、 は親項目のスキーマ AWS SCT も生成します。たとえば、変換するテーブルから列を選択すると、 は列のスキーマ、列が存在するテーブル、およびテーブルが存在するデータベース AWS SCT を生成します。

### スキーマの変換
<a name="CHAP_Converting.DW.Convert.Convert"></a>

ソースデータベースからスキーマを変換するには、変換するスキーマの名前のチェックボックスを選択します。次に、プロジェクトの左側のパネルからこのスキーマを選択します。 AWS SCT で、スキーマ名が青で強調表示されます。スキーマのコンテキスト（右クリック）メニューを開き、次に示すように [**スキーマを変換**] を選択します。

![\[スキーマの変換\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/transform_schema.png)


ソースデータベースからスキーマを変換すると、プロジェクトの左のパネルからスキーマ項目を選択でき、プロジェクトの中央のパネルで変換されたスキーマを表示できます。下中央のパネルに変換されたスキーマを作成する SQL コマンドのプロパティが次のように表示されます。

![\[ソーススキーマ項目の選択\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/select_schema_item.png)


スキーマを変換した後、プロジェクトを保存できます。ソースデータベースからのスキーマ情報は、プロジェクトと共に保存されます。この機能は、ソースデータベースに接続せずにオフラインで作業できることを意味します。ソースデータベースに **[Refresh from Database] (データベースから更新)** が選択されている場合、 AWS SCT は必要に応じて、ソースデータベースに接続してプロジェクトのスキーマを更新します。詳細については、「[で変換されたスキーマの更新と更新 AWS SCT](#CHAP_Converting.DW.UpdateRefresh)」を参照してください。

自動的に変換できない項目のデータベース移行評価レポートを作成できます。評価レポートは、自動的に変換できないスキーマ項目の特定と解決に役立ちます。詳細については、「[での評価レポートの使用 AWS Schema Conversion Tool](CHAP_AssessmentReport.md)」を参照してください。

が変換されたスキーマ AWS SCT を生成する場合、ターゲットデータベースにすぐには適用されません。代わりに、変換されたスキーマはターゲットデータベースに適用する準備ができるまでローカルに保存されます。詳細については、「[変換されたスキーマの適用](#CHAP_Converting.DW.Applying)」を参照してください。

### 変換されたスキーマの編集
<a name="CHAP_Converting.DW.Convert.Edit"></a>

変換されたスキーマを編集し、プロジェクトの一部として変更を保存できます。

**変換されたスキーマを編集するには**

1. ソースデータベースのスキーマを表示する左のパネルで、変換されたスキーマの編集するスキーマ項目を選択します。

1. 選択した項目の変換されたスキーマを表示している下中央のパネルで [**SQL**] タブを選択します。

1. [**SQL**] タブで表示されたテキストで、必要に応じてスキーマを変更します。更新する際に、スキーマはプロジェクトと共に自動的に保存されます。  
![\[ターゲットデータベースからのスキーマの更新\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/edit_converted_schema.png)

更新する際に、プロジェクトと共に変換されたスキーマへの変更が格納されます。新しくソースデータベースからスキーマ項目を変換し、項目の以前に変換されたスキーマを更新した場合、既存の更新はソースデータベースに基づいて新しく変換されたスキーマで置き換えられます。

### 変換されたスキーマのクリア
<a name="CHAP_Converting.DW.Convert.Clear"></a>

スキーマをターゲットデータベースに適用するまで、 は変換されたスキーマ AWS SCT のみをプロジェクトにローカルに保存します。ターゲットデータベース用ツリービューノードを選択して、プロジェクトから計画されたスキーマをクリアし、[**Refresh from Database**] (データベースから更新) を選択します。ターゲットデータベースにスキーマが書き込まれていないため、データベースから更新すると、ターゲットデータベースに存在するスキーマ要素と一致するように、 AWS SCT プロジェクト内の計画されたスキーマ要素が削除されます。

## でのキーの管理とカスタマイズ AWS SCT
<a name="CHAP_Converting.DW.Keys"></a>

を使用してスキーマを変換したら AWS Schema Conversion Tool、キーを管理および編集できます。キー管理はデータウェアハウス変換の柱となります。

キーを管理するには、ターゲットデータベースでテーブルを選択し、次に示すように [**Key Management**] (キーの管理) タブを選択します。

![\[[Key Management] (キーの管理) タブ\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/key-management.png)


左側のペインにはキーの提案が含まれ、各提案の信頼性に関する評価が含まれています。いずれかの提案を選択するか、右側のペインで編集してキーをカスタマイズできます。

キーの選択が予期したとおりでない場合、最適化戦略を編集し、変換を再試行できます。詳細については、「[で使用する最適化戦略とルールの選択 AWS SCT](#CHAP_Converting.DW.Strategy)」を参照してください。

### 関連トピック
<a name="w2aac21c25c13"></a>
+ [最良のソートキーの選択](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-sort-key.html)
+ [最適な分散スタイルの選択](https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-best-dist-key.html)

## での評価レポートの作成と使用 AWS SCT
<a name="CHAP_Converting.DW.AssessmentReport"></a>

は、スキーマの変換に役立つ*データベース移行評価レポート* AWS Schema Conversion Tool を作成します。データベース移行評価レポートでは、ソースデータベースからターゲットデータベースへのスキーマの変換に関する重要な情報を得られます。レポートは、ターゲット データベースの DB エンジンに変換できないスキーマに関する、すべてのスキーマ変換タスクやアクション項目の詳細をまとめたものです。このレポートには、自動変換できないターゲットデータベースで同等のコードを記述するために必要な労力の予測も記載されています。

### データベース移行評価レポートの作成
<a name="CHAP_Converting.DW.AssessmentReport.Create"></a>

次の手順に従ってデータベース移行評価レポートを作成します。

**データベース移行評価レポートを作成するには**

1. ソースデータベースのスキーマを表示する左のパネルで、評価レポートを作成するスキーマオブジェクトを選択します。

1. オブジェクトのコンテキスト (右クリック) メニューを開き、[**Create Report**] (レポートを作成) を選択します。  
![\[データベース移行評価レポートの作成\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/create_assessment_report.png)

### 評価レポートの概要
<a name="CHAP_Converting.DW.AssessmentReport.Summary"></a>

評価レポートを作成すると、評価レポートビューが開き、[**Summary**] (概要) タブが表示されます。[**Summary**] (概要) タブには、データベース移行評価レポートの要約が表示されます。自動的に変換された項目と、自動的に変換されなかった項目が表示されます。

![\[評価レポートの概要\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/summary_tab.png)


ターゲットデータベースエンジンに自動的に変換できないスキーマ項目に関して、要約には、ソースと同等のスキーマ項目をターゲット DB インスタンスで作成するために必要な労力の予測が含まれます。

このレポートは、これらのスキーマアイテムを変換する推定時間を次のように分類します。
+ [**Simple**] (シンプル) - 1 時間以内に完了できるアクション。
+ [**Medium**] (ミディアム) - より複雑で、1～4 時間で完了できるアクション。
+ [**Significant**] (大規模) - 非常に複雑で、完了に 4 時間以上かかるアクション。

### 評価レポートアクション項目
<a name="CHAP_Converting.DW.AssessmentReport.ActionItems"></a>

評価レポートビューには [**Action Items**] (アクション項目) タブも含まれます。このタブには、ターゲットデータベースのデータベースエンジンに自動的に変換できない項目のリストが含まれます。リストからアクション項目を選択する場合、アクション項目が適用されるスキーマが AWS SCT によってハイライトされます。

レポートには、手動でスキーマ項目を変換する方法の推奨事項も含まれています。手動変換の処理方法の決定に関する詳細については、[での手動変換の処理 AWS SCT](#CHAP_Converting.DW.Manual) を参照してください。

![\[[Action Items] (アクション項目) タブ\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/action_items_tab.png)


### 評価レポートの保存
<a name="CHAP_Converting.DW.AssessmentReport.Save"></a>

データベース移行評価レポートのローカルコピーを PDF ファイルまたはカンマ区切り値 (CSV) のどちらでも保存できます。CSV ファイルには、アクション項目の情報のみが含まれます。PDF ファイルには、次の例に示すように、要約とアクション項目の情報の両方が含まれます。

![\[データベース移行評価レポート\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/assessment_report.png)


## での手動変換の処理 AWS SCT
<a name="CHAP_Converting.DW.Manual"></a>

評価レポートには、ターゲットデータベースのデータベースエンジンに自動的に変換できない項目のリストが含まれます。変換できない各項目に対して、[**Action Items**] (アクション項目) タブにアクション項目があります。

評価レポートのアクション項目には、以下の方法で対応できます。
+ ソースデータベーススキーマの変更
+ ターゲットデータベーススキーマの変更

### ソーススキーマの変更
<a name="CHAP_Converting.DW.Manual.Source"></a>

一部の項目については、ソースデータベースのデータベーススキーマを、自動的に変換できるスキーマに変更する方が容易な場合があります。最初に、新しい変更にアプリケーションアークテクチャと互換性があることを確認し、次にソースデータベースのスキーマを更新します。最後に、更新されたスキーマ情報のあるプロジェクトを更新します。その後、更新されたスキーマを変換し、新しいデータベース移行評価レポートを生成できます。ソーススキーマで変更された項目のアクション項目は表示されなくなります。

このプロセスの利点は、ソースデータベースから更新するときに、更新されたスキーマを常に使用できることです。

### ターゲットスキーマの変更
<a name="CHAP_Converting.DW.Manual.Target"></a>

一部の項目については、ターゲットデータベースに変換されたスキーマを適用する方が容易な場合があるため、自動的に変換できなかった項目のターゲットデータベースに同等のスキーマを手動で追加します。スキーマを適用することで、ターゲットデータベースに自動的に変換できるスキーマすべてを記述できます。詳細については、「[で変換されたスキーマを保存して適用する AWS SCT](#CHAP_Converting.DW.SaveAndApply)」を参照してください。

ターゲットデータベースに書き込まれるスキーマには、自動的に変換できなかった項目は含まれません。ターゲットデータベースにスキーマを適用したら、ターゲットデータベースでソースデータベースと同等のスキーマを手動で作成できます。データベース移行評価レポートのアクション項目には、同等のスキーマを作成する方法の提案が含まれています。

**警告**  
ターゲットデータベースでスキーマを手動で作成する場合、手動作業のコピーを保存します。再度プロジェクトからターゲットデータベースに変換したスキーマを適用する場合、行った手動作業は上書きされます。

場合によっては、ターゲットデータベースにおいて同等のスキーマを作成できないことがあります。ターゲットデータベース向けにエンジンで利用できる機能を使用するために、アプリケーションとデータベースの一部を再設計することが必要な場合があります。その他の場合、自動的に変換できないスキーマは無視できます。

## で変換されたスキーマの更新と更新 AWS SCT
<a name="CHAP_Converting.DW.UpdateRefresh"></a>

ソーススキーマとターゲットスキーマの両方を AWS Schema Conversion Tool プロジェクトで更新できます。
+ **[Source] (ソース)** - ソースデータベースのスキーマを更新した場合、 AWS SCT はプロジェクトのスキーマをソースデータベースの最新のスキーマと置き換えます。この機能を使用すると、ソースデータベースのスキーマが変更された場合にプロジェクトを更新できます。
+ [**Target**] (ターゲット) - ターゲットデータベースのスキーマを更新した場合、 AWS SCT はプロジェクトのスキーマをターゲットデータベースの最新のスキーマと置き換えます。ターゲットデータベースにスキーマを適用していない場合、 は変換されたスキーマをプロジェクトから AWS SCT クリアします。その後、クリーンターゲットデータベースのソースデータベースからスキーマを変換します。

データベース**から更新**を選択して、 AWS SCT プロジェクトのスキーマを更新します。

## で変換されたスキーマを保存して適用する AWS SCT
<a name="CHAP_Converting.DW.SaveAndApply"></a>

が変換されたスキーマ AWS Schema Conversion Tool を生成すると ( を参照[を使用したスキーマの変換 AWS SCT](#CHAP_Converting.DW.Convert))、変換されたスキーマをターゲットデータベースにすぐに適用しません。代わりに、変換されたスキーマは、ターゲットデータベースに適用する準備ができるまで、プロジェクトにローカルで保存されます。この機能を使用すると、ターゲットデータベースエンジンに自動的に変換できないスキーマ項目を使用できます。自動的に変換できない項目の詳細については、[での評価レポートの使用 AWS Schema Conversion Tool](CHAP_AssessmentReport.md) を参照してください。

オプションとして、ターゲットデータベースにスキーマを適用する前に、変換されたスキーマをツールで SQL スクリプトとしてファイルに保存することができます。さらにツールで、変換したスキーマをターゲットデータベースに直接適用することもできます。

### 変換されたスキーマのファイルへの保存
<a name="CHAP_Converting.DW.Saving"></a>

変換されたスキーマを SQL スクリプトとしてテキストファイルに保存できます。このアプローチを使用すると、生成された SQL スクリプトを から変更 AWS SCT して、ツールが自動的に変換できない項目に対処できます。ターゲットデータベースに変換されたスキーマを適用するために、ターゲット DB インスタンスで更新されたスクリプトを実行できます。

**変換されたスキーマを SQL スクリプトとして保存するには**

1.  スキーマを選択して、コンテキスト (右クリック) メニューを開きます。

1.  [**Save as SQL**] (SQL として保存) を選択します。

1.  ファイルの名前を入力し、[**Save**] (保存) を選択します。

1.  変換されたスキーマは、次のいずれかのオプションを使用して保存できます。
   + [**単一ファイル**]
   + **[Single file per stage] (ステージごとに 1 つのファイル)**
   + **[Single file per statement] (ステートメントごとに 1 つのファイル)**

**SQL スクリプトの形式を選択するには**

1. [**Settings**] (設定) メニューから [**Project settings**] (プロジェクト設定) を選択します。

1.  **[Save scripts] (スクリプトを保存)** を選択します。

1.  **[Vendor] (ベンダー)** で、データベースプラットフォームを選択します。

1. **[Save SQL scripts to] (SQL スクリプトの保存先)** で、データベーススキーマスクリプトの保存方法を選択します。

1.  **[OK]** を選択して、設定を適用します。

### 変換されたスキーマの適用
<a name="CHAP_Converting.DW.Applying"></a>

変換されたスキーマをターゲットデータベースに適用する準備ができたら、プロジェクトの右側のパネルからスキーマ要素を選択します。スキーマ要素のコンテキスト（右クリック）メニューを開き、次に示すように、[**Apply to database**] (データベースに適用) を選択します。

![\[[Apply to database] (データベースに適用)\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/write_to_database.png)


### 拡張パックスキーマ
<a name="CHAP_Converting.DW.SaveAndApply.Ext"></a>

変換後のスキーマをターゲット DB インスタンスに適用すると、 AWS SCT によって追加ワークスキーマがターゲット DB インスタンスに追加されます。このスキーマは、変換されたスキーマをターゲット DB インスタンスに書き込むときに必要なソースデータベースのシステム関数を実装します。追加されたスキーマは、拡張パックスキーマと呼ばれます。

この拡張パックスキーマは変更しないでください。変更すると、ターゲット DB インスタンスに書き込まれる変換されたスキーマに予期しない結果が発生する可能性があります。スキーマがターゲット DB インスタンスに完全に移行され、不要になったら AWS SCT、拡張パックスキーマを削除できます。

拡張パックスキーマの名前は、ソースデータベースに従って次のように記述されます。
+ Greenplum: `aws_greenplum_ext`
+ Microsoft SQL Server: `aws_sqlserver_ext`
+ Netezza: `aws_netezza_ext`
+ Oracle: `aws_oracle_ext`
+ Snowflake: `aws_snowflake_ext`
+ Teradata: `aws_teradata_ext`
+ Vertica: `aws_vertica_ext`

詳細については、「[での拡張パックの使用 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)」を参照してください。

### Python ライブラリ
<a name="CHAP_Converting.DW.SaveAndApply.Py"></a>

Amazon Redshift でカスタム関数を作成するには、Python 言語を使用します。 AWS SCT 拡張機能パックを使用して、Amazon Redshift データベースの Python ライブラリをインストールします。詳細については、「[での拡張パックの使用 AWS Schema Conversion Tool](CHAP_ExtensionPack.md)」を参照してください。

# を使用した Amazon Redshift からのデータの変換 AWS Schema Conversion Tool
<a name="CHAP_Converting.DW.RedshiftOpt"></a>

を使用して Amazon Redshift データベース AWS Schema Conversion Tool を最適化できます。Amazon Redshift データベースをソースとして、テスト用の Amazon Redshift データベースをターゲットとして使用する場合、 AWS SCT では、データベースを最適化するための並べ替えキーおよびディストリビューションキーが推奨されます。

## Amazon Redshift データベースの最適化
<a name="CHAP_Converting.DW.RedshiftOpt.Opt"></a>

次の手順に従い、Amazon Redshift データベースを最適化します。

**Amazon Redshift データベースを最適化するには**

1. バックアップとして、マニュアルで Amazon Redshift クラスターのスナップショットを撮ります。Amazon Redshift クラスターを最適化し、変更のテストが完了したら、スナップショットを削除できます。詳細については、「[Amazon Redshift スナップショット](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html)」を参照してください。

1. プロジェクトの左側のパネルから、変換するスキーマオブジェクトを選択します。オブジェクトのコンテキスト (右クリック) メニューを開き、[**Collect Statistics**] (統計を収集) を選択します。

   AWS SCT は統計を使用して、ソートキーとディストリビューションキーを提案します。

1. プロジェクトの左側のパネルから、最適化するスキーマオブジェクトを選択します。オブジェクトのコンテキスト (右クリック) メニューを開き、[**Run Optimization**] (最適化を実行) を選択します。

   AWS SCT はソートキーとディストリビューションキーを提案します。

1. 提案を確認するには、プロジェクトの左側のパネルのスキーマにあるテーブルのノードを展開し、テーブルを選択します。次に示されているように、[**Key Management**] (キーの管理) タブを選択します。  
![\[[Key Management] (キーの管理) タブ\]](http://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/images/key-management.png)

   左側のペインにはキーの提案が含まれ、各提案の信頼性に関する評価が含まれています。いずれかの提案を選択するか、右側のペインで編集してキーをカスタマイズできます。

1. 最適化の提案が記載されているレポートを作成できます。レポートを作成するには、次の手順に従います。

   1. プロジェクトの左側のパネルから、最適化したスキーマオブジェクトを選択します。オブジェクトのコンテキスト (右クリック) メニューを開き、[**Create Report**] (レポートを作成) を選択します。

      メインウィンドウでレポートが開き、[**Summary**] (概要) タブが表示されます。最適化の提案があるオブジェクトの数がレポートに記載されます。

   1. [**Action Items**] (アクション項目) タブを選択して、レポートフォーマットにある主要な提案を確認します。

   1. 最適化レポートのローカルコピーは PDF ファイルまたはカンマ区切り値 (CSV) ファイルとして保存できます。CSV ファイルには、アクション項目の情報のみが含まれます。PDF ファイルには、要約とアクション項目の情報の両方が含まれます。

1. 提案された最適化をデータベースに適用するには、プロジェクトの右側パネルでオブジェクトを選択します。オブジェクトのコンテキスト (右クリック) メニューを開き、[**Apply to database**] (データベースに適用) を選択します。