從本地MySQL遷移到云數(shù)據(jù)庫,為什么是AmazonAurora?-創(chuàng)新互聯(lián)

  近兩年,隨著云環(huán)境的成熟,很多企業(yè)的業(yè)務(wù)都在向云端遷移。于是,“云數(shù)據(jù)庫”成為最時髦詞匯之一,被AWS、微軟、阿里、華為等大廠推崇。那么,對于用戶來說,他們?nèi)绾慰创茢?shù)據(jù)庫的發(fā)展現(xiàn)狀,到底哪些因素才是他們選型的關(guān)鍵點(diǎn)?老王的經(jīng)歷,或許能從一定程度上說明中國云數(shù)據(jù)庫發(fā)展現(xiàn)狀。

十年的平和網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整平和建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“平和網(wǎng)站設(shè)計”,“平和網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實(shí)執(zhí)行。

從本地MySQL遷移到云數(shù)據(jù)庫,為什么是Amazon Aurora?

  老王的心路歷程

  A網(wǎng)站,是國內(nèi)大型社交媒體之一,老王是這家網(wǎng)站的DBA。像很多人說的一樣,好的架構(gòu)從來都不是設(shè)計出來的,而是演進(jìn)出來的,數(shù)據(jù)庫也是如此。從商業(yè)數(shù)據(jù)庫到開源數(shù)據(jù)庫,再到云數(shù)據(jù)庫,老王是數(shù)據(jù)庫變革的最直接見證者和推動者。

  起初,A網(wǎng)站日活躍用戶達(dá)到1.5個億。用戶注冊時,需要給每一個用戶分配獨(dú)立的ID,并保存用戶名、密碼、出生日期、單位等信息。另外,登錄后要對消息、關(guān)注、查找、評論、轉(zhuǎn)發(fā)等進(jìn)行管理。這家網(wǎng)站的數(shù)據(jù)庫采用的是標(biāo)準(zhǔn)結(jié)構(gòu),按照讀寫分離設(shè)計,主庫承擔(dān)寫,從庫承擔(dān)訪問,如果訪問壓力過大,就通過擴(kuò)容從庫的數(shù)量獲得擴(kuò)展能力。并且,所有業(yè)務(wù)按照用戶、內(nèi)容和關(guān)系進(jìn)行垂直劃分,使用單獨(dú)的數(shù)據(jù)庫。

  之后,隨著移動互聯(lián)網(wǎng)的快速發(fā)展,A網(wǎng)站注冊用戶數(shù)也跟著瘋漲,原有的數(shù)據(jù)庫呈現(xiàn)前所未有的壓力。為了支持業(yè)務(wù)高速發(fā)展需求,只能采購性能更好的硬件設(shè)備,對各功能模塊分別獨(dú)立存儲,并對海量業(yè)務(wù)數(shù)據(jù)進(jìn)行二次拆分。由于沒有時間進(jìn)行架構(gòu)改造,只能通過購買硬件設(shè)備來支撐核心業(yè)務(wù)。那時,feed系統(tǒng)重度依賴MySQL,最高并發(fā)的時候,MySQL寫入QPS飚到過4W。由于數(shù)據(jù)庫性能問題,直接導(dǎo)致網(wǎng)站癱瘓,用戶流失,當(dāng)時的場景,老王至今記憶猶新。為了保障查詢的性能指標(biāo),老王及其團(tuán)隊成員對索引和內(nèi)容進(jìn)行了拆分,各自分了很多端口,每個端口分出了很多的DB。

  經(jīng)過改造后的數(shù)據(jù)庫,已經(jīng)逐步趨于穩(wěn)定,但是當(dāng)峰值出現(xiàn)的時候,MySQL依然有查詢慢的問題。并且,對于運(yùn)維人員來說,運(yùn)營維護(hù)不夠自動化。為了解決這些問題,老王開始研究云端遷移的問題。

   自建云端MySQL,還是選擇成熟的云數(shù)據(jù)庫?

  為了保持?jǐn)?shù)據(jù)的一致性,老王最開始考慮的是在云服務(wù)器上自建MySQL數(shù)據(jù)庫。

  畢竟MySQL是一個有著20多年歷史的開源數(shù)據(jù)庫,也是最流行的互聯(lián)網(wǎng)開源數(shù)據(jù)庫。尤其是MySQL升級到MySQL 8.0后,已經(jīng)做了很多優(yōu)化,有很多新特征。比如:支持了json的數(shù)據(jù)類型,實(shí)現(xiàn)了json數(shù)據(jù)類型的讀取和訪問,支持NoSQL接口等。

  自建云端MySQL,便擁有了云的特征,包括:高可用,可彈性擴(kuò)展,可簡化運(yùn)維等。但是,自建云端MySQL的弊端也非常明顯:首先,云服務(wù)器成本太高,需要做軟、硬件的配置。其次,自建數(shù)據(jù)庫需要DBA自己來維護(hù),安全性很難保證。尤其是由硬件故障導(dǎo)致的安全隱患,很難控制。還有,DBA的水平問題,也決定了數(shù)據(jù)庫的穩(wěn)定性。其三,部署周期太長,需要采購硬件,找機(jī)房托管,重新部署。對于老王來說,他們沒有更多的人力、物力來解決這些問題。自建云端MySQL,無異于在給自己“挖坑”。

  所以,老王決定還是直接選用成熟的解決方案。于是,“云數(shù)據(jù)庫”跳入他的眼簾。

  放眼望去,市場上可選的“云數(shù)據(jù)庫”有很多。包括:AWS的Amazon Aurora,阿里的PolarDB、華為的云數(shù)據(jù)庫MySQL等。如何去選型?

  老王綜合評估了下,認(rèn)為有幾點(diǎn)很重要:

  第一,必須選擇大品牌。A網(wǎng)站是大型社交網(wǎng)站,數(shù)據(jù)庫就是企業(yè)的全部價值,老王不能拿網(wǎng)站的命運(yùn)和自己的職業(yè)生涯做賭注。所以,云數(shù)據(jù)庫產(chǎn)品必須位列前三。而AWS是全世界第一大云計算提供商,占據(jù)了大部分市場份額。

  第二,必須選擇成熟的解決方案。選擇把數(shù)據(jù)庫遷移到云端,就是為了獲得更好的性能,但是更高的性能要是以可靠性為代價,老王寧愿保持現(xiàn)狀。況且,云數(shù)據(jù)庫在中國畢竟是一個新概念,如果沒有成熟的案例,老王不能去當(dāng)這個“小白鼠”。從這點(diǎn)考慮, Amazon Aurora無疑最占優(yōu)勢。Amazon Aurora發(fā)布于2015年,經(jīng)過三年的驗(yàn)證,已經(jīng)得到了Autodesk、TIBCO、亞利桑那州立大學(xué)、通用電氣、BMC、每日新聞等諸多客戶的肯定。

  第三,要在具備更高性能的基礎(chǔ)上,兼容MySQL。Aurora的性能,毋庸置疑,作為云數(shù)據(jù)庫領(lǐng)域的頂級代表作,其吞吐能力無人能及。很多數(shù)據(jù)庫產(chǎn)品都把Aurora當(dāng)做標(biāo)桿,參考Aurora的架構(gòu)去做。另外,做數(shù)據(jù)庫大的挑戰(zhàn)就是兼容性。如果兼容性差,會讓遷移成本高出很多倍,這也是為什么說中間件和分庫分表是反人類方案的根本原因。Aurora恰好具備兼容性特點(diǎn),完全可以覆蓋MySQL和PostgreSQL。

  第四,可托管。老王希望使用云數(shù)據(jù)庫以后,可以減輕數(shù)據(jù)庫維護(hù)壓力。無需擔(dān)心硬件、軟件補(bǔ)丁、設(shè)置、配置或備份等數(shù)據(jù)庫管理任務(wù)。并且,云數(shù)據(jù)庫解決方案能提供自動監(jiān)控功能,能夠自動持續(xù)監(jiān)控并將其備份到存儲服務(wù)中,可以實(shí)現(xiàn)更精細(xì)的時間點(diǎn)恢復(fù)。在這一點(diǎn)上,Amazon Aurora也完勝同類解決方案。

  第五,在數(shù)據(jù)庫遷移過程中,不能影響業(yè)務(wù)運(yùn)行。Amazon Aurora能快速啟動,可直接連接到源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫,能把停機(jī)時間縮到最短。用戶可通過AWS DMS 創(chuàng)建表、加載數(shù)據(jù)并使其保持同步,隨時將應(yīng)用程序切換到目標(biāo)。

  如何遷移?

  從本地MySQL到云Amazon Aurora,老王是如何遷移的呢?

  從Amazon官網(wǎng)的遷移手冊來看,Amazon Aurora有多種不同的遷移方法。A網(wǎng)站選擇的是Percona XtraBackup備份工具,能支持全備及增量備份等。對比MySQLdump,XtraBackup 備份的是數(shù)據(jù)庫的二進(jìn)制數(shù)據(jù)及日志,并且文件可壓縮得更小。這樣,無論是備份和還原,速度都更快。

  安裝完備份工具后,再備份MySQL數(shù)據(jù)庫,然后將備份 MySQL 文件上傳到 Amazon S3。最后,在 Aurora Console 中還原備份文件到 Amazon Aurora。

