Amazon Redshiftを分析ストレージとして使用する場合は、以下の点に注意してください:
- S3 (S3LOAD) を使用したデータのロードは、標準的な JDBC プロトコルを使用した Redshift へのデータ挿入が非常に遅くなる可能性があるため、あらゆる生産的な使用に対して設定する必要があります ;
- Redshift は
BLOB
またはCLOB
タイプをサポートしていません。 VARCHAR
タイプの最大長は 65534 バイトです。Redshift はVARCHAR
の長さをバイト単位で計算しますが、CData Virtuality Server を含む他のほとんどのSQL データベースは文字単位で計算します。
つまり、RedShift のvarchar(X)
フィールドは、特に国際的な文字が使用されている場合に、他のシステムの同等の型よりも少ない文字を格納できることがあります。
必要に応じて、トランスレータ・プロパティvarcharReserveAdditionalSpacePercent and truncateStrings
を使用して、Analytical Storage を構成してください;- Redshift のデフォルトのクエリ同時実行数 - 5同時クエリ - は、CData Virtuality Server では増やす必要があります。
少なくとも15同時クエリを許可することをお勧めします。
詳しくはAmazon Redshiftのドキュメントを参照してください:how to configure Query concurrency on Amazon Redshift . - Optimizationのためには、Redshiftは、
VACUUM
とANALYZE
コマンドを一定間隔で実行する必要があります。
これは、例えば以下のSQLジョブを毎晩実行するようにスケジューリングすることで実現できます。このクエリは、Redshift データソースがネイティブクエリをサポートするように構成されていることを前提としており、これはデータソース構成にトランスレータプロパティとして"supportsNativeQueries=TRUE"
を追加することで行われます。
CALL
"dwh.native"
(
"request"
=>
'COMMIT; VACUUM;'
);
CALL
"dwh.native"
(
"request"
=>
'COMMIT; ANALYZE;'
);