一張圖學會數據庫遷雲最佳路徑

摘要: 咱們以基於Oracle數據庫的應用系統上云爲例,如何根據實際需求,及不一樣的應用特徵,去選擇合適的上雲解決方案?看懂了如下這張圖,就能找到最適合你的應用系統整體的遷移上雲路徑。數據庫

傳統架構注重於硬件上的高可用,雲平臺經過分佈式架構已經確保自身服務的高可用,而且集成了備份,監控,HA,審計等一系列基礎運維服務,雲平臺採用直接就可用的服務方式提供,使用方隨時購買隨時就可用,無需考慮一系列繁瑣的底層運維,使用方能夠更加專一於業務上的研發。緩存

咱們以基於Oracle數據庫的應用系統上云爲例,如何根據實際需求,及不一樣的應用特徵,去選擇合適的上雲解決方案?看懂了如下這張圖,就能找到最適合你的應用系統整體的遷移上雲路徑。架構

1

遷雲項目耗時耗力,遷移改造效率很低。阿里雲專家提供上雲全方位服務,下降上雲技術風險和資源成本。包括在線業務系統上雲、離線業務大數據上雲、技術支撐、應用上雲實施、數據遷移實施、大數據實施等。併發

1. 直接遷移上雲
對於應用系統是否可直接遷移上雲主要看數據庫是否去O,是沿用原有的Oracle數據庫仍是採用阿里雲提供的數據庫,主要從如下幾個方面判斷:運維

  • 系統的複雜度。應用對數據庫特徵強依賴,以及應用層對數據庫的強耦合會致使去O的難度和風險增長。若是去O的難度和風險達到不可控範圍,則能夠考慮直接遷移上雲;
  • 遷移週期要求。應用系統去O會帶來更長的遷移週期,若對應用系統遷移上雲遷移的週期有嚴格的要求,則能夠選擇直接遷移上雲;
  • 性能要求。相對而言,採用直接遷移上雲的方式對數據庫的性能會有所限制,同時數據庫的性能擴展空間有限,因此選擇直接遷移上雲方式的應用必須考慮在規劃的系統運行週期內性能上無較大規模的擴展要求。
  • 高可用要求。採用直接遷移上雲方式是在ECS上部署Oracle數據庫環境,數據庫的高可用由用戶來保障;若採用阿里雲產品,則數據庫的高可用可有阿里雲保障。因此,直接遷移上雲後數據庫的高可用級別是否可以達到實際應用的運行要求也是判斷應用是否直接遷移上雲的重要方面。

1.1低性能要求分佈式

應用系統對數據庫的IOPS性能要求較低(小於20000)且以IO讀爲主、延時在毫秒級,認爲是低性能要求的。在遷移上雲方案上可採用在ECS(存儲採用雲盤)上直接部署Oracle構建數據庫,具體遷移上雲方法:工具

1) 應用層基於ECS部署運行環境,應用程序直接遷移,同時修改應用程序的數據庫鏈接;性能

2) 數據層基於ECS部署Oracle數據庫,Oracle的數據存儲採用ECS提供的雲磁盤。數據庫的遷移直接經過RMAN實現快速遷移。大數據

1.2. 高性能要求阿里雲

應用系統對數據庫的IO讀寫性能要求高(大於20000)、延時在微秒級之內,認爲是高性能要求的,在遷移上雲方案上考慮採用ECS(採用本地SSD存儲)上直接部署Oracle構建數據庫,具體遷移上雲方法:

1) 應用層基於ECS部署運行環境,應用程序直接遷移,同時修改應用程序的數據庫鏈接;

2) 數據層基於ECS部署Oracle數據庫,Oracle的數據存儲採用ECS提供的SSD磁盤。數據庫的遷移直接經過RMAN實現快速遷移。

若是考慮到高可用的要求,能夠配置一個相同的ECS實例爲數據庫的備機,主備之間經過Oracle Data Guard作數據同步,當主機宕機後,備機能夠接管服務,切換時間一般在分鐘級別。

自建的數據庫系統,計劃將數據遷移至阿里云云數據庫,須要阿里雲數據庫專家評估方案,協助完成數據庫遷移工做。雲數據庫實例間的數據遷移,須要阿里雲專業DBA協助完成遷移工做。

2. 改造遷移上雲

對於傳統應用系統,其原有的架構設計和採用的數據庫、中間件與阿里雲產品存在較大的差別,對於這種狀況,須要對原有應用系統進行改造後遷移上雲。針對不一樣類型的應用系統,其改造的方案也有所不一樣,通常將應用系統分爲OLTP類型、OLAP類型、內容管理類型以及大數據應用類型四個大類。

2.1. OLTP類型

聯機事務處理(OLTP)類型應用屬於業務交易型系統,在各個行業內佔有絕大多數比重。對於OLTP中低性能要求的通用應用,數據庫可直接採用RDS。在實際遷移上雲過程當中涉及到數據庫從Oracle向RDS的MySQL數據庫的遷移。爲了獲得更好的性能,須要對待遷移系統所使用的Oracle特性進行轉換,以適配RDS數據庫,進行應用系統代碼改造。

對於數據庫性能要求高,但數據規模要求不高的關鍵應用,可經過引入數據緩存或採用讀寫分離的方式對RDS作性能擴展。引入數據緩存是採用阿里雲Redis緩存服務,將部分查詢數據加載至分佈式緩存中,減小RDS的數據查詢次數,提高系統的數據查詢併發效率和下降響應時間。

讀寫分離是採用分佈式方式實現對數據庫的讀和寫的職能進行分離,寫數據請求主要發生在主庫,讀請求訪問只讀庫,能夠根據需求對只讀庫進行擴展,以實現總體請求性能的提高。

對於數據庫性能和數據規模要求都高的應用,可經過DRDS(分佈式RDS)實行對數據庫性能或規模的擴展。DRDS是經過水平切分的方式,將數據分佈在多個RDS實例上,經過並行的分佈式數據庫操做來實現性能的提高。以下圖所示。

2

總的來講,經過遷移到RDS、引入數據緩存、分庫分表、讀寫分離等多種方式能夠以水平擴展方式取代原有的數據庫架構,而且得到更好的性能和擴展性。

2.2. OLAP類型

聯機分析處理(OLAP)類型系統是數據倉庫系統最主要的應用,專門設計用於支持複雜的分析操做,側重對決策人員和高層管理人員的決策支持,能夠根據分析人員的要求快速、靈活地進行大數據量的複雜查詢處理,而且以一種直觀而易懂的形式將查詢結果提供給決策人員。阿里雲針對OLAP類型應用的規模大小有不一樣的解決方案:

小規模系統。這類OLAP系統僅僅針對具體某一類業務的歷史數據進行實時分析,通常數據在幾百GB的規模,分析的數據維度在十幾個之內。對於這類應用系統,其數據庫直接採用RDS,並在RDS之上構建OLAP分析工具。

大規模實時分析。這類OLAP系統面向數據存儲規模在100TB級別,單表記錄數達到千億級別,阿里雲提供分析數據庫服務(Analytic Database Service,簡稱ADS),能夠在毫秒級針對千億級數據進行即時的多維分析透視和業務探索。還可直接嵌入業務系統爲終端客戶提供分析服務。

此外,對於內容管理類型以及大數據應用類型的應用系統,阿里雲提供OSS、ODPS、OTS及專家服務,爲遷雲提供更專業支持。

相關文章
相關標籤/搜索