從本地MySQL遷移到云數(shù)據(jù)庫,為什么是Amazon Aurora?

   數(shù)據(jù)庫實(shí)例和實(shí)例監(jiān)控

    為了進(jìn)一步優(yōu)化成本并滿足多個應(yīng)用程序的額外要求,A網(wǎng)站執(zhí)行了以下步驟:

  1,根據(jù) CPU 利用率自動調(diào)整 Aurora 副本的數(shù)量。不再持續(xù)運(yùn)行多個副本,僅在需要時增加副本。

  2,為所有集群部署Aurora快照工具,從而自動復(fù)制快照并實(shí)施30天的快照保留規(guī)則。使用控制臺操作快照注入,Binlog復(fù)制的只讀副本,DMS也可以訪問數(shù)據(jù)庫,并設(shè)置為源或者目標(biāo)。

  3,采用全量MySQLdump加增量Replication方式。但是,在 MySQLdump 導(dǎo)出數(shù)據(jù)并復(fù)制到目標(biāo)數(shù)據(jù)庫這段時間內(nèi),主庫要設(shè)置為只讀,避免新數(shù)據(jù)寫入。

  4,啟用 CloudWatch Logs,創(chuàng)建 CloudWatch 指標(biāo)和警報,從而持續(xù)監(jiān)控 Aurora 數(shù)據(jù)庫集群中的活動。

  5,在決定遷移前,要做兼容性測試。我們可以定義Aurora的Master節(jié)點(diǎn)容量大小,臨時測試環(huán)境可以使用t系列的機(jī)型,生產(chǎn)環(huán)境可以使用r系列的機(jī)型??筛鶕?jù)生產(chǎn)的壓力選擇合適大小的機(jī)型。

  最終,A網(wǎng)站非常成功地把MySQL上的數(shù)據(jù)遷移到了Amazon Aurora。綜合來看,在性能上高于原來的5倍,的確不只是傳說。Amazon Aurora大大提高了原有數(shù)據(jù)庫的性能和可擴(kuò)展性,并且優(yōu)化了成本。在峰值期間,系統(tǒng)能收到高于原來至少10倍的請求。

