[SQLSERVER][SSIS]Oracle 2 SQL
由於近年金融機構整併風潮,所以台灣資料整合市場也比以前來的活絡
各大RDBMS廠商也極力開發資料整合套裝軟體,或合併其他優秀整合軟體公司來滿足客戶需求
就小弟知道如IBM併購Ascential、Oracle併購Sunopsis,當然在ETL龍頭寶座還是Informatica莫屬
,但該公司也是很注意這些後起之秀的威脅,OK!相關故事就到這裡了,畢竟我不太會說歷史淵源~~。
基於專案需求小弟最近在Survey相關ETL工具,專案資料來源有Access、Excel、SQL SERVER2000和Oracle
早期摸過ODI(Oracle Data Integrator)可說印象深刻(可不是好用才深刻~XD)
Oracle 2008年併購Sunopsis並推出ODI套裝軟體準備搶佔資料整合市場,但ODI整體我想只有軟體名稱改了
大部分都忠於Sunopsis架構及功能(連預設密碼都用Sunopsis.....Oracle似乎有點懶)
可能小弟已經習慣VS所以用起來只有"痛苦"二字可形容
,外加Oracle white paper喜歡搞得很複雜(頁數多重點少~~他X的!沒想到外國人也喜歡寫作文章)
所以這次就來體驗SSIS2008(官方介紹)在ETL方面的效果
是否能符合小弟最大原則~Simple、faster and High Performance
簡單測試Oracle data轉移到SQL2008
Source DB:Oracle 11g x64(11.7),筆數:117655
Destination DB:SQLSERVER 2008 x64
Using Microsoft Connector for Oracle by Attunity(須另外下載安裝)
在資料流程簡單拉出Oracle Source和Sql Destination兩個元件
編輯oracle source
編輯sql destination
執行(F5)
花費時間:107.375秒
Using OracleClient Data Provider
編輯ADO.NET source
編輯SQL SERVER destination
執行(F5)
花費時間:278.25秒
Using Oracle provider for OLE DB
編輯OLE DB source
編輯SQL SERVER destination
執行(F5)
花費時間:249.11秒
總表一覽
Data Provider | 花費時間(秒) | 記憶體用量 |
Attunity Oracle | 107.375 | 高 |
OracleClient | 278.25 | 低 |
Oracle provider for OLE DB | 249.11 | 低 |
結論:SSIS看來小弟比較上手,當初使用ODI實作異質資料轉換(one by one)我就搞了快一個禮拜(汗顏><)
但使用SSIS這需求只花我一天不到時間(人是習慣的動物一點都不假~XD)
SSIS符合小弟最大宗旨:simple and faster
至於Performance後續得在追蹤測試(不知道超過5百萬以上資料會如何??)。
補充:
測試筆數:5392572
花費時間:473.187秒,一秒約可以匯入11400筆,Attunity果然表現不凡
不過應該還可以更快,Disable PK、Unique index和trigger同時依CPU資源調整parallel參數,我想應該可以飛起來了
至於記憶體的用量還滿兇的,不過還好記憶體便宜所以一點也不痛。
後記:人總是這樣,總是會想應該還有更簡單的軟體吧!所以我用心的看完官方介紹果真發現(用心果然有收穫~哈)
SQL Server Migration Assistant,馬上下載來玩玩。
SSMA 2008 FOR ORACLE(簡單方便,從下載、安裝到作業完成花不到我一個小時)
連接ORACLE
連結SQL SERVER
Mapping Seting
Synchronize
Migrate Data
過程還好都很順利,軟體始終來自於人性。