拓撲結構的創建與配置
一、概念解釋
Topology Manager主要用來管理下面5類任務,並將信息存儲在主資料庫中,供所有模塊共享使用。
物理體系結構:
定義各種技術及其數據服務器、物理架構、物理代理。數據服務器瞎可以建立多個物理方案,每個物理方案的實質就是schema。
邏輯體系結構:
定義各種技術及其關聯的邏輯架構、邏輯代理。一個邏輯方案需要基於一個或幾個物理方案,實質上就是一層抽象,是物理方案的別名。
上下文:
上下文的主要目的是實現邏輯方案多物理方案的多對多關系,比如同一邏輯架構在不同上下文情況下可以對應不同的物理方案。
語言:
不同技術所能采用的語言特性。
代理:
代理是一個JAVA 組件組件建,也分為物理代理和邏輯代理兩層,通常它需要在目標庫上運行(也可以在非目標庫上運行),作用是對數據遷移JOB 進行調度,通常,它只是從執行資料庫檢索代碼,並請求數據庫服務器、操作系統或腳本引擎執行代碼。
資料庫:
包含主資料庫及其附屬的工作資料庫。Master Repository,保存企業所有IT資源的Topology,保存項目和數據模型的安全信息、版本信息,供ODI圖形模塊等使用。通常創建一個即可。Master Repository要盡可能獨立存儲,單獨的Instance,或單獨的Schema。Work Repository,保存項目和數據模型,供ODI圖形模塊等使用。可創建多個。一個Work Repository只能連接一個Master Repository。一個Schema只能存儲一個Work Repository,不過Master Repository倒可與其安裝在同一Schema。
二、創建物理體系架構
2.1. 創建源數據庫和目標數據庫
這里分別使用sakila和sakila_dwh作為源數據庫和目標數據庫。
sakila_dwh 數據倉庫樣例
創建用戶
CREATE USER sakila IDENTIFIED BY 'sakila'; GRANT ALL PRIVILEGES ON sakila.* TO sakila; CREATE USER sakila_dwh IDENTIFIED BY 'sakila_dwh'; GRANT ALL PRIVILEGES ON sakila_dwh.* TO sakila_dwh;
2.2. 創建數據服務器
Step1:點擊拓撲->物理體系結構->選擇MySQL->右鍵選擇新建數據庫服務器:
Step2:指定數據庫服務器的定義:
名稱:sakila
數據庫服務器:localhost
連接(數據庫的用戶和密碼,該用戶的權限應高於或等於數據所在schema的權限)
用戶:sakila
口令:sakila
Step3:指定數據庫服務器的JDBC:
JDBC驅動程序:com.mysql.jdbc.Driver
JDBC URL:jdbc:mysql://localhost:3306/sakila
相同的操作建立數據服務器sakila_dwh
最后效果如圖所示
2.3. 創建物理方案
Step1:在新建好的數據服務器sakila上點右鍵選擇新建物理方案:
Step2:創建源數據庫的物理方案,方案中均選擇剛才在MySQL中代表源數據的sakila,
目錄:sakila (表示該物理方案應連接到的源數據schema,也就是源數據在哪里)
工作目錄:sakila(這里指定了之后在數據遷移過程中,需要創建的臨時表的存放 地點)
稍后再配置上下文,點擊全部保存:
同理為目標數據庫創建物理方案,方案選擇剛才創建的sakila_dwh,點擊全部保存
最后的效果如下
2.4. 創建邏輯方案
Step1: 點擊拓撲->邏輯體系結構->選擇MySQL->右鍵選擇新建邏輯方案:
Step2:創建邏輯方案sakila,這里可以使用ODI 已建好的上下文Global,也可以自己使用下面自己創建的上下文。物理方案對應到剛才創建好的源數據物理方案sakila.sakila,點擊全部保存。此時點擊物理方案sakila.sakila,會發現上下文自動已經配置上了。這里實際反映了物理方案-上下文-邏輯方案直接的關系,這種設計的目的是為了實現物理與邏輯上的分離。實現一個邏輯方案可以根據開發、生成等不同上下文,關聯到不同的物理方案,而同一物理方案也可以支撐多個邏輯方案這種靈活的配置需要。
Step3:同理創建邏輯方案sakila_dwh,物理方案對應到剛才創建好的源數據物理方案sakila_dwh.sakila_dwh,點擊全部保存,最終效果如下
三、新建上下文
在系統中已經有了一個上下文Global,我們可以采用此上下文,也可以新建。
填入名稱和代碼,這里develop表示開發環境,代理先不填,保存效果如下
四、創建代理
代理同樣需要創建物理代理和邏輯代理,如果是在本地進行開發,暫時不需要創建代理。
4.1創建物理代理
參照Configuring the Domain for the Java EE Agent
4.2創建邏輯代理
上下文選擇剛剛創建的Develop,物理代理方案選擇剛才創建的OracleDIAgent
至此,拓撲結構就配置完成了,下面可以新建項目、模型、然后設計接口進行ETL了。