一张图学会数据库迁云最佳路径
摘要: 我們以基于Oracle數據庫的應用系統上云為例,如何根據實際需求,及不同的應用特征,去選擇合適的上云解決方案?看懂了以下這張圖,就能找到最適合你的應用系統總體的遷移上云路徑。
點此查看原文
傳統架構注重于硬件上的高可用,云平臺通過分布式架構已經確保自身服務的高可用,并且集成了備份,監控,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及專家服務,為遷云提供更專業支持。
總結
以上是生活随笔為你收集整理的一张图学会数据库迁云最佳路径的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注释那些事儿:前端代码质量系列文章(一)
- 下一篇: 免费公测中-GPU数据库SQream D