一張圖學會資料庫遷雲最佳路徑
傳統架構注重於硬體上的高可用,雲平台通過分散式架構已經確保自身服務的高可用,並且集成了備份,監控,HA,審計等一系列基礎運維服務,雲平台採用直接就可用的服務方式提供,使用方隨時購買隨時就可用,無需考慮一系列繁瑣的底層運維,使用方可以更加專註於業務上的研發。
我們以基於Oracle資料庫的應用系統上云為例,如何根據實際需求,及不同的應用特徵,去選擇合適的上雲解決方案?看懂了以下這張圖,就能找到最適合你的應用系統總體的遷移上雲路徑。
遷雲項目耗時耗力,遷移改造效率很低。阿里雲專家提供上雲全方位服務,降低上雲技術風險和資源成本。包括在線業務系統上雲、離線業務大數據上雲、技術支撐、應用上雲實施、數據遷移實施、大數據實施等。
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實例上,通過並行的分散式資料庫操作來實現性能的提升。如下圖所示。
總的來說,通過遷移到RDS、引入數據緩存、分庫分表、讀寫分離等多種方式可以以水平擴展方式取代原有的資料庫架構,並且獲得更好的性能和擴展性。
2.2. OLAP類型
聯機分析處理(OLAP)類型系統是數據倉庫系統最主要的應用,專門設計用於支持複雜的分析操作,側重對決策人員和高層管理人員的決策支持,可以根據分析人員的要求快速、靈活地進行大數據量的複雜查詢處理,並且以一種直觀而易懂的形式將查詢結果提供給決策人員。阿里雲針對OLAP類型應用的規模大小有不同的解決方案:
小規模系統。這類OLAP系統僅僅針對具體某一類業務的歷史數據進行實時分析,一般數據在幾百GB的規模,分析的數據維度在十幾個以內。對於這類應用系統,其資料庫直接採用RDS,並在RDS之上構建OLAP分析工具。
大規模實時分析。這類OLAP系統面向數據存儲規模在100TB級別,單表記錄數達到千億級別,阿里雲提供分析資料庫服務(Analytic Database Service,簡稱ADS),可以在毫秒級針對千億級數據進行即時的多維分析透視和業務探索。還可直接嵌入業務系統為終端客戶提供分析服務。
此外,對於內容管理類型以及大數據應用類型的應用系統,阿里雲提供OSS、ODPS、OTS及專家服務,為遷雲提供更專業支持。
作者:阿里雲技術服務專家周翰
推薦閱讀:
※CSP 課堂筆記之 Unikernel
※基於雲原生的秒殺系統設計思路
※什麼是雲支付?
※為什麼選擇雲計算
※總結:2017年雲計算市場十大關鍵詞
TAG:雲計算 |