數(shù)據(jù)庫(kù)如何轉(zhuǎn)身云原生數(shù)據(jù)庫(kù)
前言
隨著互聯(lián)網(wǎng)的發(fā)展,以及大數(shù)據(jù)時(shí)代的來(lái)臨,信息數(shù)據(jù)量也呈現(xiàn)出迅速增長(zhǎng)的發(fā)展趨勢(shì),越來(lái)越多企業(yè)認(rèn)識(shí)到,數(shù)據(jù)不僅可以在本地存儲(chǔ),還可以在云端存儲(chǔ)。而云原生數(shù)據(jù)庫(kù)就是一種穩(wěn)定可靠、可彈性伸縮,解決數(shù)據(jù)運(yùn)維工作的數(shù)據(jù)庫(kù)服務(wù)。
項(xiàng)目使用前期調(diào)研
亞馬遜云科技提供了100余種產(chǎn)品免費(fèi)套餐。其中,計(jì)算資源 Amazon EC2 首年12個(gè)月免費(fèi),750小時(shí)/月;存儲(chǔ)資源 Amazon S3 首年12個(gè)月免費(fèi),5GB 標(biāo)準(zhǔn)存儲(chǔ)容量;數(shù)據(jù)庫(kù)資源 Amazon RDS 首年12個(gè)月免費(fèi),750小時(shí);Amazon Dynamo DB 25GB 存儲(chǔ)容量 永久免費(fèi)。??https://aws.amazon.com/cn/free/??
我公司蘇州凱捷智能科技有限公司從本地存儲(chǔ)更換為亞馬遜云科技數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。
本人公司2021年開(kāi)業(yè)創(chuàng)業(yè)性公司主要服務(wù)對(duì)象3C、新能源、政府等。數(shù)據(jù)存儲(chǔ)量比較大。因?yàn)閯?chuàng)業(yè)性公司不會(huì)專(zhuān)門(mén)搭建一個(gè)服務(wù)器用于存儲(chǔ),對(duì)于時(shí)間、成本等條件??隙ú荒軡M(mǎn)足這樣使用。于是我們開(kāi)始調(diào)研云數(shù)據(jù)庫(kù)性能對(duì)比,價(jià)格等。最終選擇了 Amazon。
公司的預(yù)算以及規(guī)模要求
在幾萬(wàn)預(yù)算中性能對(duì)比下來(lái) Amazon 數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)操作簡(jiǎn)單方便技術(shù)目前是全球領(lǐng)先的據(jù)我了解在全球范圍內(nèi),Amazon 在云服務(wù)領(lǐng)域處于領(lǐng)導(dǎo)者地位。數(shù)以百萬(wàn)計(jì)的客戶(hù)——包括發(fā)展最快的初創(chuàng)企業(yè)、最大的企業(yè)和領(lǐng)先的政府機(jī)構(gòu)——相信 Amazon 能夠?yàn)樗麄兊幕A(chǔ)設(shè)施提供動(dòng)力,變得更加靈活,并降低成本。
豐富的云服務(wù)和功能
Amazon 在各個(gè)方面的業(yè)務(wù)需求上,都有對(duì)應(yīng)的產(chǎn)品或者整體的解決方案存在。Amazon 的這些服務(wù)還具有最為多樣復(fù)雜的功能。例如,Amazon 提供了種類(lèi)繁多的數(shù)據(jù)庫(kù),這些數(shù)據(jù)庫(kù)是為不同類(lèi)型的應(yīng)用程序?qū)iT(mén)構(gòu)建的,因此您可以選擇適合作業(yè)的工具來(lái)獲得最佳的成本和性能。
覆蓋全球的云基礎(chǔ)設(shè)施
Amazon 擁有強(qiáng)大的、充滿(mǎn)活力的生態(tài)系統(tǒng),擁有數(shù)百萬(wàn)活躍客戶(hù)和數(shù)萬(wàn)合作伙伴。Amazon 客戶(hù)幾乎涵蓋所有行業(yè)和規(guī)模的組織,包括初創(chuàng)企業(yè)、企業(yè)和公共部門(mén)組織。
強(qiáng)大的云計(jì)算生態(tài)
WS 開(kāi)發(fā)工具完善、文檔和教程齊全、社區(qū)氛圍友好,在 Amazon 上開(kāi)發(fā)應(yīng)用非常方便。
最終蘇州凱捷智能科技有限公司選擇了Amazon 數(shù)據(jù)存儲(chǔ)服務(wù)。
首先講講什么是云原生數(shù)據(jù)庫(kù)?
云原生數(shù)據(jù)庫(kù)是一種通過(guò)云平臺(tái)進(jìn)行構(gòu)建、部署和分發(fā)的服務(wù)。作為一種云平臺(tái),云原生數(shù)據(jù)庫(kù)以 Paas 的形式進(jìn)行分發(fā),也經(jīng)常被稱(chēng)作 DBaas ;用戶(hù)可以將該平臺(tái)用于多種目的,例如存儲(chǔ),管理和提取數(shù)據(jù)。
簡(jiǎn)單來(lái)說(shuō),云原生數(shù)據(jù)庫(kù),是一種通過(guò)云平臺(tái)進(jìn)行構(gòu)建、部署和分發(fā)的服務(wù)。這種云原生屬性是它相比于其他類(lèi)型數(shù)據(jù)庫(kù)最大的特點(diǎn)。作為一種云平臺(tái),云原生數(shù)據(jù)庫(kù)以 Paas (平臺(tái)即服務(wù), Platform-as-a-Service )的形式進(jìn)行分發(fā),也經(jīng)常被稱(chēng)作 DBaas (數(shù)據(jù)庫(kù)即服務(wù), DataBase-as-a-Service)。用戶(hù)可以將該平臺(tái)用于多種目的,例如存儲(chǔ),管理和提取數(shù)據(jù)。
云原生數(shù)據(jù)庫(kù)通常通過(guò)在云基礎(chǔ)設(shè)施之上安裝數(shù)據(jù)庫(kù)軟件來(lái)實(shí)現(xiàn),這種方式使得云原生數(shù)據(jù)庫(kù)具備了傳統(tǒng)數(shù)據(jù)庫(kù)所不具備的直接訪(fǎng)問(wèn)性和運(yùn)行時(shí)可伸縮性。隨著云原生數(shù)據(jù)和海量計(jì)算的重要性不斷提高,人們空前重視通過(guò)部署這種服務(wù)為企業(yè)提供增強(qiáng)的可靠性和可伸縮性。
mysql 數(shù)據(jù)庫(kù),云數(shù)據(jù)庫(kù)的優(yōu)勢(shì)有哪些?
1、服務(wù)可用性
云數(shù)據(jù)庫(kù)具有高可用性,完善的數(shù)據(jù)自動(dòng)備份機(jī)制,數(shù)據(jù)可保留時(shí)間長(zhǎng),分鐘級(jí)別可完成故障轉(zhuǎn)移。而在自購(gòu)服務(wù)器搭建的傳統(tǒng)數(shù)據(jù)庫(kù)服務(wù)中,需自行搭建主從復(fù)制,自建 RAID,單獨(dú)實(shí)現(xiàn)或者購(gòu)買(mǎi)負(fù)載均衡設(shè)備等。
2、數(shù)據(jù)可靠性
云數(shù)據(jù)庫(kù)是保證99.95%高可靠的,提供主從數(shù)據(jù)存儲(chǔ),支持按時(shí)間點(diǎn)恢復(fù)、秒級(jí)監(jiān)控等,保障線(xiàn)上數(shù)據(jù)安全。而在自購(gòu)服務(wù)器搭建的傳統(tǒng)數(shù)據(jù)庫(kù)服務(wù)中,需要自行保障。
3、系統(tǒng)安全性
云數(shù)據(jù)庫(kù)具有高安全性,DDoS 防護(hù),能幫助用戶(hù)抵御攻擊流量,減少數(shù)據(jù)安全風(fēng)險(xiǎn),保證業(yè)務(wù)的正常運(yùn)行。而傳統(tǒng)數(shù)據(jù)庫(kù)則需自行部署,價(jià)格高昂,同時(shí)也需自行修復(fù)數(shù)據(jù)庫(kù)安全漏洞。
4、軟硬件投入
云廠商提供的云數(shù)據(jù)庫(kù)不需要客戶(hù)購(gòu)置 軟硬件投,并且支持按需付費(fèi)。而傳統(tǒng)數(shù)據(jù)庫(kù)成本相對(duì)較高,對(duì)于 SQL Server 還需支付許可證費(fèi)用。
云數(shù)據(jù)庫(kù)結(jié)合云服務(wù)器使用,具有數(shù)據(jù)傳輸穩(wěn)定高可用,內(nèi)網(wǎng)帶寬傳輸速度快,可擴(kuò)展性高的優(yōu)勢(shì)。相對(duì)于自建數(shù)據(jù)庫(kù),云數(shù)據(jù)庫(kù)具有更經(jīng)濟(jì)、更專(zhuān)業(yè)、更高效、更安全、簡(jiǎn)單易用等特點(diǎn),用戶(hù)能更專(zhuān)注于核心業(yè)務(wù)。
睿江云目前擁有單節(jié)點(diǎn),雙節(jié)點(diǎn),三節(jié)點(diǎn)三個(gè)版本的云數(shù)據(jù)庫(kù),用戶(hù)可根據(jù)業(yè)務(wù)需求選擇購(gòu)買(mǎi)。高性能、高安全、高可靠的數(shù)據(jù)庫(kù)服務(wù),可以有效地減輕用戶(hù)的運(yùn)維壓力,為用戶(hù)帶來(lái)安全可靠的全新體驗(yàn)。
5、轉(zhuǎn)身 Amazon 原因
第一個(gè)就是分布式、高可擴(kuò)展性的 OLTP 數(shù)據(jù)庫(kù)的云原生化。我認(rèn)為包括 Amazon Aurora、包括現(xiàn)在的主流的這些號(hào)稱(chēng) Cloud Native 的一些數(shù)據(jù)庫(kù),還遠(yuǎn)沒(méi)有到達(dá)一個(gè)最終形態(tài),它相當(dāng)于只是一個(gè)把一個(gè)單機(jī)數(shù)據(jù)庫(kù)的技術(shù)云化了而已。分布式數(shù)據(jù)庫(kù)如何與云原生真正結(jié)合,這現(xiàn)在還是一個(gè)懸而未決的問(wèn)題。這個(gè)問(wèn)題的本質(zhì)就是分布式數(shù)據(jù)庫(kù)如何從 On Cloud,走向 In Cloud。
手把手教你將服務(wù)器遷移到 Amazon 全過(guò)程
遷移策略方案
以上這些數(shù)據(jù)庫(kù)由 Amazon 完全托管,用戶(hù)不用去管理底層硬件系統(tǒng)升級(jí)維護(hù)等相關(guān)工作,這也是推薦使用全托管數(shù)據(jù)庫(kù)而非自建數(shù)據(jù)庫(kù)的原因。為了方便客戶(hù)數(shù)據(jù)庫(kù)遷移上云,Amazon 還為客戶(hù)提供了非常方便的遷移工具 DMS,幫助用戶(hù)輕松經(jīng)濟(jì)高效的完成遷移任務(wù)。
那么面對(duì)這么多種類(lèi)的數(shù)據(jù)庫(kù),尤其是一些新型數(shù)據(jù)庫(kù),我們從來(lái)沒(méi)有使用過(guò),我們?cè)撊绾芜x擇?我們需要從業(yè)務(wù)場(chǎng)景為出發(fā)點(diǎn)來(lái)分析使用哪種數(shù)據(jù)庫(kù),下面我對(duì) Amazon 數(shù)據(jù)庫(kù)的使用場(chǎng)景做個(gè)簡(jiǎn)單的介紹,也讓大家對(duì) Amazon 各種數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景有一個(gè)大致了解。
1、盤(pán)點(diǎn)云服務(wù)
首先盤(pán)點(diǎn)下我們用到的阿里云服務(wù)有哪些?云服務(wù)器 ECS,負(fù)載均衡 SLB,對(duì)象存儲(chǔ) OSS,大數(shù)據(jù)服務(wù) MaxCompute,其中數(shù)據(jù)庫(kù)、緩存、隊(duì)列之類(lèi)均使用 ECS + 開(kāi)源產(chǎn)品搭建,而非阿里云服務(wù)。基本 Amazon 均有對(duì)標(biāo)產(chǎn)品,EC2, ELB,S3 等可以滿(mǎn)足需求,當(dāng)然成本上 Amazon 產(chǎn)品還是略貴一些。
2.盤(pán)點(diǎn)服務(wù)機(jī)器
在線(xiàn)服務(wù)主要依賴(lài)ECS ,系統(tǒng)搭建 CentOS,部署應(yīng)用服務(wù)器,數(shù)據(jù)中心主要包括 Mysql 、MongoDB、Redis、ES、OSS等 ,中間件服務(wù),消息隊(duì)列,路由網(wǎng)關(guān)等。離線(xiàn)服務(wù)數(shù)據(jù)倉(cāng)庫(kù)主要基于 MaxCompute,以及相關(guān)報(bào)表服務(wù)。
3.遷移策略
3.1.離線(xiàn)服務(wù)遷移策略
在新數(shù)據(jù)中心建立數(shù)倉(cāng),導(dǎo)入歷史數(shù)據(jù),新機(jī)房搭建 ETL 服務(wù),遷移后增量數(shù)據(jù)從新機(jī)房在線(xiàn)服務(wù)中抽取。遷移可獨(dú)立進(jìn)行不受限于在線(xiàn)服務(wù),注意在線(xiàn)服務(wù)遷移節(jié)點(diǎn)前后的數(shù)據(jù)補(bǔ)錄和剔除。由于阿里云 MaxCompute 服務(wù)與 hive 語(yǔ)法有差異,此處還有些 sql 修改的工作。
3.2.在線(xiàn)服務(wù)遷移策略
原機(jī)房服務(wù)架構(gòu)情況如下圖:
圖中 router 作為網(wǎng)關(guān)和負(fù)載均衡,簡(jiǎn)化隊(duì)列等其他服務(wù)。遷移方案總體分為不停服遷移和停服遷移兩種,下面就具體分析下如何選型。
3.3.不停服遷移方案
首先在新機(jī)房按同等架構(gòu)部署一套服務(wù),數(shù)據(jù)庫(kù)維持主從架構(gòu)(原機(jī)房做主,新機(jī)房做從),redis (只用于緩存)兩邊各自部署維護(hù)。
從 網(wǎng)關(guān)層(router)切流量到新機(jī)房應(yīng)用服務(wù),但服務(wù)讀寫(xiě)數(shù)據(jù)庫(kù)仍從原機(jī)房(阿里云機(jī)房),如果不考慮延時(shí)或一致性要求不高的場(chǎng)景可以從新機(jī)房數(shù)據(jù)庫(kù)讀,寫(xiě)到原機(jī)房數(shù)據(jù)庫(kù)。
應(yīng)用流量遷移后,切換數(shù)據(jù)庫(kù)讀寫(xiě)到新機(jī)房,遷移前需要檢查新機(jī)房是否有數(shù)據(jù)落后,通過(guò)變更連接配置進(jìn)行切換,對(duì)使用數(shù)據(jù)庫(kù)長(zhǎng)連接的連接池模式,需要在程序做支持,捕獲配置變更后啟動(dòng)新配置的連接池。
此方案采用從應(yīng)用服務(wù)層到數(shù)據(jù)層自頂向下遷移,遷移過(guò)程中會(huì)出現(xiàn)雙機(jī)房雙活和跨機(jī)房調(diào)用的情況,確保盡可能少的出現(xiàn)跨機(jī)房調(diào)用。
方案優(yōu)點(diǎn):
服務(wù)基本可用,對(duì)用戶(hù)無(wú)感知,或感知較小。
方案缺點(diǎn):
實(shí)施過(guò)程復(fù)雜,跨機(jī)房數(shù)據(jù)延時(shí)會(huì)影響服務(wù)正常,切換瞬間可能會(huì)有數(shù)據(jù)不一致。
為了減少跨機(jī)房延時(shí),一般采用拉專(zhuān)線(xiàn)方式,同機(jī)房數(shù)據(jù)傳輸一般延時(shí)在 10ms 以?xún)?nèi), 同城專(zhuān)線(xiàn)一般延時(shí)在 10 ms 左右,跨城專(zhuān)線(xiàn)一般在 10 - 200 ms,公網(wǎng)傳輸一般在幾百毫秒。
由于兩個(gè)機(jī)房之間無(wú)法直接拉專(zhuān)線(xiàn),跨機(jī)房調(diào)用可能會(huì)導(dǎo)致服務(wù)延時(shí)失敗,出現(xiàn)更多不可控因素,且業(yè)務(wù)存在夜間低峰期且無(wú)新用戶(hù),停服影響可接受,因此最終實(shí)施將會(huì)按停服方案來(lái)操作。
3.4.停服遷移方案
和不停服一樣,首先搭建一套鏡像服務(wù),在某個(gè)時(shí)間點(diǎn)會(huì)將所有寫(xiě)入暫停(無(wú)新數(shù)據(jù)寫(xiě)入),待數(shù)據(jù)全部同步新機(jī)房后,在新機(jī)房啟動(dòng)服務(wù),并將流量完全導(dǎo)向新機(jī)房。
方案優(yōu)點(diǎn):
實(shí)施過(guò)程簡(jiǎn)單,實(shí)施過(guò)程中不會(huì)出現(xiàn)臟數(shù)據(jù)。
方案缺點(diǎn):
會(huì)有一段時(shí)間對(duì)用戶(hù)完全不可用,必須根據(jù)業(yè)務(wù)場(chǎng)景來(lái)評(píng)估是否可接受。
實(shí)現(xiàn)流程
1.完善實(shí)施細(xì)節(jié)
實(shí)施遷移前,必要的準(zhǔn)備工作必不可少,購(gòu)買(mǎi)新機(jī)房服務(wù),配置網(wǎng)絡(luò)及服務(wù)的搭建,應(yīng)用服務(wù)的部署,數(shù)據(jù)庫(kù)的準(zhǔn)備及數(shù)據(jù)同步(及一致性檢查),涉及到 ip 變更合作機(jī)構(gòu)加白名單,以及必要的通知工作,最后需要對(duì)新機(jī)房服務(wù)做回歸測(cè)試和校驗(yàn)。為了防止遺漏,最好使用 checklist 清單,完成一項(xiàng)對(duì)其打鉤。
2.執(zhí)行遷移過(guò)程
選擇合適的遷移時(shí)間,服務(wù)低峰時(shí)間,避開(kāi)必要的定時(shí)任務(wù)執(zhí)行時(shí)間,梳理清可提前的或可推后的定時(shí)任務(wù),遷移時(shí)間與必須按時(shí)執(zhí)行的定時(shí)任務(wù)錯(cuò)峰。遷移過(guò)程對(duì)用戶(hù)訪(fǎng)問(wèn)進(jìn)行限制,除測(cè)試白名單可正常訪(fǎng)問(wèn)服務(wù),其他用戶(hù)會(huì)提示 “系統(tǒng)升級(jí),請(qǐng)稍后回來(lái)” 。遷移計(jì)劃可以分幾步,確定好時(shí)間,執(zhí)行人,執(zhí)行內(nèi)容,必要的執(zhí)行操作,做好 checklist 清單,格式如下:
停止原機(jī)房對(duì)外服務(wù)
1)上線(xiàn)代碼控制訪(fǎng)問(wèn)請(qǐng)求
2)停止定時(shí)腳本和常駐 (注意順序)
3)觀察數(shù)據(jù)無(wú)寫(xiě)入 xx 時(shí)間,保險(xiǎn)起見(jiàn)對(duì)主庫(kù)改為 readonly
4)觀察隊(duì)列無(wú)新增,消費(fèi)已完成 (可省略遷移隊(duì)列數(shù)據(jù))
外網(wǎng)域名 DNS 解析切換
1)外網(wǎng)域名 DNS 解析切換
2)DNS 解析生效需要周期,此時(shí)打入舊機(jī)房流量可以做轉(zhuǎn)發(fā)到新機(jī)房
新機(jī)房服務(wù)恢復(fù)
1)在準(zhǔn)備階段已完成服務(wù)部署,數(shù)據(jù)庫(kù)維持從庫(kù)同步數(shù)據(jù),此時(shí)斷開(kāi)與主庫(kù)連接
2)可以校驗(yàn)數(shù)據(jù)是否完全一致,準(zhǔn)備階段完成歷史記錄校驗(yàn),遷移階段只校驗(yàn)增量部分
3)涉及 OSS 數(shù)據(jù),需要同步到 S3,沒(méi)有直接同步工具,可以先下載再上傳,最后寫(xiě)了個(gè)比對(duì)工具校驗(yàn)兩邊一致性
4)定時(shí)任務(wù)和常駐進(jìn)程在新機(jī)房啟動(dòng)。
回歸測(cè)試
恢復(fù)對(duì)外服務(wù)
1)觀察日志監(jiān)控
2)服務(wù)和業(yè)務(wù)監(jiān)控
3)其他系統(tǒng)服務(wù)恢復(fù)
3.遷移過(guò)程的突發(fā)事件
雖然做了“萬(wàn)全”的計(jì)劃,但遷移過(guò)程還是會(huì)發(fā)生一些計(jì)劃外的事件,這時(shí)候就要隨機(jī)應(yīng)變了,但一個(gè)基本原則就是是否可以先忽略?如果不影響正常業(yè)務(wù)可以事后解決。
在停止對(duì)外訪(fǎng)問(wèn)后,按預(yù)期將沒(méi)有新數(shù)據(jù)寫(xiě)入,但發(fā)現(xiàn) MongoDB 數(shù)據(jù)庫(kù)仍有數(shù)據(jù)寫(xiě)入,通過(guò)追查連接 ip 發(fā)現(xiàn)有其他部門(mén)服務(wù)連接,此時(shí)半夜無(wú)法聯(lián)系到對(duì)方處理,最后確認(rèn)該數(shù)據(jù)表我們并不使用,那么可以忽略不處理,但因?yàn)榇隧?xiàng)確認(rèn)比預(yù)期要長(zhǎng),整體遷移時(shí)間也向后發(fā)生了偏移。
MongoDB 采用了停服后全量數(shù)據(jù)導(dǎo)出,在新服務(wù)器上導(dǎo)入的方案,并未使用從庫(kù)。因?yàn)閿?shù)據(jù)量較少,導(dǎo)出恢復(fù)速度快,不會(huì)有不一致問(wèn)題。
在使用 Amazon 的 負(fù)載均衡服務(wù)(ELB)時(shí),發(fā)現(xiàn)了與阿里云的 SLB 不一樣的情況,在長(zhǎng)連接服務(wù)過(guò)程中會(huì)斷開(kāi)連接,而當(dāng)時(shí)在場(chǎng)的 Amazon 技術(shù)支持也未能有效解決,當(dāng)時(shí)根據(jù)情況決策不使用負(fù)載均衡,直接連接 ip 的方式,先解決了服務(wù)斷開(kāi)的問(wèn)題。
Amazon 負(fù)載均衡有健康檢查機(jī)制,如果長(zhǎng)時(shí)間無(wú)目標(biāo)響應(yīng)就會(huì)斷開(kāi)連接。
4.回滾計(jì)劃
在做遷移計(jì)劃時(shí),也會(huì)出相應(yīng)的回滾方案,如果不符合預(yù)期就會(huì)執(zhí)行回退到阿里云,那么在停服階段的回滾,相對(duì)比較簡(jiǎn)單且無(wú)損。而一旦對(duì)外開(kāi)放流量后再回退,基本上需要執(zhí)行遷移方案的逆向操作。
收尾
服務(wù)前移完成后,還有一些收尾的工作,以及服務(wù)的觀察和監(jiān)控。系統(tǒng)指標(biāo)對(duì)比:如 cpu、內(nèi)存、io 等系統(tǒng)層面的使用情況和負(fù)載
應(yīng)用指標(biāo)對(duì)比:如接口響應(yīng)時(shí)間,QPS 等情況
業(yè)務(wù)指標(biāo)對(duì)比:如關(guān)鍵業(yè)務(wù)的轉(zhuǎn)化率等情況遷移前可在原機(jī)房看一些關(guān)鍵數(shù)據(jù),如最后一條用戶(hù)數(shù)據(jù)、訂單數(shù)據(jù)等,然后在新機(jī)房有針對(duì)性的查看放量后新增數(shù)據(jù)情況。經(jīng)過(guò)歷時(shí)幾個(gè)小時(shí)的通宵遷移,服務(wù)已平穩(wěn)從阿里云機(jī)房遷移至了 Amazon 機(jī)房,觀察幾個(gè)小時(shí)后整體符合預(yù)期,算是基本圓滿(mǎn)達(dá)成目標(biāo)。
Amazon 數(shù)據(jù)庫(kù)優(yōu)勢(shì)
在眾多的云廠商中,我們?yōu)槭裁催x擇 Amazon 數(shù)據(jù)庫(kù)服務(wù),Amazon 還有哪些獨(dú)特的優(yōu)勢(shì)呢?我主要總結(jié)以下幾點(diǎn):
成本優(yōu)勢(shì)
使用自建數(shù)據(jù),企業(yè)首先需要支付一筆資金購(gòu)買(mǎi)服務(wù)器,一些商業(yè)數(shù)據(jù)庫(kù)的授權(quán),需要再次支付一筆費(fèi)用。如果遷移到 Amazon 的自研數(shù)據(jù)庫(kù),客戶(hù)不必再支付高昂的商業(yè)數(shù)據(jù)庫(kù)授權(quán),也不必再去花費(fèi)大量資金去購(gòu)買(mǎi)服務(wù)器,在云中,客戶(hù)只需要按量付費(fèi),因此很多企業(yè)由于把數(shù)據(jù)庫(kù)遷移到 Amazon 而節(jié)省巨大費(fèi)用支出。
從最近的 Amazon 公告中,看到 Amazon 幫助三星把數(shù)據(jù)從商業(yè)數(shù)據(jù)庫(kù) Oracle 遷移到了 Aurora,為三星每月的數(shù)據(jù)庫(kù)成本降低了 44%,并讓三星的數(shù)據(jù)庫(kù)運(yùn)行更加穩(wěn)定。
完全托管
以上所說(shuō)的幾種數(shù)據(jù)庫(kù)都是 Amazon 完全托管的數(shù)據(jù)庫(kù),完全托管意味著零運(yùn)維。首先客戶(hù)不需要去維護(hù)硬件的生命周期、系統(tǒng)的補(bǔ)丁更新、高可用的部署、備份等。如果需要對(duì)數(shù)據(jù)庫(kù)擴(kuò)展,也只需點(diǎn)幾下鼠標(biāo)而已,非讓方便,讓 DBA 從復(fù)雜的數(shù)據(jù)庫(kù)運(yùn)維中解脫出來(lái),專(zhuān)注于數(shù)據(jù)庫(kù)性能調(diào)優(yōu)。
全球優(yōu)勢(shì)
過(guò)去我們需要借助非常復(fù)雜的技術(shù)手段,花費(fèi)大量的成本、甚至犧牲一定的可用性,才能實(shí)現(xiàn)快速、穩(wěn)定、安全的跨區(qū)域的數(shù)據(jù)復(fù)制,現(xiàn)在只要在 Amazon 云中輕輕點(diǎn)幾下鼠標(biāo)即可完成。
Amazon 云現(xiàn)已在全球 24 個(gè)地理區(qū)域內(nèi)運(yùn)營(yíng)著 77 個(gè)可用區(qū),180個(gè)邊緣站點(diǎn)等,為 Amazon 相應(yīng)全球數(shù)據(jù)庫(kù)提供了基礎(chǔ)保障。依托于 Amazon 強(qiáng)大的基礎(chǔ)設(shè)施,目前已經(jīng)有三款數(shù)據(jù)庫(kù)支持全球同步,延遲通常不超過(guò) 1 秒,可以滿(mǎn)足目前大部分應(yīng)用的需求。
對(duì)于關(guān)系型數(shù)據(jù)庫(kù)的全球同步需求,Amazon Aurora Global Database 能夠允許用戶(hù)輕松實(shí)現(xiàn)跨區(qū)域的數(shù)據(jù)庫(kù)部署,讓用戶(hù)輕松在區(qū)域之間復(fù)制數(shù)據(jù)和解決更新沖突,從而更加專(zhuān)注于應(yīng)用程序的業(yè)務(wù)邏輯。Amazon 還提供了 Amazon DynamoDB Global Tables。它基于 DynamoDB 的全球覆蓋范圍構(gòu)建,具有多區(qū)域、多主表的特性,可讓全局分布式應(yīng)用程序?qū)崿F(xiàn)快速的本地讀寫(xiě)性能,為用戶(hù)提供一個(gè)完全托管的、多區(qū)域、多主的 Key-Value 類(lèi)型數(shù)據(jù)庫(kù)。
針對(duì)緩存數(shù)據(jù)庫(kù),在眾多組織都在利用 Redis 為全球用戶(hù)提供低延遲訪(fǎng)問(wèn)的背景下,Amazon 為更好滿(mǎn)足客戶(hù)的需求,Amazon 推出了 Amazon ElastiCache Global Datastore for Redis 全球緩存數(shù)據(jù)庫(kù),為用戶(hù)提供數(shù)據(jù)跨區(qū)域復(fù)制,可以在一個(gè)區(qū)域?qū)懭霐?shù)據(jù),同時(shí)在其他區(qū)域讀取數(shù)據(jù),使緩存的數(shù)據(jù)更接近用戶(hù),減少網(wǎng)絡(luò)延遲,并提高應(yīng)用程序的響應(yīng)能力。
心得與建議
當(dāng)然,數(shù)據(jù)庫(kù)遷移是一個(gè)龐大而復(fù)雜的工程,尤其將數(shù)據(jù)庫(kù)遷移上公有云,除了數(shù)據(jù)庫(kù)知識(shí)更需要了解公有云上網(wǎng)絡(luò),存儲(chǔ),虛擬化等一系列知識(shí)。但是,我們不應(yīng)該僅僅將數(shù)據(jù)庫(kù)上云看做一個(gè)復(fù)雜的任務(wù),更應(yīng)該把它當(dāng)做一個(gè)優(yōu)化我們數(shù)據(jù)庫(kù)的契機(jī),那么上云過(guò)程中有哪些注意事項(xiàng)和建議呢?
對(duì)于一些允許停機(jī)的應(yīng)用,這部分?jǐn)?shù)據(jù)我們推薦使用離線(xiàn)遷移,整個(gè)操作比較簡(jiǎn)單,速度快,不容易出問(wèn)題。
如果業(yè)務(wù)需要在線(xiàn)遷移,那么推薦使用 DMS 進(jìn)行遷移,需要注意的是,在數(shù)據(jù)庫(kù)切換之前先停掉源數(shù)據(jù)庫(kù)寫(xiě)入,帶數(shù)據(jù)完全同步到目標(biāo)數(shù)據(jù)庫(kù)之后進(jìn)行數(shù)據(jù)庫(kù)切換。如果遷移的數(shù)據(jù)量比較大,建議選擇配置比較大的復(fù)制實(shí)例,這樣可以加速我們的復(fù)制速度。如果您想要轉(zhuǎn)換數(shù)據(jù)庫(kù)引擎,在使用 SCT 進(jìn)行 Schema 轉(zhuǎn)換的時(shí)候可能會(huì)遇到一些目標(biāo)數(shù)據(jù)庫(kù)不支持的地方,請(qǐng)先聯(lián)系 DBA 人員,對(duì)這些地方進(jìn)行更改,滿(mǎn)足之后再進(jìn)行轉(zhuǎn)換。
資料分享
- 數(shù)據(jù)庫(kù)免費(fèi)試用鏈接及上手教程:??https://aws.amazon.com/cn/getting-started/databases/get-started/??
- 云原生數(shù)據(jù)庫(kù)在線(xiàn)大會(huì):??https://www.awsevents.cn/CloudNative/listDetails.html??
粉絲福利
亞馬遜云科技專(zhuān)為開(kāi)發(fā)者們打造了多種學(xué)習(xí)平臺(tái):
- 入門(mén)資源中心:從0到1 輕松上手云服務(wù),內(nèi)容涵蓋:成本管理,上手訓(xùn)練,開(kāi)發(fā)資源。??https://aws.amazon.com/cn/getting-started/??
- 架構(gòu)中心:亞馬遜云科技架構(gòu)中心提供了云平臺(tái)參考架構(gòu)圖表、經(jīng)過(guò)審查的架構(gòu)解決方案、Well-Architected 最佳實(shí)踐、模式、圖標(biāo)等。??https://aws.amazon.com/cn/architecture/??
- 構(gòu)建者庫(kù):了解亞馬遜云科技如何構(gòu)建和運(yùn)營(yíng)軟件。??https://aws.amazon.com/cn/builders-library/??
- 用于在亞馬遜云科技平臺(tái)上開(kāi)發(fā)和管理應(yīng)用程序的工具包:??https://aws.amazon.com/cn/tools/??
【專(zhuān)屬福利】
福利一:100余種產(chǎn)品免費(fèi)套餐。其中,計(jì)算資源 Amazon EC2 首年12個(gè)月免費(fèi),750小時(shí)/月;存儲(chǔ)資源 Amazon S3 首年12個(gè)月免費(fèi),5GB 標(biāo)準(zhǔn)存儲(chǔ)容量。??https://aws.amazon.com/cn/free/??
福利二:最新優(yōu)惠大禮包,200$數(shù)據(jù)與分析抵扣券,200$機(jī)器學(xué)習(xí)抵扣券,200$微服務(wù)與應(yīng)用開(kāi)發(fā)抵扣券。??https://www.amazonaws.cn/campaign/??
原文來(lái)自亞馬遜云科技開(kāi)發(fā)者文章:
??https://dev.amazoncloud.cn/column/articleDetail?id=63209584ed07ac10b0752c74??