最近根據(jù)多個(gè)應(yīng)用使用阿里云 DRDS 產(chǎn)品狀況,做了一個(gè)入門(mén)攻略猖吴。因?yàn)槲臋n較多摔刁,全部看完需要時(shí)間,所以挑選了一些重要的點(diǎn)供各位參考海蔽。
一切的開(kāi)始共屈,需要了解這玩意到底是干什么的,推薦看下產(chǎn)品概述和產(chǎn)品基本原理
確認(rèn)這個(gè)產(chǎn)品能夠解決你的核心問(wèn)題党窜,接下來(lái)一個(gè)很重要的點(diǎn)是怎么用好這個(gè)產(chǎn)品拗引,數(shù)據(jù)庫(kù)產(chǎn)品我個(gè)人認(rèn)為都是有坑的,只是坑大坑小刑然,以及能否從坑里面爬出來(lái)的問(wèn)題寺擂。
無(wú)論怎么樣,簡(jiǎn)單上手下看看泼掠,快速入門(mén)系列文檔 是比較合適的怔软。
當(dāng)你按步驟連上 DRDS 后,做了一些操作之后择镇,你可能并不清楚到底發(fā)生了什么挡逼,如果這個(gè)時(shí)候馬上去按照你的理解上業(yè)務(wù)表測(cè)試,可能就埋了坑腻豌,DRDS 這個(gè)產(chǎn)品的表結(jié)構(gòu)設(shè)計(jì)和單機(jī)數(shù)據(jù)庫(kù)有一個(gè)很重要的區(qū)別在于:怎么拆表家坎。所以這個(gè)時(shí)候我推薦大家看下如何選擇拆分鍵這個(gè)文檔以及 DRDS 快速入門(mén) 這個(gè)視頻,這個(gè)時(shí)間我認(rèn)為花得是值得的吝梅。不過(guò)這里補(bǔ)充下虱疏,類(lèi)似 MySQL 也存在聚簇索引怎么選擇的問(wèn)題,只是 MySQL 有二級(jí)索引支持苏携,這個(gè)問(wèn)題相對(duì)不嚴(yán)重做瞪,而類(lèi)似分布式數(shù)據(jù)庫(kù),如果不支持全局二級(jí)索引右冻,只能通過(guò)跨分片并行查詢(xún)緩解装蓬,并發(fā)很可能就上不去了,如果支持了全局二級(jí)索引纱扭,并且能夠用分布式事務(wù)保證牍帚,則會(huì)好很多,期待這個(gè)產(chǎn)品未來(lái)能夠支持乳蛾,這個(gè)時(shí)候拆分字段設(shè)計(jì)也不是特別重要的問(wèn)題了暗赶。
接下來(lái)是一個(gè)初始化測(cè)試環(huán)境鄙币,進(jìn)行數(shù)據(jù)導(dǎo)入或者造數(shù)據(jù)的過(guò)程,你對(duì)資源一定很關(guān)心蹂随,怎么配比 DRDS 和 RDS爱榔, 按照個(gè)人經(jīng)驗(yàn),DRDS 可以從最低配規(guī)格開(kāi)始糙及,因?yàn)槲依斫膺@個(gè)產(chǎn)品本身沒(méi)有狀態(tài),升配如同應(yīng)用擴(kuò)機(jī)器一樣會(huì)比較方便筛欢,RDS 的話測(cè)試環(huán)境 1 或者 2 個(gè)都行浸锨,生產(chǎn)可以參考如何選擇分片數(shù)這個(gè)文檔,但是有一點(diǎn)文檔中沒(méi)有提版姑,需要考慮數(shù)據(jù)容量的問(wèn)題柱搜,單節(jié)點(diǎn) RDS 數(shù)據(jù)存儲(chǔ)很大,后續(xù)在做備份剥险、做只讀實(shí)例聪蘸、做容災(zāi)恢復(fù),時(shí)間是以天來(lái)計(jì)的表制,所以如果程序能夠改成水平拆分的健爬,單個(gè) RDS 數(shù)據(jù)量不超過(guò) 1TB 為好。舉個(gè)非常簡(jiǎn)單的例子么介,你有 10T 數(shù)據(jù)娜遵,使用 10-15個(gè) RDS 解決問(wèn)題,而不是 5-6 個(gè)壤短。
另外為了避免后續(xù)生產(chǎn)上的麻煩设拟,建議選擇 8c16g(包含)以上的 RDS 節(jié)點(diǎn),用一堆屌絲實(shí)例堆出來(lái)的分布式數(shù)據(jù)庫(kù)久脯,穩(wěn)定性遠(yuǎn)不如規(guī)格比較大的實(shí)例纳胧。
當(dāng)你把環(huán)境規(guī)劃好,在做功能開(kāi)發(fā)的過(guò)程中帘撰,建議能夠看下這個(gè)產(chǎn)品的大部分文檔跑慕,并且推薦看下 DRDS 常見(jiàn)問(wèn)題專(zhuān)用貼這個(gè)帖子,乍一看嚇一跳骡和,但是能夠把坑告訴你的產(chǎn)品是不多的相赁,并且了解這些內(nèi)容,對(duì)團(tuán)隊(duì)開(kāi)發(fā)遇到問(wèn)題的解決速度會(huì)有幫助慰于,另外這些問(wèn)題钮科,有些已經(jīng) fix 掉。
功能開(kāi)發(fā)完畢婆赠,很多應(yīng)用可能會(huì)直接上線绵脯,不過(guò)在此建議補(bǔ)充下性能測(cè)試佳励,特別是核心場(chǎng)景。目前市面上提供的分布式數(shù)據(jù)庫(kù)蛆挫,即使功能兼容性再好赃承,不做性能測(cè)試,也是不讓人放心的悴侵,很可能發(fā)布失敗瞧剖,因?yàn)橛行┪锢碓砩系膯?wèn)題跨不過(guò)去(按照目前大部分產(chǎn)品的架構(gòu)和硬件而言),所以這個(gè)時(shí)候你會(huì)導(dǎo)入一些數(shù)據(jù)到 DRDS 中可免,可以參考數(shù)據(jù)導(dǎo)入這個(gè)文檔抓于。
實(shí)際生產(chǎn)使用之前,你應(yīng)該還會(huì)非常關(guān)心監(jiān)控告警問(wèn)題 浇借,前期 DRDS 監(jiān)控并不豐富捉撮,且實(shí)時(shí)性不高,后來(lái)做了一次改造妇垢,好了不少巾遭,具體參見(jiàn) DRDS 實(shí)例監(jiān)控 ,配合近期上線的闯估、萬(wàn)能的重啟功能灼舍,終于圓滿(mǎn)了,對(duì)于線上問(wèn)題睬愤,不能重啟很可能會(huì)放大影響片仿,靠工單并不靠譜。
另外一個(gè)有意思的現(xiàn)象是尤辱, DRDS 提供了秒級(jí)統(tǒng)計(jì)的指令讓業(yè)務(wù)自己能夠有所發(fā)揮砂豌,參見(jiàn)這個(gè)指令的說(shuō)明統(tǒng)計(jì)信息查詢(xún)類(lèi)語(yǔ)句,我為此還寫(xiě)過(guò)一篇文章使用Grafana快速搭建 DRDS 秒級(jí)監(jiān)控光督,總體來(lái)說(shuō)是有效的阳距,里面包括ERROR_PER_SECOND, FULLGCCOUNT,CPU都是值得關(guān)注的指標(biāo)结借,ERROR_PER_SECOND有數(shù)值的話筐摘,你的應(yīng)用是不正常的(排除 VIOLATION_PER_SECOND ),F(xiàn)ULLGCCOUNT 不斷在增張的話(幾秒鐘變化一次)船老,那很可能 SQL 出了問(wèn)題咖熟,CPU 一直處于80%以上時(shí),一個(gè)可能是存在大量數(shù)據(jù)導(dǎo)入導(dǎo)出或者數(shù)據(jù)處理柳畔,另外一個(gè)可能是應(yīng)用流量過(guò)大等等馍管,后續(xù)我專(zhuān)門(mén)寫(xiě)一篇文章對(duì)這些指標(biāo)進(jìn)行一下解析,這個(gè)指令是非常不錯(cuò)的薪韩。
當(dāng)應(yīng)用進(jìn)行過(guò)性能測(cè)試或者真正上線功能之后确沸,你會(huì)發(fā)現(xiàn) DRDS 適用的場(chǎng)景可能覆蓋不了你的所有場(chǎng)景捌锭,從云棲大會(huì)來(lái)看,這個(gè)產(chǎn)品比較適合前臺(tái)落數(shù)據(jù)的業(yè)務(wù) 罗捎,后臺(tái)業(yè)務(wù)可能會(huì)碰到一些問(wèn)題观谦,不過(guò)我最近也觀察到,這個(gè)產(chǎn)品上線了只讀實(shí)例體系桨菜,特別是分析型只讀實(shí)例豁状,對(duì)于跨分片的大查詢(xún)非常有利,從文檔描述來(lái)看倒得,是使用了類(lèi) Spark 方式直接對(duì)在線數(shù)據(jù)進(jìn)行計(jì)算替蔬,具體文檔可以參見(jiàn) DRDS 只讀實(shí)例介紹 ,不過(guò)建議后續(xù)主實(shí)例或者并發(fā)型只讀實(shí)例上可以上線類(lèi)似單機(jī)并行計(jì)算( SMP ),放棄一定并發(fā)度屎暇,加快面向 OLTP 類(lèi)查詢(xún)的速度,這樣面對(duì)企業(yè)級(jí)應(yīng)用場(chǎng)景的時(shí)候驻粟,會(huì)更加得心應(yīng)手些根悼。
當(dāng)然大數(shù)據(jù)產(chǎn)品在某些情況下必不可少,這里推薦數(shù)據(jù)集成這個(gè)工具蜀撑,詳情參見(jiàn)文檔數(shù)據(jù)集成介紹挤巡。
云上的數(shù)據(jù)傳輸服務(wù) DTS 產(chǎn)品同樣支持了 DRDS 產(chǎn)品,當(dāng)然如果你不想付錢(qián)酷麦,想自己折騰下矿卑,也可以使用 github 上 alibaba/canal 產(chǎn)品。對(duì)于數(shù)據(jù)導(dǎo)入導(dǎo)出沃饶,以及同步母廷,個(gè)人認(rèn)為都做得不夠好,什么時(shí)候能夠出一個(gè)通殺的產(chǎn)品呢糊肤?值得期待琴昆。
整體使用指南就介紹到這里,如果對(duì) DRDS 產(chǎn)品你有一次比較成功的使用馆揉,我相信還是會(huì)比較爽的业舍,至少個(gè)人認(rèn)為如此。