容災技術介紹

哎呀我的天吶發表於2015-01-02

san:儲存區域網路。
lan:本地區域網路。


硬體:EMC最牛
基於儲存層的容災複製方案
·基於SAN的儲存區域網進行復制,複製針對每個IO進行。
· 系統可以實現資料的同步或非同步兩種方式的複製 一般配置成非同步的,每隔5 或10分鐘同步。 對大資料量的系統來說有很大的優勢(每天日誌量在60G以上) , 但是對主機、作業系統、資料庫版本等要求一致 且對硬體、網路環境的要求比較高。
·目標系統不需要有主機,只要有儲存裝置就可以,如果需要目標系統可讀,需要額外的配置和裝置,比較複雜。
國稅 地稅用的就是EMC儲存。



·基於邏輯卷的容災複製方案(用的比較少)
·基於TCP/IP的網路環境進行復制,由作業系統程式捕捉邏輯卷的變化進行復制。
·其特點與基於儲存裝置的複製方案比較類似,也可以選擇同步或非同步兩種方式,對主機的軟、硬體環境的一致性要求也比較高,對大資料量的應用比較有優勢。
·目標系統如果要實現可讀,需要建立第三方映象。
·這種技術和上面提到的基於儲存的複製技術比較適合於超大資料量的系統,或者是應用系統的容災複製。
主機發現陣列被修改,捕捉到,然後再另外的主機對應的陣列修改,通過網路傳輸。那個橫線就是網路啦。

軟體:
基於oracle redo log的邏輯複製方式
·  Oracleredo log記錄了所有對資料塊造成改變的事務資訊,提供了recovery的機制。
·   把生產庫的日誌條目傳遞到目標資料庫,在目標資料庫端進行與生產庫相同的操作,以此來實現資料同步。
·  基於此複製方式的軟體有: Oracle的DataGuard 、Stream、GoldenGate;QUEST公司、DSG(中國)、九橋軟體公司等等。
·   工作原理與流程   
這類產品的原理基本相同,其工作過程可以分為以下幾個流程:
1) 使用oracle以外的獨立程式 捕捉redo logfile 的資訊,將其翻譯成SQL語句,再通過網路傳輸到目標端資料庫,在目標端資料庫執行同樣的SQL語句,以此實現同步。(這就是在網路上傳輸的是sql的原因)
2) 生產庫日誌必須是歸檔的,如果其程式趕不上oracle日誌切換,也可以捕捉歸檔日誌中的內容。 也有的產品 在源端以事務為單位, 當一個事務完成後 ,再把SQL傳輸到目標端。軟體以事務為單位,當事務提交才傳送。
·   產品間的差異   
3)Oracle 的DG是以資料庫為單位進行復制,可以同步整個資料庫。(以資料庫為單位,有些表不需要,我只要同步關鍵的表,那就用到ogg了。)
4) 其它的產品 一般都是 以表為單位進行復制,同時也支援大部分DDL的複製。
目標庫也同樣建立相同的表,進行DDL操作。

·  技術特點和優勢
這種技術的技術特點和優勢主要有以下幾點:
1)目標端資料庫一直是一個可以訪問的資料庫(11g的DG支援)。
2)能保證兩端資料庫的事務一致性。
3) 因為使用oracle以外的程式進行捕捉, 且其優先順序低於oracle程式,所以對源系統資料庫的效能影響很小。
4)基於其實現原理及多個佇列檔案的使用,複製環境可以提供網路失敗、資料庫失敗、主機失敗的容錯能力;(支援斷點續傳)
5)sql語句和redo日誌不是一回事,因為這類軟體複製的只是SQL語句或事務,把捕捉到的日誌翻譯成sql然後傳遞。所以 他可以完全支援異構環境的複製 硬體的型號,oracle的版本,作業系統的種類、版本等可以不同 。區別於日誌條目。市場比例80%以上。oracle把sql變成日誌條目,我們做的同步的時候,是相反的操作,講redo翻譯成sql。
6)支援多種複製方式,比如資料集中、分發、雙向複製複製、或者多層次的複製等。
7)由於傳輸的內容只是redolog 或archivelog中的一部分,所以對網路資源的佔用很小,可以實現 不同城市之間的 遠端複製。 

雙向複製的好處就是,兩地都能看到對方的資料。
廣播的壞處就是,主機的壓力較大,用多級複製代替。

· 缺點與限制
基於redolog的邏輯複製產品有很多的優勢,但跟上面提到過的其他方案比較起來,也有一些缺點:
1)資料庫的吞吐量太大時,會有較大的延遲,當資料庫每天的日量達到60G或更大時,這種方案的可行性較差;
2)複製環境建立起來以後,對資料庫結構上的一些修改需要按照規定的操作流程進行,有一定的維護成本。如果新建立表空間,那麼從庫也得建立表空間。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-1387654/,如需轉載,請註明出處,否則將追究法律責任。

相關文章