陳冠銓
Middleware Technologies QMirror技術顧問,曾任中菲電腦應用系統部經理、九九科技總經理、台灣IBMSAP專業顧問,以及立德電子資訊處長



針對專屬系統,要做到異質平臺的資料庫同步,相較於一般作業系統,難度高出許多。AS/400系統的封閉特性,造就它的高度安全性與穩定性,但也因為使用特殊的資料編碼,使得複製資料的工作顯得困難重重。

在329期iThome電腦報周刊中,我們發現已經有企業找到解決方案,例如味丹公司正在使用的QMirror。這套系統是由Middleware Technologies公司研發,可以在不更動AS/400系統的情況下,即時將DB2資料庫的內容,複製到一般Windows或Linux等開放系統下的Oracle、SQL Server或MySQL等資料庫。Middleware Technologies 技術顧問陳冠銓說,如果在AS/400上安裝代理程式(Agent),可能影響效能或衍生其他的問題,QMirror不用安裝代理程式是很大的優勢。

問:簡單解釋QMirror的功能?
答:QMirror的功能是把AS/400上DB2的資料,即時地複製到一般Windows與Linux系統的資料庫。

若認真剖析報表、資料倉儲、行動化機制或網站等,你會發現其實多數應用,需要的是DB2的資料,而不是AS/400的硬體,所以如果DB2的資料可以複製出來,就不用瓜分AS/400昂貴的資源了。

問:為什麼AS/400需要特別設計一套軟體,把資料複製到另一臺開放的系統?
答:AS/400是很封閉的系統,優點是很安全而且穩定,缺點就是跟現今的Web應用、資料倉儲、行動化應用、報表及商業智慧等應用的結合性不佳。

另一個問題在於一般的x86電腦很便宜,所以利用AS/400作為Web伺服器實在說不過去。如果要開發大量的BI報表,運用AS/400有兩種選擇,一種是再買一臺AS/400,但成本過高;或者是同一臺AS/400切割不同磁區,但仍需加裝硬體資源,費用還是很昂貴。

再者IT人員通常不會想直接由AS/400產出報表,一來是格式呆板、沒有變化,難以應付現今複雜的分析需求;二來,Windows平臺上相關的軟體很多,圖形化的介面易學易用。

此外,人力成本也是企業需要考量的因素。AS/400的人才難尋,所以如果能夠把資料複製出來,那麼就可以直接聘用Windows與Linux等開放系統的人才,以及SQL Server和Oracle等資料庫人才,讓企業IT在找人上有很多選擇的空間。

問:那麼在沒有QMirror的情況下,過去如何從AS/400複製資料到開放系統?
答:最簡單的方法就是什麼都不做,負責AS/400的IT人員,通常傾向保守的作法,因為複製DB2的資料很麻煩。麻煩的部分在於,AS/400不是採用ASCII格式,而是使用IBM專屬的編碼──EBCDIC(Extended Binary Coded Decimal Interchange Code),如果用Binary格式把資料抓下來,會變成亂碼;如果以ASCII格式抓下來,AS/400確實可以轉換資料編碼,但中文的部分還是會變成亂碼。

其次,儲存在AS/400的資料如果是數字,為了節省空間,多數不是以字串儲存,而是以Binary或者浮點數(Float)等方式儲存,所以必須再透過一些程序加工,才能正常顯示。

另一個方法是用ODBC,不過效率不高。如果資料量大或檔案結構複雜,勢必拖慢AS/400的效能,當線上的回應速度變慢,使用者就會受不了,所以報表便成為企業很大的問題。

問:QMirror如何解決AS/400這方面的難題?
答:QMirror的設計是用來做多個AS/400與開發系統伺服器的資料抄寫,可以一對一、一對多、多對一,或者多對多的抄寫。

以多對一的架構來看,多據點的企業,各臺AS/400的資料若要做合併報表,可利用QMirror即時抄寫到同一臺資料庫。再以一對多為例,總公司AS/400的資料,可以依使用者設定的篩選條件,再同步到各分公司的資料庫,方便分公司分析運用。

我們可以從架構上來看,QMirror本身有一個系統資料庫,用以儲存相關設定,它可以連結到AS/400的V3、V4及V5等版本,並串連到開放系統的資料庫伺服器。

由於QMirror占用的系統資源不多,所以儲存設定的QMirror伺服器,與連結QMirror的用戶端,甚至同步資料庫都可以安裝在同一臺電腦。若是有多臺AS/400和同步資料庫,可由一個QMirror伺服器集中管理,設定完成之後,QMirror即自動執行同步作業。

問:市場上異質資料庫的同步工具不少,QMirror有何不同?
答:市場上異質資料庫的同步工具確實不少,但針對AS/400之類的專屬系統所推出的工具,其實沒幾家。事實上,IBM也清楚AS/400的客戶有這類的需求,因此也有解決方案,不過,IBM的產品需要在AS/400上安裝代理程式。

由於AS/400的建置成本很高,代理程式運作時,如果因此占用20%的系統資源,那麼等於企業1,000萬的投資中,有200萬是花費在資料同步工作。這對企業而言並不划算,因此,不必安裝代理程式便是QMirror的一大優勢。

問:不裝代理程式,如何與AS/400同步資料?
答:要做到「即時」而非「定時」的同步,有「聽」和「問」兩種作法。聽就是裝代理程式在主機上,一旦發現資料有異動,便通知外部系統取資料。

而QMirror是採用「問」的方法,也就是QMirror每隔一段時間詢問一次AS/400有沒有異動。這方面QMirror具備自動調校的能力,當它偵測到AS/400處於忙碌狀態,就會降低詢問的頻率,以免影響核心系統的運作。

問:QMirror的安裝及使用有哪些步驟?
答:安裝程式只有一個檔案,而且在同步資料庫及AS/400兩端,都不需要安裝軟體。在一般的情況下,IBM必須提供一套CA/400(Client Access/400)的軟體,用以讓外部系統與AS/400交換資料,但QMirror不需要安裝CA/400。

QMirror的介面是一個命令提示列,資料內容支援日文、韓文及中文等所有的雙位元文字(Double Byte)。執行的過程包括指定QMirror的系統資料庫、IP位址、資料庫帳號/密碼,然後是連結AS/400的IP位址、帳號/密碼,最後是同步資料庫的IP位址及帳號/密碼。

問:QMirror的介面為什麼設計為命令提示列?
答:命令提示列的操作介面,對於習慣圖形使用者介面的人,可能會有一點不適應,但對於AS/400的IT人員,反而是比較熟悉的操作模式。

命令提示列的另一個好處,省去肥大的圖形介面程式,QMirror的執行程式很小,不會造成電腦的負擔。

問:QMirror與AS/400資料的時間差為30秒,是指30秒更新一次嗎?
答:QMirror與AS/400資料的時間差平均是30秒,是指當AS/400的資料發生異動時,平均30秒左右,目標伺服器隨之也會同步。不過,時間的長短可能因頻寬或AS/400的效能而有所差異,可能更快,也可能要等待更久。例如當AS/400的負荷滿載時,敲任何指令都不會有反應,這種情況之下,QMirror也會受影響。文⊙李延華

熱門新聞

Advertisement