Amazon Redshift
クラスター管理ガイド

Amazon Redshift における制限

クォータと制限

Amazon Redshift にはクォータが割り当てられています。クォータにより、プロビジョニングできるノードの合計数、作成できるスナップショットの数が制限されます。これらのクォータは、各リージョンの AWS アカウントごとに設定されます。Amazon Redshift には、それぞれデフォルトクォータがあります。リストについては、「AWS サービスの制限」を参照してください。いずれかのクォータの制限を超える処理を実行しようとすると、処理は失敗します。リージョンでアカウントに設定されている Amazon Redshift のクォータ制限を緩和するには、Amazon Redshift 上限緩和申請を提出して変更を要請してください。

クォータ以外にも、Amazon Redshift には次のようなクラスターごとの値の制限があります。これらの制限は緩和できません。

  • クラスターごとに割り当てることができるノードの数。クラスターのノードタイプに基づきます。この制限は、各リージョンの AWS アカウントの制限とは異なります。各ノードタイプの現在のノード制限の詳細については、「Amazon Redshift のクラスターおよびノード」を参照してください。

  • テーブルの最大数は large と xlarge クラスターのノードタイプで 9,900、8xlarge クラスターのノードタイプでは 20,000 です。制限には一時テーブルが含まれます。一時テーブルには、ユーザー定義の一時テーブルや、クエリの処理またはシステムメンテナンス中に Amazon Redshift によって作成された一時テーブルが含まれます。ビューはこの上限には含まれません。テーブルの作成の詳細については、『Amazon Redshift Database Developer Guide』の「Create Table Usage Notes」を参照してください。クラスターノードのタイプに関する詳細は「Amazon Redshift のクラスターおよびノード」を参照してください。

  • クラスターごとに作成できるユーザー定義データベースの数は 60 です。データベースの作成の詳細については、『Amazon Redshift Database Developer Guide』の「Create Database」を参照してください。

  • クラスター内のデータベースごとに作成できるスキーマの数は 9,900 です。ただし、pg_temp_* スキーマはこのクォータに加算されません。スキーマの作成の詳細については、『Amazon Redshift Database Developer Guide』の「Create Schema」を参照してください。

  • ワークロード管理 (WLM) の設定では、すべてのユーザー定義キューに対して合計 50 の同時実行レベルを定義できます。詳細については、『Amazon Redshift Database Developer Guide』の「クエリキューの定義」を参照してください。

  • スナップショットを復元するために許可できる AWS アカウントの数は、1 スナップショットあたり 20 個、1 AWS Key Management Service (AWS KMS) キーあたり 100 個です。つまり、1 つの KMS キーで暗号化された 10 個のスナップショットがある場合、10 個の AWS アカウントで、各スナップショットを復元することを許可できます。または、最大 100 個のアカウントのその他の組み合わせや、スナップショットごとに 20 アカウントを超えないその他の組み合わせを許可できます。詳細については、『Amazon Redshift Cluster Management Guide』の「スナップショットの共有」を参照してください。

  • COPY コマンドを使用してロードされる 単一の入力行の最大サイズは 4 MB です。詳細については、『Amazon Redshift Database Developer Guide』の「COPY」を参照してください。

  • クラスターと IAM ロールを所有するユーザーに代わって他の AWS サービスに Amazon Redshift がアクセスするのを許可するため、最大 10 の IAM ロールをクラスターに関連付けることができます。詳細については、「ユーザーに代わって Amazon Redshift が他の AWS のサービスにアクセスすることを許可する」を参照してください。

Spectrum の制限

