ユーザーガイド > TDVキャッシング > キャッシュの要件と制限 > サポートされているキャッシュターゲットストレージタイプ
 
サポートされているキャッシュターゲットストレージタイプ
キャッシュされたデータは、データベーステーブルに、またはファイルとして保存できます。データベースキャッシングを使用すると、結果セットをデータベースに保存できるため、それ以降の結果セットの操作にかかる時間を大幅に短縮できます。キャッシュされた結果を他のビューで使用する場合、またはフィルタリングしたり並べ替えたりする場合は、キャッシュをデータベースに保存する必要があります。
1つのリソースからのデータを1つ以上のキャッシュターゲットにキャッシュできますが、複数のリソースが同じキャッシュターゲットを使用することはできません。
キャッシュされたリソースは、表形式で保存するのが最適です。リソースデータのスキーマは、選択したデータソーステーブルのスキーマと一致している必要があります。キャッシュデータベースにはソースよりも多くの列を含めることができますが、列のデータタイプが一致している必要があります。DDLを生成して、ビューまたはプロシージャの出力に一致するキャッシュテーブルを作成できます。
ファイルストレージオプションは、結果を他のビューで使用するために並べ替えたりフィルタリングしたりしない場合に最適です。ファイルキャッシュでは、インデックス情報は保存されません。また、SQL論理演算子とフィルターをデータソースにプッシュすることもできません。インデックス情報がないため、ビューのサブセットを選択する場合は、キャッシュされたビューをメモリーにロードして行単位でスキャンする必要があります。SQL操作は、TDVメモリー内のキャッシュされたデータに対して実行されます。
注意: 大きなファイルキャッシュビューに対する追加のクエリーを作成する場合は、フルテーブルスキャンのためにかなりの量のメモリーが必要になります。
TDVでは、キャッシュターゲットとして以下をサポートしています。
キャッシュターゲット
TDVのサポート
並列キャッシュターゲットのサポート
ネイティブキャッシュターゲットのサポート
注記
Amazon Redshift
アクティブ
アクティブ
アクティブ
 
Apache Hive 2.x
アクティブ
 
アクティブ
 
ファイル
アクティブ
アクティブ
 
一般的に、デモや数百行のキャッシュに最適です。
Google BigQuery
アクティブ
アクティブ
アクティブ
 
Greenplum 4.1
アクティブ
アクティブ
アクティブ
 
Greenplum 4.3
アクティブ
アクティブ
アクティブ
 
HSQLDB 2.2.9
アクティブ
アクティブ
 
 
IBM DB2 LUW v10.5
アクティブ
アクティブ
アクティブ
INSERTとSELECTによるネイティブロード、およびDB2ロードがサポートされています。
Microsoft SQL Server 2008
アクティブ
アクティブ
アクティブ
データのキャッシュを試みる前に、DBOスキーマを選択し、リソースとしてイントロスペクトする必要があります。
Microsoft SQL Server 2012
アクティブ
アクティブ
アクティブ
データのキャッシュを試みる前に、DBOスキーマを選択し、リソースとしてイントロスペクトする必要があります。
Microsoft SQL Server 2014
アクティブ
アクティブ
アクティブ
データのキャッシュを試みる前に、DBOスキーマを選択し、リソースとしてイントロスペクトする必要があります。
Microsoft SQL Server 2016
アクティブ
アクティブ
アクティブ
データのキャッシュを試みる前に、DBOスキーマを選択し、リソースとしてイントロスペクトする必要があります。
Microsoft SQL Server 2019
アクティブ
アクティブ
アクティブ
データのキャッシュを試みる前に、DBOスキーマを選択し、リソースとしてイントロスペクトする必要があります。
MySQL 5.1
アクティブ
アクティブ
アクティブ
 
MySQL 5.5
アクティブ
アクティブ
アクティブ
 
