Oracle BIサーバーのアーキテクチャについて

Oracle BIサーバー・コンポーネントでは、基礎となるデータ・ソースのユーザー・リクエストおよび問合せを処理します。

Oracle BIサーバーは、論理データ・モデルを維持し、そのモデルへのODBC接続またはネイティブAPI (Oracle DatabaseのOCIなど)を使用したアクセスをクライアントに提供します。

Oracle BIサーバーでは、Oracle BIリポジトリ内のメタデータを使用して、次の2つのタスクを実行します。

  • 論理SQL問合せを解析し、適切なデータ・ソースに対する対応する物理問合せを作成します。

  • 物理結果セットを変換および結合し、最終的な計算を実行します。

管理ツール・クライアントは、Oracle BIリポジトリの作成や編集に使用できるWindowsアプリケーションです。管理ツールは、オフライン・モードでリポジトリに直接接続することも、Oracle BIサーバーを経由してリポジトリに接続することもできます。オンライン・モードで使用できるのは一部のオプションのみです。オンラインとオフラインのリポジトリ・モードの使用を参照してください。

この図は、Oracle BIサーバーが問合せクライアント、データ・ソース、Oracle BIリポジトリおよび管理ツールとどのように連携するかを示しています。

この例は、Oracle BIサーバーが論理SQL問合せをどのように解析および変換するかを示しています。

論理リクエストから複雑な物理問合せへの変換

Oracle BIサーバーが次の単純なクライアント・リクエストを受け取るとします。

SELECT
"D0 Time"."T02 Per Name Month" saw_0,
"D4 Product"."P01 Product" saw_1,
"F2 Units"."2-01 Billed Qty (Sum All)" saw_2
FROM "Sample Sales"
ORDER BY saw_0, saw_1

Oracle BIサーバーはその後、次のように論理SQL問合せを高度な物理問合せに変換します。

WITH SAWITH0 AS (
select T986.Per_Name_Month as c1, T879.Prod_Dsc as c2,
   sum(T835.Units) as c3, T879.Prod_Key as c4
from
   Product T879 /* A05 Product */ ,
   Time_Mth T986 /* A08 Time Mth */ ,
   FactsRev T835 /* A11 Revenue (Billed Time Join) */
where ( T835.Prod_Key = T879.Prod_Key and T835.Bill_Mth = T986.Row_Wid)
group by T879.Prod_Dsc, T879.Prod_Key, T986.Per_Name_Month
)
select SAWITH0.c1 as c1, SAWITH0.c2 as c2, SAWITH0.c3 as c3
from SAWITH0
order by c1, c2