Babelfish でのパーティショニングについて - Amazon Aurora

Babelfish でのパーティショニングについて

バージョン 4.3.0 以降、Babelfish はサポートが制限されたテーブルとインデックスのパーティショニングを導入しました。以下のセクションでは、パーティション関数の作成、パーティションスキームの定義、Babelfish でのパーティションテーブルとインデックスの実装について詳しく説明します。

Babelfish でのパーティショニングの紹介

  • パーティション関数:

    • CREATE PARTITION FUNCTION: パーティション分割列タイプと各パーティションの値の範囲を指定して、テーブルまたはインデックスをパーティション分割する方法を定義します。

    • DROP PARTITION FUNCTION: 既存のパーティション関数を削除します。

  • パーティションスキーム:

    • CREATE PARTITION SCHEME: パーティションとファイルグループ間のマッピングを定義します。

      注記

      Babelfish では、ファイルグループはダミーオブジェクトとして扱われ、物理的なストレージの場所を表すものではありません。

    • DROP PARTITION SCHEME: 既存のパーティションスキームを削除します。

  • システム関数:

    • $PARTITION: このシステム関数は、パーティショニング列内の指定された値が、指定されたパーティションテーブルに属するパーティション番号を返します。

  • パーティションテーブルとインデックス:

    • CREATE TABLE ... ON partition_scheme_name (partition_column_name): 指定されたパーティションスキームとパーティション列に基づいてパーティションテーブルを作成します。

    • CREATE INDEX ... ON partition_scheme_name (partition_column_name): 指定されたパーティションスキームとパーティション列に基づいてパーティションインデックスを作成します。

  • メタデータをパーティショニングするためのシステムビュー:

    パーティショニングに関連するメタデータを提供するために、次のシステムビューが追加されました。

    • sys.destination_data_spaces

    • sys.partitions

    • sys.partition_functions

    • sys.partition_parameters

    • sys.partition_range_values

    • sys.partition_schemes

制限と回避策

次の SQL Server パーティショニング機能は、Babelfish ではまだサポートされていません。

  • ALTER PARTITION FUNCTION および ALTER PARTITION SCHEME

    注記

    Babelfish は、分割オペレーションとマージオペレーションをサポートしていません。パーティションを後から追加または削除することはできないため、作成時にパーティション関数ですべてのパーティションを定義してください。

  • パーティショニング列としての計算列。

  • パーティションテーブルに対する INSERT BULK および BCP ユーティリティ。

  • パーティション関数の LEFT 境界オプション。

  • パーティション関数の SQL_VARIANT データ型。

  • TRUNCATE TABLE ... WITH PARTITION.

  • ALTER TABLE ... SWITCH PARTITION.

  • パーティションスキームやパーティションテーブルとは異なるパーティション列など、整列されていないパーティションインデックス。

  • Babelfish ソースからの DMS 移行は、パーティションテーブルのフルロードタスクでのみサポートされます。

  • パーティション関数での照合の使用。

  • デフォルトのデータベース照合以外の照合におけるパーティショニング列の使用。

  • Babelfish は次の構文オプションをサポートしていませんが、回避策があります。

    • CREATE TABLE ステートメントでの制約またはインデックスを含むパーティションスキームの使用。

    • ALTER TABLE ... ADD CONSTRAINT ... ON partition_scheme_name (partition_column_name)。

    注記

    babelfishpg_tsql.escape_hatch_storage_on_partition エスケープハッチは無視するように設定できます。これにより、パーサーは制約またはインデックスで使用されるパーティションスキームオプションを無視でき、バックエンドは各パーティションに個別の制約またはインデックスを作成します。