[轉]Oracle讀寫分離架構

來源:互聯網
上載者:User

From : http://www.easyora.net/blog/oracle_read_write_separated_architecture.html

       讀寫分離是架構分布式系統的一個重要思想。不少系統整體處理能力並不能同業務的增長保持同步,因此勢必會帶來瓶頸,單純的升級硬體並不能一勞永逸。針對業務類型特點,需要從架構模式上進行一系列的調整,比如業務模組的分割,資料庫的拆分等等。

       集中式和分布式是兩個對立的模式,不同行業的應用特點也決定了架構的思路。如互連網行業中一些門戶網站,出於技術和成本等方面考慮,更多的採用開源的資料庫產品(如MYSQL),由於大部分是典型的讀多寫少的請求,因此為MYSQL及其複製技術大行其道提供了條件。而相對一些傳統密集交易型的行業,比如電信業、金融業等,考慮到單點處理能力和可靠性、穩定性等問題,可能更多的採用商用資料庫,比如DB2、Oracle等。

       就資料庫層面來講,大部分傳統行業核心庫採用集中式的架構思路,採用高配的小型機做主機載體,因為資料庫本身和主機強大的處理能力,資料庫端一般能支撐業務的運轉,因此,Oracle讀寫分離式的架構相對MYSQL來講,相對會少。

       前段時間一直在規劃公司新的資料庫結構描述,考慮到我們的業務特點,採用Oracle讀寫分離的思路,Writer DB和Reader  DB採用日誌複製軟體實現即時同步; Writer DB負責交易相關的即時查詢和交易處理,Reader DB負責唯讀接入,處理一些非即時的交易明細,報表類的匯總查詢等。同時,為了滿足高可用性和擴充性等要求,對讀寫端適當做外延,比如Writer DB採用HA或者RAC的架構模式,Reader DB可以採用多套,通過負載平衡或者業務分離的方式,有效分擔讀庫的壓力。

       對於Shared-nothing的資料庫結構描述模式,核心的一個問題就是讀寫庫的即時同步;另外,雖然Reader  DB只負責業務查詢,但並不代表資料庫在功能上是唯讀。唯讀是從應用角度出發,為了保證資料一致和衝突考慮,因為查詢業務模組可能需要涉及一些中間處理,如果需要在資料庫裡面處理(取決與應用需求和設計),所以Reader  DB在功能上仍然需要可寫。

 

 

       下面談一下資料同步的技術選型問題:

       能實現資料即時同步的技術很多,基於OS層(例如VERITAS VVR),基於儲存複製(中高端儲存大多都支援),基於應用分發或者基於資料庫層的技術。因為資料同步可能並不是單一的DB整庫同步,會涉及到業務資料選擇以及多源整合等問題,因此OS複製和儲存複製多數情況並不適合做讀寫分離的技術首選。

       基於日誌的Oracle複製技術,Oracle自身組件可以實現,同時也有成熟的商業軟體。選商業的獨立產品還是Oracle自身的組件功能,這取決於多方面的因素。比如團隊的相應技術營運能力、項目投入成本、業務系統的負載程度等。

      採用Oracle自身組件功能,無外乎Logical Standby、Stream以及11g的Physical Standby(Active Data Guard),對比來說,Stream最靈活,但最不穩定,11g Physical Standby支援恢複與唯讀並行,但由於並不是日誌的邏輯應用程式機制,在讀寫分離的情境中最為局限。如果技術團隊對相關技術掌握足夠充分,而選型方案的處理能力又能支撐資料同步的要求,採用Oracle自身的組件完全可行。

     選擇商業化的產品,更多出於穩定性、處理能力等考慮。市面上成熟的Oracle複製軟體也無外乎幾種,無論是老牌的Shareplex,還是本土DSG公司的RealSync和九橋公司的DDS,或是Oracle新貴Goldengate,都是可供選擇的目標。隨著GoldenGate被Oracle收購和推廣,個人認為GoldenGate在容災、資料分發和同步方面將大行其道。

      當然,架構好一個可靠的分布式讀寫分離的系統,還需要應用上做大量設計,不在本文討論範圍內。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.