RDS を使用したデータウェアハウススキーマの Amazon への変換 AWS SCT - AWS Schema Conversion Tool

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

RDS を使用したデータウェアハウススキーマの Amazon への変換 AWS SCT

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

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

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

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

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

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

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

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

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

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

ターゲットとしての Amazon Redshift の許可

次のリストは、Amazon Redshift をターゲットとして使用するためのアクセス許可を以下に示します。

  • CREATE ON DATABASE – はデータベースに新しいスキーマを作成できます。

  • CREATE ON SCHEMA – は、データベーススキーマにオブジェクトを作成できます。

  • GRANT USAGE ON LANGUAGE – は、データベースに新しい関数とプロシージャを作成できます。

  • GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog – Amazon Redshift クラスターに関するシステム情報をユーザーに提供します。

  • GRANT SELECT ON pg_class_info – テーブルの分散スタイルに関する情報をユーザーに提供します。

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

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_name ユーザーの名前を入力します。次に、db_name をターゲット Amazon Redshift データベースの名前に置き換えます。次に、schema_name を Amazon Redshift スキーマの名前に置き換えます。変換したコードを適用するか、データを移行するターゲットスキーマごとに、GRANT CREATE ON SCHEMA の操作を繰り返します。最後に、your_password 安全なパスワードを使用します。

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

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

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:DeleteObject", "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::aws-sct-*" ] }, { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"" } ] }

で使用する最適化戦略とルールの選択 AWS SCT

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

最適化戦略とルールを選択するには
  1. [Settings] (設定) を選択し、[Project Settings] (プロジェクト設定) を選択します。[Current project settings] (現在のプロジェクト設定) ダイアログボックスが表示されます。

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

  3. [Strategy Sector] (戦略セクター) で、使用する最適化戦略を選択します。次から選択できます。

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

       

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

       

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

       

  4. 最適化戦略を選択した後で、使用するルールを選択できます。次から選択できます。

    • メタデータを使用して分散キーとソートキーを選択

    • 照合用のファクトテーブルと適切なディメンションを選択

    • インデックスの列の基数を分析

    • クエリログテーブルから最も使用されるテーブルと列を見つける

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

の統計を収集またはアップロードする AWS SCT

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

統計を提供し、確認するには
  1. プロジェクトを開き、ソースデータベースに接続します。

  2. プロジェクトの左側のパネルからスキーマオブジェクトを選択し、オブジェクトのコンテキスト (右クリック) メニューを開きます。次に示すように、[Collect Statistics] (統計の収集) または [Upload Statistics] (統計のアップロード) を選択します。

    コンテキストメニューの [Collect Statistics] (統計の収集)
  3. プロジェクトの左側のパネルからスキーマオブジェクトを選択し、[Statistics] (統計) タブを選択します。オブジェクトの統計を確認できます。

    [Statistics] (統計) タブ

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

での移行ルールの作成 AWS SCT

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

注記

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

移行ルールを作成して実行できるタスクは次のとおりです。

  • プレフィックスの追加、削除、または置換

  • サフィックスの追加、削除、または置換

  • 列照合の変更

  • データ型の変更

  • charvarcharnvarcharstring およびデータ型の長さを変更

  • オブジェクトの移動

  • オブジェクトの名前変更

移行ルールを作成できるオブジェクトは次のとおりです。

  • データベース

  • スキーマ

  • テーブル

移行ルールの作成

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

移行ルールを作成するには
  1. [View] (ビュー) メニューで、[Mapping View] (マッピングビュー) を選択します。

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

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

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

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

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

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

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

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

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

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

  6. 移行ルールを設定したら、[Save] (保存) を選択してルールを保存します。変更をキャンセルする場合は、[Cancel] (キャンセル) を選択します。

    変換ルールダイアログボックス
  7. ルールの追加、編集、削除が完了したら、[Save All] (すべてを保存) を選択して変更内容を保存します。

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

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

移行ルールのエクスポート

AWS Database Migration Service (AWS DMS) を使用してソースデータベースからターゲットデータベースにデータを移行する場合は、移行ルールに関する情報を に提供できます AWS DMS。タスクの詳細については、AWS Database Migration Service 「レプリケーションタスクの使用」を参照してください。

