oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
開宗明義,你不應(yīng)該在阿里云上使用自建的MySQL or SQL Server數(shù)據(jù)庫(kù),對(duì)了,還有Oracle or PostgreSQL數(shù)據(jù)庫(kù)。
云數(shù)據(jù)庫(kù) RDS(Relational Database Service)是一種穩(wěn)定可靠、可彈性伸縮的在線數(shù)據(jù)庫(kù)服務(wù)。基于飛天分布式系統(tǒng)和全SSD盤高性能存儲(chǔ),支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎,默認(rèn)部署主備架構(gòu)且提供了容災(zāi)、備份、恢復(fù)、監(jiān)控、遷移等方面的全套解決方案。
當(dāng)然,并不是指所有用戶,這還是有條件的,包括但不限于以下兩點(diǎn):
你的網(wǎng)站或項(xiàng)目發(fā)展到一定階段,需要將數(shù)據(jù)庫(kù)獨(dú)立出來(lái),不再和網(wǎng)站程序或應(yīng)用程序放在一臺(tái)ECS上;
即便你有一個(gè)對(duì)數(shù)據(jù)庫(kù)很了解的開發(fā)人員或運(yùn)維人員,也不應(yīng)該自建數(shù)據(jù)庫(kù),因?yàn)樽岄_發(fā)專注做程序開發(fā),讓運(yùn)維專注做運(yùn)維自動(dòng)化,這才是能讓生產(chǎn)最大化的決策。
還有個(gè)別情況是:你也許有一個(gè)小型的數(shù)據(jù)庫(kù)技術(shù)團(tuán)隊(duì),比如2、3個(gè)人,也不應(yīng)該自建數(shù)據(jù)庫(kù),因?yàn)檫@通常需要維護(hù)整個(gè)基礎(chǔ)架構(gòu),比如說(shuō)網(wǎng)絡(luò)負(fù)載均衡(管理交換機(jī))、數(shù)據(jù)可靠性(磁盤raid)、中間件(讀寫分離)、故障自動(dòng)轉(zhuǎn)移(主備切換)、主從架構(gòu)(數(shù)據(jù)同步)等等。這些技能不見得DBA都會(huì),比如網(wǎng)絡(luò)設(shè)備,是不是又要增加一個(gè)網(wǎng)絡(luò)工程師的崗位呢,對(duì)于成本的增加,你有沒(méi)有考慮進(jìn)去?
然而,對(duì)于阿里云數(shù)據(jù)庫(kù)RDS來(lái)說(shuō),以上這些需求本身已經(jīng)具備了,所以數(shù)據(jù)庫(kù)DBA更應(yīng)該著重于跟業(yè)務(wù)相關(guān)的優(yōu)化上面。因?yàn)檫@才是iaas(基礎(chǔ)架構(gòu)即服務(wù))的精髓。
但是,我們還是要分析清楚,為什么要使用RDS,它好在哪些具體的地方?
阿里云數(shù)據(jù)庫(kù)RDS包括了4種:MySQL/SQL Server/Oracle/PostgreSQL,我們先說(shuō)其中之一的RDS for MySQL吧。
RDS for MySQL目前包括了三個(gè)版本:5.7、5.6、5.5:
首先推薦的是5.6,因?yàn)?.6與5.5相比,性能優(yōu)化了很多,阿里的數(shù)據(jù)庫(kù)團(tuán)隊(duì),向mysql官方提供了很多的patch,是國(guó)內(nèi)最大的技術(shù)貢獻(xiàn)者。而且5.6推出一段時(shí)間了,非常成熟穩(wěn)定,5.6和5.5的兼容性也非常好,筆者曾經(jīng)將多個(gè)不同使用場(chǎng)景的5.5的數(shù)據(jù)庫(kù)遷移到5.6,都沒(méi)發(fā)生任何兼容性問(wèn)題。如果不是有啥特殊原因一定要5.5,就建議選擇5.6啦。另外,5.6在主從同步方面也是采用半同步方式,而不是5.5的異步,這就更加保證的數(shù)據(jù)可靠性。
5.6還有一個(gè)非常重要的功能,就是獨(dú)寫分離,目前只有5.6支持,筆者所在的項(xiàng)目已經(jīng)使用這個(gè)功能幾個(gè)月了,非常的好用,非常的讓人省心,我想這個(gè)可能是互聯(lián)網(wǎng)電商項(xiàng)目夢(mèng)寐以求的功能吧。要知道,你自建讀寫分離,一般是使用開源的中間件作為代理層,這就要求你非常熟悉這個(gè)中間件的用法,包括設(shè)置權(quán)重、閾值、健康檢查等等,這就大大增加了學(xué)習(xí)成本,不然的話你不擔(dān)心出了故障無(wú)法解決嗎?另外,使用開源中間件,在數(shù)據(jù)到達(dá)數(shù)據(jù)庫(kù)之前需要經(jīng)歷多個(gè)組件的語(yǔ)句解析和轉(zhuǎn)發(fā),對(duì)響應(yīng)延遲有較大的影響。而 RDS 讀寫分離在已有的高安全鏈路中直接內(nèi)置,沒(méi)有任何額外的組件來(lái)消耗時(shí)間,能夠有效降低延遲,提升處理速度。
不管5.6還是5.5,都提供高可用版本,筆者強(qiáng)烈推薦互聯(lián)網(wǎng)電商、游戲等項(xiàng)目使用它,這個(gè)版本是采用一主一備的高可用架構(gòu),同時(shí)提供本地ssd存儲(chǔ),有故障會(huì)自動(dòng)切換主備實(shí)例。就光這一點(diǎn),自建數(shù)據(jù)庫(kù)就達(dá)不到,可以說(shuō)絕大多數(shù)公司的主數(shù)據(jù)庫(kù)都是單個(gè)mysql實(shí)例,遇到機(jī)器故障就只能停機(jī),做不到自動(dòng)切換。這并不是說(shuō)這些公司不想使用高可用架構(gòu),而是真的有門檻,你以為照著網(wǎng)上的教程搭建好兩個(gè)master,用心跳軟件做好監(jiān)控就行了嗎?錯(cuò)了,后期的維護(hù)往往要比最初的環(huán)境搭建要難多了,這不僅僅是mysql本身的高可用,還必須結(jié)合自身業(yè)務(wù)情況才行。筆者以前所在的大型電商公司,就擁有數(shù)據(jù)庫(kù)團(tuán)隊(duì),曾經(jīng)想做這樣的高可用架構(gòu),但一直不敢正式上線運(yùn)行,原因就是現(xiàn)實(shí)中會(huì)遇到各種各樣的問(wèn)題,始終沒(méi)有完美的辦法解決。
5.6同時(shí)還提供金融版:采用一主兩備的架構(gòu),通過(guò)日志“多副本同步復(fù)制”,確保數(shù)據(jù)的強(qiáng)一致性,所以特別適合金融、證券、保險(xiǎn)行業(yè)的核心數(shù)據(jù)庫(kù)。而且,高可用版和金融版之間,是可以切換的哦,贊不贊?
有人說(shuō)RDS的費(fèi)用比自建MySQL所用的ECS服務(wù)器,相同配置貴了不少。沒(méi)錯(cuò),確實(shí)是貴一些,要知道上面剛說(shuō)了,是一主一備兩個(gè)實(shí)例,你自建如果用兩臺(tái)ECS實(shí)現(xiàn),費(fèi)用更貴,而且還不考慮是否好用的因素,明白了嗎?
提供全面的監(jiān)控診斷:線程內(nèi)存、SQL資源消耗等監(jiān)控,幫助用戶快速進(jìn)行問(wèn)題診斷。這個(gè)也是重點(diǎn)呀,自建的數(shù)據(jù)庫(kù)可以說(shuō)基本沒(méi)有這些監(jiān)控,只能記錄慢查詢,再采用第三方工具分析日志,再進(jìn)一步,使用一些開源工具平臺(tái),比如zabbix,自帶了一些mysql基礎(chǔ)監(jiān)控,如果要粒度更進(jìn)一步,可能需要安裝其他插件,比如有一個(gè)比較有名的zabbix for mysql插件叫做fpmmm的,筆者也一直在使用。然而即便如此,筆者仍然認(rèn)為比不上RDS提供的監(jiān)控項(xiàng),要知道,現(xiàn)實(shí)中分析一個(gè)故障,是需要多種手段結(jié)合起來(lái)一起輔助分析的,并不是提供的監(jiān)控圖越多,就一定能找出來(lái)。
備份:包括數(shù)據(jù)備份和日志備份,RDS都提供了,而且對(duì)于備份而言,更重要的是恢復(fù)和檢查數(shù)據(jù)完整性。筆者想問(wèn)問(wèn)各位,有多少人是沒(méi)做備份的,又有多少人是做了備份,但是沒(méi)有定時(shí)去恢復(fù)的,也就是說(shuō),你做的備份正確嗎,你驗(yàn)證過(guò)嗎,你會(huì)定期去驗(yàn)證嗎?恐怕由于人力物力的問(wèn)題,這些都不會(huì)去做的。RDS提供了很重要的恢復(fù)方法,有三種:叫只讀實(shí)例、克隆實(shí)例、災(zāi)備實(shí)例。從字面上應(yīng)該可以理解它們的作用了,詳細(xì)使用方法還是去看RDS文檔吧。
CloudDBA是監(jiān)控和管理RDS實(shí)例性能及運(yùn)行狀況的服務(wù),在RDS控制臺(tái)的實(shí)例管理頁(yè)面,目前只適用于MySQL類型的實(shí)例。針對(duì)SQL語(yǔ)句的性能、CPU使用率、IOPS使用率、內(nèi)存使用率、磁盤空間使用率、連接數(shù)、鎖信息、熱點(diǎn)表等,CloudDBA提供了智能的診斷及優(yōu)化功能,能最大限度發(fā)現(xiàn)數(shù)據(jù)庫(kù)存在的或潛在的健康問(wèn)題。CloudDBA的診斷基于單個(gè)實(shí)例,該診斷會(huì)提供問(wèn)題詳情及相應(yīng)的解決方案,可為您管理實(shí)例運(yùn)行狀況帶來(lái)極大的便利。目前只支持5.6和5.5。
現(xiàn)在說(shuō)5.7,是最近推出不久的,它的關(guān)鍵在于是單機(jī)版。與標(biāo)準(zhǔn)的主備雙機(jī)高可用版相比,單機(jī)基礎(chǔ)版只提供一個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),通過(guò)底層數(shù)據(jù)存儲(chǔ)層來(lái)保證數(shù)據(jù)多副本可靠性。數(shù)據(jù)庫(kù)節(jié)點(diǎn)的減少,大幅降低了CPU和內(nèi)存資源的開銷,從而降低整體投入成本。因?yàn)閷?duì)于個(gè)人、中小企業(yè)來(lái)說(shuō),能夠接受短暫的故障停機(jī)(當(dāng)然如果維護(hù)得好 ,這基本也是不存在的)。它的價(jià)格,與自建數(shù)據(jù)庫(kù)相當(dāng)了,但是仍然提供了前面幾點(diǎn)的各種功能,所以強(qiáng)烈推薦中小企業(yè)使用的。
安全性,也是很多人關(guān)注的。云數(shù)據(jù)庫(kù)RDS提供了多樣化的安全加固功能來(lái)保障用戶數(shù)據(jù)的安全,其中包括但不限于:
* 網(wǎng)絡(luò):IP 白名單、VPC 網(wǎng)絡(luò)、SSL(安全套接層協(xié)議)、SQL 防火墻
* 存儲(chǔ):TDE(透明數(shù)據(jù)加密)、自動(dòng)備份
* 容災(zāi):同城容災(zāi)(多可用區(qū)實(shí)例)、異地容災(zāi)(兩地多中心)
11. 數(shù)據(jù)庫(kù)管理:筆者用過(guò)命令行、navicat、phpMyAdmin等工具進(jìn)行日常的數(shù)據(jù)庫(kù)維護(hù),我猜想大部分人也是如此。RDS使用“數(shù)據(jù)管理DMS”:提供關(guān)系型數(shù)據(jù)庫(kù)和NoSQL的統(tǒng)一管理。它源自阿里數(shù)據(jù)庫(kù)服務(wù)平臺(tái)iDB,為數(shù)萬(wàn)研發(fā)人員提供數(shù)據(jù)庫(kù)研發(fā)支撐,已在線上運(yùn)行8年。您可以使用數(shù)據(jù)管理DMS輕松構(gòu)建企業(yè)獨(dú)有的數(shù)據(jù)庫(kù)DevOps,促進(jìn)數(shù)據(jù)庫(kù)研發(fā)自助化,提升研發(fā)效率,同時(shí)保證員工數(shù)據(jù)庫(kù)訪問(wèn)安全及數(shù)據(jù)庫(kù)高性能。默認(rèn)是免費(fèi)版的,已經(jīng)可以滿足大多數(shù)人的使用需求了,如果還覺(jué)得不夠,可以購(gòu)買高級(jí)版,提供更強(qiáng)大的功能,具體可以查閱產(chǎn)品文檔。筆者想說(shuō)的是:你只需要有一個(gè)瀏覽器,就可以管理自己的數(shù)據(jù)庫(kù)。
12. 有人說(shuō),說(shuō)了這么多,到底性能如何呀,我建議你還是自己體驗(yàn)吧,附上一張圖:
13. 如何從自建庫(kù)遷移到RDS,請(qǐng)看文檔吧:https://help.aliyun.com/document_detail/26210.html
現(xiàn)在,你同意我的觀點(diǎn)嗎:RDS是不是比自建數(shù)據(jù)庫(kù)要好呢?
購(gòu)買地址:阿里云數(shù)據(jù)庫(kù)RDS for MySQL,記得領(lǐng)前面提到的幸運(yùn)券哦,購(gòu)買時(shí)長(zhǎng)就和你的ECS服務(wù)器一致就行了,年付8.5折,兩年付7折,三年付5折。
更新:有的朋友讓推薦一下購(gòu)買配置,這個(gè)其實(shí)還是跟自身的項(xiàng)目有關(guān)。筆者曾經(jīng)短時(shí)間跟過(guò)一個(gè)電商項(xiàng)目,每天都有幾場(chǎng)到十幾場(chǎng)秒殺,規(guī)模上來(lái)之后,ECS服務(wù)器的配置是8核16G的,當(dāng)時(shí)把數(shù)據(jù)庫(kù)從本機(jī)拆出來(lái),購(gòu)買了RDS,選的配置5.6高可用版,硬件是4核16G,存儲(chǔ)是100G,使用起來(lái)網(wǎng)站還是很流暢的,這也得益于前端防刷做得比較好吧。當(dāng)然,除了ECS和RDS,也還使用了諸如OSS、CDN、WAF等產(chǎn)品,結(jié)合nginx過(guò)濾和程序防刷機(jī)制等等。
總結(jié)
以上是生活随笔為你收集整理的oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《SAP从入门到精通》——第1章 SAP
- 下一篇: 最新谷歌本地搜索api