ODI整體架構沒有Oracle Database復雜,因為它屬於程序功能的使用,更多是程序開發和配置的工作,當然ODI的優化涉及到很多數據庫優化的工作,從整體架構入手,基礎有了,整體把握就會簡單很多。
首先理解ODI組件的幾個組成部分、ODI資料庫,最后看組件與資料庫的關系。
ODI是一個數據整合的平台。簡單講,就是在不同信息系統或者數據庫之間做數據傳輸、轉換。ODI也是數據整合的一個開發平台,主要涉及2個方面:
1.ODI是服務驅動的模式,也可以理解為時商業驅動的模式,它更多關注怎樣符合業務規則,而不是把開發精力集中在技術層面。
2.ODI使用ELT方式在數據整合過程中,它自己本身不執行數據整合的處理,所以得執行都是在現有的信息系統或者數據庫中完成。
ODI 是基於元數據管理的。元數據資料庫存儲是信息系統或者數據庫信息以及它們的內容。它們被集中存儲在一個資料庫。
ODI 實現了簡單快速整合。簡單非簡約,快速非量小。
這個整個架構的核心組件就是資料庫(Repository).它存儲了IT架構的配置信息、所有應用、項目、情景和執行日志的元數據。資料庫可以安裝在一 個 RDBMS,也就是關系型數據庫上。資料庫也包含ODI架構的信息。管理員、開發人員、執行人員可以用ODI不同的操作界面來訪問資料庫。安全界面和拓撲 管理器界面用於管理架構,設計器用來做元數據反向或者反向工程以及項目開發、接口等,操作器用來調度和執行實時操作。
ODI分為設計階段和執行階段。在設計階段,開發者定義元數據、業務規則、約束。這個處理作業由Agent在現有信息系統中完成。它連接到 可用的服務器,並利用服務器執行代碼。它存儲所有返回的代碼和消息到資料庫中。它也存儲一些統計信息,像處理記錄的條數、處理時間等信息。
不同的資料庫是可以同時存在在同一個IT架構中。設計階段的資料庫和執行階段的資料庫是可以同時存在的。開發人員在designer中通 過把項目發布成情景傳輸給生產環境。在生產環境,這些情景被作業調度,被調度代理執行,調度代理存儲了所有資料庫的信息。Operator操作器是始終可 以實時訪問和監控數據整合的過程。業務用戶也可以像開發人員、管理員和操作員一樣,通過Web方式訪問ODI的資料庫。ODI有一個元數據導航功能,它是 一個J2EE的應用服務器,可以直接連接ODI資料庫。