移行ルールをエクスポートするには
  1. で AWS Schema Conversion Tool、表示メニューのマッピングビューを選択します。

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

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

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

を使用したスキーマの変換 AWS SCT

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

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

スキーマの変換

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

スキーマの変換

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

ソーススキーマ項目の選択

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

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

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

変換されたスキーマの編集

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

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

  2. 選択した項目の変換されたスキーマを表示する中央下部のパネルで、 SQLタブを選択します。

  3. SQL タブに表示されるテキストで、必要に応じてスキーマを変更します。更新する際に、スキーマはプロジェクトと共に自動的に保存されます。

    ターゲットデータベースからのスキーマの更新

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

変換されたスキーマのクリア

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

でのキーの管理とカスタマイズ AWS SCT

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

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

[Key Management] (キーの管理) タブ

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

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

関連トピック

での評価レポートの作成と使用 AWS SCT

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

データベース移行評価レポートの作成

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

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

  2. オブジェクトのコンテキスト (右クリック) メニューを開き、[Create Report] (レポートを作成) を選択します。

    データベース移行評価レポートの作成

評価レポートの概要

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

評価レポートの概要

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

このレポートは、これらのスキーマアイテムを変換する推定時間を次のように分類します。

  • [Simple] (シンプル) - 1 時間以内に完了できるアクション。

  • [Medium] (ミディアム) - より複雑で、1~4 時間で完了できるアクション。

  • [Significant] (大規模) - 非常に複雑で、完了に 4 時間以上かかるアクション。

評価レポートアクション項目

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

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

[Action Items] (アクション項目) タブ

評価レポートの保存

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

データベース移行評価レポート

での手動変換の処理 AWS SCT

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

評価レポートのアクション項目には、以下の方法で対応できます。

  • ソースデータベーススキーマの変更

  • ターゲットデータベーススキーマの変更

ソーススキーマの変更

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

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

ターゲットスキーマの変更

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

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

警告

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

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

で変換されたスキーマの更新と更新 AWS SCT

AWS Schema Conversion Tool プロジェクト内のソーススキーマとターゲットスキーマの両方を更新できます。

  • [Source] (ソース) - ソースデータベースのスキーマを更新した場合、 AWS SCT はプロジェクトのスキーマをソースデータベースの最新のスキーマと置き換えます。この機能を使用すると、ソースデータベースのスキーマが変更された場合にプロジェクトを更新できます。

  • [Target] (ターゲット) - ターゲットデータベースのスキーマを更新した場合、 AWS SCT はプロジェクトのスキーマをターゲットデータベースの最新のスキーマと置き換えます。ターゲットデータベースにスキーマを適用していない場合、 は変換されたスキーマをプロジェクトから AWS SCT クリアします。その後、クリーンターゲットデータベースのソースデータベースからスキーマを変換します。

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

で変換されたスキーマの保存と適用 AWS SCT

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

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

変換されたスキーマのファイルへの保存

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

変換したスキーマをSQLスクリプトとして保存するには
  1. スキーマを選択して、コンテキスト (右クリック) メニューを開きます。

  2. [名前を付けて保存SQL] を選択します。

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

  4. 変換されたスキーマは、次のいずれかのオプションを使用して保存できます。

    • [単一ファイル]

    • [Single file per stage] (ステージごとに 1 つのファイル)

    • [Single file per statement] (ステートメントごとに 1 つのファイル)

SQL スクリプトの形式を選択するには
  1. [Settings] (設定) メニューから [Project settings] (プロジェクト設定) を選択します。

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

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

  4. SQL スクリプトを に保存 で、データベーススキーマスクリプトの保存方法を選択します。

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

変換されたスキーマの適用

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

[Apply to database] (データベースに適用)

拡張パックスキーマ

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

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

拡張パックスキーマの名前は、ソースデータベースに従って次のように記述されます。

  • Greenplum: aws_greenplum_ext

  • Microsoft SQL サーバー: 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」を参照してください。

Python ライブラリ

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