Netezza 6.0
アクティブ
アクティブ
アクティブ
INSERTとSELECTによるネイティブロードがサポートされています。並列キャッシュ処理は、ネイティブのDISTRIBUTE構文を使用して実行できます。
プロシージャキャッシュがサポートされています。
Netezza 7.0
アクティブ
アクティブ
アクティブ
INSERTとSELECTによるネイティブロードがサポートされています。並列キャッシュ処理は、ネイティブのDISTRIBUTE構文を使用して実行できます。
プロシージャキャッシュがサポートされています。
Oracle 10g
サポート対象
 
 
INSERTとSELECTによるネイティブロードがサポートされています。DBリンクによるネイティブロードはサポートされていません。
Oracle 11gと11g R2
アクティブ
アクティブ
アクティブ
 
Oracle 12c
アクティブ
アクティブ
アクティブ
 
Oracle 19c
アクティブ
アクティブ
アクティブ
 
PostgreSQL 9.1
アクティブ
アクティブ
アクティブ
一括ロードがサポートされています。
ソースとターゲットが同じデータベースの場合、ネイティブロードがサポートされます。データベースが異なる場合は、並列ロードが使用されます。
PostgreSQL 9.2.3
アクティブ
アクティブ
アクティブ
一括ロードがサポートされています。
ソースとターゲットが同じデータベースの場合、ネイティブロードがサポートされます。データベースが異なる場合は、並列ロードが使用されます。
SAP HANA SPS 09
アクティブ
アクティブ
 
 
Sybase ASE 12.5
アクティブ
 
 
 
Sybase ASE 15.5
アクティブ
 
 
 
Sybase IQ 15.2
アクティブ
 
アクティブ
 
Teradata 13
アクティブ
 
アクティブ
サポートされていますが、制限があります。
ソーステーブルとターゲットテーブルが同じTeradataインスタンス内の同じ場所に配置されている場合(INSERT/SELECTステートメントを使用)、ネイティブロードが使用されます。それ以外の場合は、Teradata FASTLOADを使用した一括ロードが試行されます。
Teradata 13.10
アクティブ
 
アクティブ
サポートされていますが、制限があります。
ソーステーブルとターゲットテーブルが同じTeradataインスタンス内の同じ場所に配置されている場合(INSERT/SELECTステートメントを使用)、ネイティブロードが使用されます。それ以外の場合は、Teradata FASTLOADを使用した一括ロードが試行されます。
Teradata 14.10
アクティブ
 
アクティブ
サポートされていますが、制限があります。Teradata 15ドライバーが必要な場合があります。
ソーステーブルとターゲットテーブルが同じTeradataインスタンス内の同じ場所に配置されている場合(INSERT/SELECTステートメントを使用)、ネイティブロードが使用されます。それ以外の場合は、Teradata FASTLOADを使用した一括ロードが試行されます。
Teradata 15
アクティブ
 
アクティブ
キャッシュ用のテーブルの選択はサポートされていません。
ソーステーブルとターゲットテーブルが同じTeradataインスタンス内の同じ場所に配置されている場合(INSERT/SELECTステートメントを使用)、ネイティブロードが使用されます。それ以外の場合は、Teradata FASTLOADを使用した一括ロードが試行されます。
Teradata 16.20
アクティブ
 
アクティブ
キャッシュ用のテーブルの選択はサポートされていません。
ソーステーブルとターゲットテーブルが同じTeradataインスタンス内の同じ場所に配置されている場合(INSERT/SELECTステートメントを使用)、ネイティブロードが使用されます。それ以外の場合は、Teradata FASTLOADを使用した一括ロードが試行されます。
ComputeDB
アクティブ
アクティブ
アクティブ
 
Vertica 6.1
アクティブ
アクティブ
アクティブ
ネイティブロードと並列キャッシュロードの併用をサポートしています。INSERTとSELECTによるネイティブロードがサポートされています。
すべてのキャッシュテーブルで、サポートされているその他すべてのデータテーブルのデータタイプがサポートされるわけではありません。そのため、特定のデータタイプを含む具体化されたビューは、そのデータベースでのキャッシングと互換性がありません。データタイプの不一致が発生すると、さらなる問題を防ぐために開発者に警告が表示されます。
キャッシュストレージに使用できるすべてのデータソースでDDLステートメントの生成または実行がサポートされるわけではありません。DDLを生成して表示できる場合もありますが、テーブルのメタデータを作成するために外部ツールを使用しなければならない場合があります。それ以外の場合、DDLは適用されないため、表示されません。