データベースでのデータソース・キャッシュの作成
大規模なデータソースの場合は、データソース・キャッシュをデータベースに構成すると、より優れたパフォーマンスを得られます。
-
BIサーバーがデータソースに対する論理SQL文を受け取ります。
-
BIサーバーはデータソースのメタデータを取得します。メタデータの内容を使用して、BIサーバーは、データソースのデータをリクエストするかわりに、問合せへの応答に使用可能な既存のデータソース・キャッシュ・エントリが存在するかどうかをチェックします。データソース・キャッシュを使用できるサブリクエストはすべて、キャッシュ・データベースのネイティブ物理SQLに再書込みされます。
-
いずれのデータソースにも既存のデータソース・キャッシュ・エントリがない場合、BIサーバーは、データソースのデータをキャッシュ・データベースにロードするスレッドを開始します。各データソースは、データソースのすべての列を含む単一のデータベース表に変換されます。
-
論理SQL文(および同じデータソースのデータを要求する他のすべての同時論理SQL文)は、スレッドの終了を待機します。
-
スレッドの実行が完了すると、新たにシードされたデータソース・キャッシュ・エントリに依存するすべてのサブリクエストが、キャッシュ・データベースのネイティブ物理SQLに再書込みされます。
データ・ウェアハウスとは異なるデータベースでのデータソース・キャッシュの構成
-
キャッシュ・データベースを表す物理オブジェクトをリポジトリに作成します。これには、新規データベース・オブジェクト、新規物理スキーマ・オブジェクトおよび新規接続プールが含まれます。この例では、データベース・オブジェクトの名前はXSACache、接続プールの名前はCP、新規物理スキーマ・オブジェクトの名前はXSA_CACHEです。
-
接続プールで使用されるユーザー名は、スキーマの名前と同じである必要があります。
-
接続プールに指定されているユーザーは、スキーマ内の表に対してDDLおよびDMLを実行するために必要な権限を持っている必要があります。たとえば、Oracleでは、ユーザーは少なくとも
CREATE TABLE
権限を持っている必要があります。
-
-
NQSConfig.INI
のXSA_CACHE
セクションにあるパラメータを、適切なスキーマおよび接続プールを指し示すように更新します。[XSA_CACHE] ENABLE = YES; # The schema and connection pool where the XSA data is cached. # Set PHYSICAL_SCHEMA to ""."" to use file-based XSA cache. PHYSICAL_SCHEMA = "XSACache"."XSA_CACHE"; # "<Database>"."<Schema>"; CONNECTION_POOL = "XSACache"."CP"; # "<Database>"."<Connection Pool>"; # The path to the location where descriptor files of the cache data is persisted. # If a relative path is specified, it is relative to: # BI_DOMAIN/servers/obisn DESCRIPTOR_STORAGE_PATH = "xsacache"; # location where the cache metadata files are stored
-
BIサーバーを再起動します。
-
データソース・キャッシュが正しく構成されていることを検証するには、
obis1-diagnostic.log
をチェックします。サーバー起動時に、次のようなエントリを探します。[2017-01-13T14:41:30.715-07:00] [OracleBIServerComponent] [NOTIFICATION:1] [] [] [ecid: ] [tid: 81c8] [101001] External Subject Area cache is started successfully using configuration from the repository with the logical name Star. [2011-01-13T14:41:30.716-07:00] [OracleBIServerComponent] [NOTIFICATION:1] [] [] [ecid: ] [tid: 81c8] [101017] External Subject Area cache has been initialized. Total number of entries: 0 Used space: 0 bytes Maximum space: 107374182400 bytes Remaining space: 107374182400 bytes. Cache table name prefix is XC2627531314.
データソース・キャッシュを有効にすると、データソースのデータがデータベースに格納されます。ただし、メタデータは、NQSConfig.INI
のXSA_CACHE
セクションにあるDESCRIPTOR_STORAGE_PATH
パラメータで指定された、ローカル・ファイル・システムのディレクトリに格納されます。パフォーマンスを向上させるには、データソース・キャッシュのメタデータ・ファイルをRAMディスクに配置します。
データ・ウェアハウスと同じデータベースでのデータソース・キャッシュの構成
-
キャッシュ・データベースを表す物理オブジェクトをデータ・ウェアハウス・データベース・オブジェクトのリポジトリに作成します。これには、新規物理スキーマ・オブジェクトおよび新規接続プールが含まれます。この例では、新規接続プールの名前はXSA Cache Connection Poolで、物理スキーマ・オブジェクトの名前はXSA_CACHEです。
アプローチとしては、データ・ウェアハウスの接続プールで、別のスキーマに作成されたデータソース・キャッシュ表に問合せを実行できるようにしながら、データソース・キャッシュのシードおよびパージ専用の接続プールを設定します。管理を単純化するには、データソース・キャッシュ・スキーマに専用の表領域を設定することが理想的です。
-
新規接続プールで使用されるユーザー名は、新規スキーマの名前と同じである必要があります。
-
新規接続プールに指定されているユーザーは、新規スキーマ内の表に対してDDLおよびDMLを実行するために必要な権限を持っている必要があります。たとえば、Oracleでは、ユーザーは少なくとも
CREATE TABLE
権限を持っている必要があります。 -
元のデータ・ウェアハウス接続プールに指定されているユーザーは、新規スキーマ内の表の
SELECT
に必要な権限を持っている必要があります。たとえば、Oracleでは、既存のデータ・ウェアハウス接続プールのユーザーは少なくともSELECT ANY TABLE
権限を持っている必要があります。 -
データソース・キャッシュ接続プールをデータベース・オブジェクトのプライマリ接続プールにしないでください。つまり、データソース・キャッシュ接続プールは、データ・ウェアハウスの問合せに使用されるデータ・ウェアハウス接続プールの後に配置されている必要があります。
-
-
NQSConfig.INI
のXSA_CACHE
セクションにあるパラメータを、適切なスキーマおよび接続プールを指し示すように更新します。[XSA_CACHE] ENABLE = YES; # The schema and connection pool where the XSA data is cached. # Set PHYSICAL_SCHEMA to ""."" to use file-based XSA cache. PHYSICAL_SCHEMA = "Oracle Data Warehouse"."Catalog"."XSA_CACHE"; # "<Database>"."<Schema>"; CONNECTION_POOL = "Oracle Data Warehouse"."XSA Cache Connection Pool"; # "<Database>"."<Connection Pool>"; # The path to the location where descriptor files of the cache data is persisted. # If a relative path is specified, it is relative to: # BI_DOMAIN/servers/obisn DESCRIPTOR_STORAGE_PATH = "xsacache"; # location where the cache metadata files are stored
-
BIサーバーを再起動します。
-
データソース・キャッシュが正しく構成されていることを検証するには、
obis1-diagnostic.log
をチェックします。サーバー起動時に、次のようなエントリを探します。[2017-01-13T14:41:30.715-07:00] [OracleBIServerComponent] [NOTIFICATION:1] [] [] [ecid: ] [tid: 81c8] [101001] External Subject Area cache is started successfully using configuration from the repository with the logical name Star. [2011-01-13T14:41:30.716-07:00] [OracleBIServerComponent] [NOTIFICATION:1] [] [] [ecid: ] [tid: 81c8] [101017] External Subject Area cache has been initialized. Total number of entries: 0 Used space: 0 bytes Maximum space: 107374182400 bytes Remaining space: 107374182400 bytes. Cache table name prefix is XC2627531314.
データソース・キャッシュを有効にすると、アップロードされたファイルのデータがデータベースに格納されます。ただし、メタデータは、NQSConfig.INI
のXSA_CACHE
セクションにあるDESCRIPTOR_STORAGE_PATH
パラメータで指定された、ローカル・ファイル・システムのディレクトリに格納されます。パフォーマンスを向上させるには、データソース・キャッシュのメタデータ・ファイルをRAMディスクに配置することをお薦めします。