Athena または AWS Glue データカタログ使用時の Amazon Redshift Spectrum には次の制限があります。

  • アカウントあたりのデータベース数の上限: 10,000

  • データベースあたりのテーブル数の上限: 100,000。

  • テーブルあたりのパーティション数の上限: 1,000,000。

  • アカウントあたりのパーティション数の上限: 10,000,000

  • 単一の ALTER TABLE ステートメントを使用して、最大 100 のパーティションを追加することができます。

  • すべての S3 データは、Redshift クラスターと同じリージョンにある必要があります。

  • ION および JSON 形式のタイムスタンプには、ISO8601 形式を使用する必要があります。

  • ION/JSON ファイル内の行オブジェクトの最大許容サイズは 8 MB です。

    ION または JSON ファイル内のオブジェクトは括弧で囲まれたデータです。例: (`{ "col1": "data1", "col2": "data2" }`)

  • ION/JSON ファイル内の文字列値の最大許容サイズは 16 KB です。

  • ORC ファイルの外部圧縮はサポートされていません。

  • テキスト、OpenCSV、REGEX SERDE では、`\177` より大きい 8 進数の区切り記号はサポートされていません。

  • すべてのパーティションからの読み取りを回避するには、パーティション列に述語を指定する必要があります。

    たとえば、次の術語は ship_dtm 列でフィルタリングしますが、パーティション列 ship_yyyymm にはフィルタリングを適用しません。

    WHERE ship_dtm > '2018-04-01'

    不要なパーティションをスキップするには、術後 WHERE ship_yymmm = '201804' を追加する必要があります。この述語はパーティション \ship_yyyymm=201804\ への読み込みオペレーションを制限します。

  • 外部テーブルの列制限は、疑似列が有効な場合は 1,598、無効な場合は 1,600 です。

これらの制限は、Hive メタストアには適用されません。

命名に関する制約

次の表に、Amazon Redshift での命名に関する制約を示します。

クラスター識別子

  • クラスター識別子には小文字のみ使用できます。

  • 1 ~ 63 文字の英数字またはハイフンを使用する必要があります。

  • 1 字目は文字である必要があります。

  • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

  • AWS アカウントのすべてのクラスター間で一意である必要があります。

データベース名

  • データベース名には、1~64 文字の英数字を使用する必要があります。

  • 小文字のみを使用する必要があります。

  • 予約語は使用できません。予約語の一覧については、『Amazon Redshift Database Developer Guide』の「予約語」を参照してください。

マスターユーザー名

  • マスターユーザー名には小文字のみ使用できます。

  • 1~128 文字の英数字を使用する必要があります。

  • 1 字目は文字である必要があります。

  • 予約語は使用できません。予約語の一覧については、『Amazon Redshift Database Developer Guide』の「予約語」を参照してください。

マスターパスワード

  • マスターパスワードの長さは 8~64 文字にする必要があります。

  • 最低 1 個の大文字を含める必要があります。

  • 最低 1 個の小文字を含める必要があります。

  • 数字を 1 個含める必要があります。

  • ASCII コード 33~126 の ASCII 文字のうち、' (一重引用符)、" (二重引用符)、\、/、@ を除く任意の文字を使用できます。

パラメーターグループ名

  • パラメータグループ名には 1~255 文字の英数字またはハイフンを使用する必要があります。

  • 小文字のみを使用する必要があります。

  • 1 字目は文字である必要があります。

  • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

クラスターセキュリティグループ名

  • クラスターセキュリティグループ名には 255 文字以下の英数字またはハイフンを使用する必要があります。

  • 小文字のみを使用する必要があります。

  • Default」という文字列を使用することはできません。

  • AWS アカウントで作成したすべてのセキュリティグループ間で一意である必要があります。

サブネットグループ名

  • サブネットグループ名には 255 文字以下の英数字またはハイフンを使用する必要があります。

  • 小文字のみを使用する必要があります。

  • Default」という文字列を使用することはできません。

  • AWS アカウントで作成したすべてのセキュリティグループ間で一意である必要があります。

クラスタースナップショット識別子

  • クラスタースナップショット識別子には 255 文字以下の英数字またはハイフンを使用する必要があります。

  • 小文字のみを使用する必要があります。

  • Default」という文字列を使用することはできません。

  • AWS アカウントで作成したすべてのセキュリティグループ間で一意である必要があります。