從本地MySQL遷移到云數(shù)據(jù)庫,為什么是Amazon Aurora?

   性能表現(xiàn)

    自此,老王終于可以松一口氣了。未來,他想把更多的關(guān)注點(diǎn)放在更有價值的業(yè)務(wù)上,而不是每天被各種紛繁復(fù)雜的瑣事,忙得焦頭爛額。

  寫在最后:

  Amazon Aurora,一個最有魅力的極光女神,創(chuàng)造了全球云數(shù)據(jù)庫之最。對于中國用戶來說,很多人可能不懷疑他的技術(shù)能力,但是對于本地服務(wù)是否給力,心存疑慮。其實(shí),AWS早已在布局中國市場,由光環(huán)新網(wǎng)運(yùn)營的AWS中國(北京)區(qū)域和西云數(shù)據(jù)運(yùn)營的中國(寧夏)區(qū)域提供與全球各地的其他 AWS 區(qū)域相似的技術(shù)服務(wù)平臺。開發(fā)人員可以在中國境內(nèi)輕松、高效地部署基于云的應(yīng)用程序,使用相同的 API、協(xié)議和與 AWS 全球客戶無差別的操作標(biāo)準(zhǔn)。

  如今,AWS正在向中國用戶大力推廣Amazon Aurora,如果您想體驗(yàn)云數(shù)據(jù)庫帶來的極致體驗(yàn),點(diǎn)擊這里即可 申請AWS 中國區(qū)域賬戶 >>

當(dāng)前名稱:從本地MySQL遷移到云數(shù)據(jù)庫,為什么是AmazonAurora?-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://muchs.cn/article20/dsjoco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、定制網(wǎng)站、建站公司、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)