一张图学会数据库迁云最佳路径
摘要: 我們以基于Oracle數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)上云為例,如何根據(jù)實(shí)際需求,及不同的應(yīng)用特征,去選擇合適的上云解決方案?看懂了以下這張圖,就能找到最適合你的應(yīng)用系統(tǒng)總體的遷移上云路徑。
點(diǎn)此查看原文
傳統(tǒng)架構(gòu)注重于硬件上的高可用,云平臺(tái)通過(guò)分布式架構(gòu)已經(jīng)確保自身服務(wù)的高可用,并且集成了備份,監(jiān)控,HA,審計(jì)等一系列基礎(chǔ)運(yùn)維服務(wù),云平臺(tái)采用直接就可用的服務(wù)方式提供,使用方隨時(shí)購(gòu)買(mǎi)隨時(shí)就可用,無(wú)需考慮一系列繁瑣的底層運(yùn)維,使用方可以更加專注于業(yè)務(wù)上的研發(fā)。
我們以基于Oracle數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)上云為例,如何根據(jù)實(shí)際需求,及不同的應(yīng)用特征,去選擇合適的上云解決方案?看懂了以下這張圖,就能找到最適合你的應(yīng)用系統(tǒng)總體的遷移上云路徑。
遷云項(xiàng)目耗時(shí)耗力,遷移改造效率很低。阿里云專家提供上云全方位服務(wù),降低上云技術(shù)風(fēng)險(xiǎn)和資源成本。包括在線業(yè)務(wù)系統(tǒng)上云、離線業(yè)務(wù)大數(shù)據(jù)上云、技術(shù)支撐、應(yīng)用上云實(shí)施、數(shù)據(jù)遷移實(shí)施、大數(shù)據(jù)實(shí)施等。
1. 直接遷移上云
對(duì)于應(yīng)用系統(tǒng)是否可直接遷移上云主要看數(shù)據(jù)庫(kù)是否去O,是沿用原有的Oracle數(shù)據(jù)庫(kù)還是采用阿里云提供的數(shù)據(jù)庫(kù),主要從以下幾個(gè)方面判斷:
系統(tǒng)的復(fù)雜度。應(yīng)用對(duì)數(shù)據(jù)庫(kù)特征強(qiáng)依賴,以及應(yīng)用層對(duì)數(shù)據(jù)庫(kù)的強(qiáng)耦合會(huì)導(dǎo)致去O的難度和風(fēng)險(xiǎn)增加。如果去O的難度和風(fēng)險(xiǎn)達(dá)到不可控范圍,則可以考慮直接遷移上云;
遷移周期要求。應(yīng)用系統(tǒng)去O會(huì)帶來(lái)更長(zhǎng)的遷移周期,若對(duì)應(yīng)用系統(tǒng)遷移上云遷移的周期有嚴(yán)格的要求,則可以選擇直接遷移上云;
性能要求。相對(duì)而言,采用直接遷移上云的方式對(duì)數(shù)據(jù)庫(kù)的性能會(huì)有所限制,同時(shí)數(shù)據(jù)庫(kù)的性能擴(kuò)展空間有限,所以選擇直接遷移上云方式的應(yīng)用必須考慮在規(guī)劃的系統(tǒng)運(yùn)行周期內(nèi)性能上無(wú)較大規(guī)模的擴(kuò)展要求。
高可用要求。采用直接遷移上云方式是在ECS上部署Oracle數(shù)據(jù)庫(kù)環(huán)境,數(shù)據(jù)庫(kù)的高可用由用戶來(lái)保障;若采用阿里云產(chǎn)品,則數(shù)據(jù)庫(kù)的高可用可有阿里云保障。所以,直接遷移上云后數(shù)據(jù)庫(kù)的高可用級(jí)別是否能夠達(dá)到實(shí)際應(yīng)用的運(yùn)行要求也是判斷應(yīng)用是否直接遷移上云的重要方面。
1.1低性能要求
應(yīng)用系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的IOPS性能要求較低(小于20000)且以IO讀為主、延時(shí)在毫秒級(jí),認(rèn)為是低性能要求的。在遷移上云方案上可采用在ECS(存儲(chǔ)采用云盤(pán))上直接部署Oracle構(gòu)建數(shù)據(jù)庫(kù),具體遷移上云方法:
1) 應(yīng)用層基于ECS部署運(yùn)行環(huán)境,應(yīng)用程序直接遷移,同時(shí)修改應(yīng)用程序的數(shù)據(jù)庫(kù)連接;
2) 數(shù)據(jù)層基于ECS部署Oracle數(shù)據(jù)庫(kù),Oracle的數(shù)據(jù)存儲(chǔ)采用ECS提供的云磁盤(pán)。數(shù)據(jù)庫(kù)的遷移直接通過(guò)RMAN實(shí)現(xiàn)快速遷移。
1.2. 高性能要求
應(yīng)用系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的IO讀寫(xiě)性能要求高(大于20000)、延時(shí)在微秒級(jí)以內(nèi),認(rèn)為是高性能要求的,在遷移上云方案上考慮采用ECS(采用本地SSD存儲(chǔ))上直接部署Oracle構(gòu)建數(shù)據(jù)庫(kù),具體遷移上云方法:
1) 應(yīng)用層基于ECS部署運(yùn)行環(huán)境,應(yīng)用程序直接遷移,同時(shí)修改應(yīng)用程序的數(shù)據(jù)庫(kù)連接;
2) 數(shù)據(jù)層基于ECS部署Oracle數(shù)據(jù)庫(kù),Oracle的數(shù)據(jù)存儲(chǔ)采用ECS提供的SSD磁盤(pán)。數(shù)據(jù)庫(kù)的遷移直接通過(guò)RMAN實(shí)現(xiàn)快速遷移。
如果考慮到高可用的要求,可以配置一個(gè)相同的ECS實(shí)例為數(shù)據(jù)庫(kù)的備機(jī),主備之間通過(guò)Oracle Data Guard做數(shù)據(jù)同步,當(dāng)主機(jī)宕機(jī)后,備機(jī)可以接管服務(wù),切換時(shí)間通常在分鐘級(jí)別。
自建的數(shù)據(jù)庫(kù)系統(tǒng),計(jì)劃將數(shù)據(jù)遷移至阿里云云數(shù)據(jù)庫(kù),需要阿里云數(shù)據(jù)庫(kù)專家評(píng)估方案,協(xié)助完成數(shù)據(jù)庫(kù)遷移工作。云數(shù)據(jù)庫(kù)實(shí)例間的數(shù)據(jù)遷移,需要阿里云專業(yè)DBA協(xié)助完成遷移工作。
2. 改造遷移上云
對(duì)于傳統(tǒng)應(yīng)用系統(tǒng),其原有的架構(gòu)設(shè)計(jì)和采用的數(shù)據(jù)庫(kù)、中間件與阿里云產(chǎn)品存在較大的差異,對(duì)于這種情況,需要對(duì)原有應(yīng)用系統(tǒng)進(jìn)行改造后遷移上云。針對(duì)不同類型的應(yīng)用系統(tǒng),其改造的方案也有所不同,一般將應(yīng)用系統(tǒng)分為OLTP類型、OLAP類型、內(nèi)容管理類型以及大數(shù)據(jù)應(yīng)用類型四個(gè)大類。
2.1. OLTP類型
聯(lián)機(jī)事務(wù)處理(OLTP)類型應(yīng)用屬于業(yè)務(wù)交易型系統(tǒng),在各個(gè)行業(yè)內(nèi)占有絕大多數(shù)比重。對(duì)于OLTP中低性能要求的通用應(yīng)用,數(shù)據(jù)庫(kù)可直接采用RDS。在實(shí)際遷移上云過(guò)程中涉及到數(shù)據(jù)庫(kù)從Oracle向RDS的MySQL數(shù)據(jù)庫(kù)的遷移。為了得到更好的性能,需要對(duì)待遷移系統(tǒng)所使用的Oracle特性進(jìn)行轉(zhuǎn)換,以適配RDS數(shù)據(jù)庫(kù),進(jìn)行應(yīng)用系統(tǒng)代碼改造。
對(duì)于數(shù)據(jù)庫(kù)性能要求高,但數(shù)據(jù)規(guī)模要求不高的關(guān)鍵應(yīng)用,可通過(guò)引入數(shù)據(jù)緩存或采用讀寫(xiě)分離的方式對(duì)RDS做性能擴(kuò)展。引入數(shù)據(jù)緩存是采用阿里云Redis緩存服務(wù),將部分查詢數(shù)據(jù)加載至分布式緩存中,減少RDS的數(shù)據(jù)查詢次數(shù),提升系統(tǒng)的數(shù)據(jù)查詢并發(fā)效率和降低響應(yīng)時(shí)間。
讀寫(xiě)分離是采用分布式方式實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的讀和寫(xiě)的職能進(jìn)行分離,寫(xiě)數(shù)據(jù)請(qǐng)求主要發(fā)生在主庫(kù),讀請(qǐng)求訪問(wèn)只讀庫(kù),可以根據(jù)需求對(duì)只讀庫(kù)進(jìn)行擴(kuò)展,以實(shí)現(xiàn)整體請(qǐng)求性能的提升。
對(duì)于數(shù)據(jù)庫(kù)性能和數(shù)據(jù)規(guī)模要求都高的應(yīng)用,可通過(guò)DRDS(分布式RDS)實(shí)行對(duì)數(shù)據(jù)庫(kù)性能或規(guī)模的擴(kuò)展。DRDS是通過(guò)水平切分的方式,將數(shù)據(jù)分布在多個(gè)RDS實(shí)例上,通過(guò)并行的分布式數(shù)據(jù)庫(kù)操作來(lái)實(shí)現(xiàn)性能的提升。如下圖所示。
總的來(lái)說(shuō),通過(guò)遷移到RDS、引入數(shù)據(jù)緩存、分庫(kù)分表、讀寫(xiě)分離等多種方式可以以水平擴(kuò)展方式取代原有的數(shù)據(jù)庫(kù)架構(gòu),并且獲得更好的性能和擴(kuò)展性。
2.2. OLAP類型
聯(lián)機(jī)分析處理(OLAP)類型系統(tǒng)是數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)最主要的應(yīng)用,專門(mén)設(shè)計(jì)用于支持復(fù)雜的分析操作,側(cè)重對(duì)決策人員和高層管理人員的決策支持,可以根據(jù)分析人員的要求快速、靈活地進(jìn)行大數(shù)據(jù)量的復(fù)雜查詢處理,并且以一種直觀而易懂的形式將查詢結(jié)果提供給決策人員。阿里云針對(duì)OLAP類型應(yīng)用的規(guī)模大小有不同的解決方案:
小規(guī)模系統(tǒng)。這類OLAP系統(tǒng)僅僅針對(duì)具體某一類業(yè)務(wù)的歷史數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,一般數(shù)據(jù)在幾百GB的規(guī)模,分析的數(shù)據(jù)維度在十幾個(gè)以內(nèi)。對(duì)于這類應(yīng)用系統(tǒng),其數(shù)據(jù)庫(kù)直接采用RDS,并在RDS之上構(gòu)建OLAP分析工具。
大規(guī)模實(shí)時(shí)分析。這類OLAP系統(tǒng)面向數(shù)據(jù)存儲(chǔ)規(guī)模在100TB級(jí)別,單表記錄數(shù)達(dá)到千億級(jí)別,阿里云提供分析數(shù)據(jù)庫(kù)服務(wù)(Analytic Database Service,簡(jiǎn)稱ADS),可以在毫秒級(jí)針對(duì)千億級(jí)數(shù)據(jù)進(jìn)行即時(shí)的多維分析透視和業(yè)務(wù)探索。還可直接嵌入業(yè)務(wù)系統(tǒng)為終端客戶提供分析服務(wù)。
此外,對(duì)于內(nèi)容管理類型以及大數(shù)據(jù)應(yīng)用類型的應(yīng)用系統(tǒng),阿里云提供OSS、ODPS、OTS及專家服務(wù),為遷云提供更專業(yè)支持。
總結(jié)
以上是生活随笔為你收集整理的一张图学会数据库迁云最佳路径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 注释那些事儿:前端代码质量系列文章(一)
- 下一篇: 免费公测中-GPU数据库SQream D