新聞中心
深度:阿里云分布式關(guān)系型數(shù)據(jù)庫DRDS解析
作者:佚名 2017-07-07 14:41:43
企業(yè)動態(tài)
分布式 阿里云中間件產(chǎn)品經(jīng)理鳳豪為本文中深度介紹了阿里云分布式關(guān)系型數(shù)據(jù)庫DRDS的發(fā)展歷史以及DRDS的優(yōu)勢。下面是演講主要內(nèi)容整理。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計,尼勒克網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:尼勒克等地區(qū)。尼勒克做網(wǎng)站價格咨詢:13518219792
阿里云中間件產(chǎn)品經(jīng)理鳳豪為本文中深度介紹了阿里云分布式關(guān)系型數(shù)據(jù)庫DRDS的發(fā)展歷史以及DRDS的優(yōu)勢。下面是演講主要內(nèi)容整理。
數(shù)據(jù)庫面臨的挑戰(zhàn)
單機數(shù)據(jù)庫在數(shù)據(jù)存儲容量、訪問容量、容災(zāi)等方面都會隨著業(yè)務(wù)的增長而到達瓶頸,無論哪一個,對業(yè)務(wù)來說是一項相當(dāng)艱巨的挑戰(zhàn)。存儲容量瓶頸問題,雖然可以通過在一個機器下面掛很多塊磁盤,做到10T、20T、30T容量,然后使用一個MySQL實例支撐,但是數(shù)據(jù)備份、數(shù)據(jù)管理(DDL)、數(shù)據(jù)檢索與更新性能(DML)都會出現(xiàn)大幅下滑。
單機數(shù)據(jù)庫的擴展方式通常有兩種:通過硬件升級的方式,或者采用分布式的存儲方案方式。但是單機數(shù)據(jù)庫使用分布式架構(gòu)的同時,缺乏整體的長期的優(yōu)化和產(chǎn)品化,對應(yīng)用的侵入性非常大,造成開發(fā)和運維的成本大幅提高、降低產(chǎn)品穩(wěn)定性。
DRDS 成熟的分布式架構(gòu),可以提供給用戶使用單機數(shù)據(jù)庫一致的體驗,底層通過分布式的架構(gòu)輕松實現(xiàn)數(shù)據(jù)庫的高擴展性,降低開發(fā)成本的同時,也提升了數(shù)據(jù)庫存儲和服務(wù)擴展能力。
數(shù)據(jù)庫的挑戰(zhàn)也在于更高的數(shù)據(jù)容量承載,更高的數(shù)據(jù)庫服務(wù)性能支撐。數(shù)據(jù)庫關(guān)鍵能力在既要保持數(shù)據(jù)庫ACID特性和事務(wù)強一致性支持,又要具備***擴容和彈性擴展的能力。
DRDS與MySQL、NoSQL的區(qū)別
那我們怎么認識DRDS與MySQL、NoSQL之間的差異呢?具體來說,MySQL核心優(yōu)勢是關(guān)系模型ACID特性和事務(wù)一致性,但MySQL在保持ACID特性一致性的原則下,單機數(shù)據(jù)庫的擴展給開發(fā)和運維帶來了巨大的成本。NOSQL則在拋棄關(guān)系模型特性的情況下,通過分布式的方式解決了數(shù)據(jù)庫的高擴展性,但是面對復(fù)雜多樣的關(guān)系模型的使用場景NOSQL不能作為一種通用的數(shù)據(jù)庫解決方案使用,且NOSQL推出的時間短,產(chǎn)品成熟度不高,系統(tǒng)穩(wěn)定性和可運維行較差,對于正式生產(chǎn)環(huán)境使用風(fēng)險仍舊很高。
分布式關(guān)系型數(shù)據(jù)庫DRDS則在保持關(guān)系模型的特性和數(shù)據(jù)庫高擴展性發(fā)做了很好的平衡,實現(xiàn)數(shù)據(jù)庫的高擴展性的同時,也***化的保持了關(guān)系型數(shù)據(jù)ACID特性和事務(wù)一致性。
DRDS產(chǎn)品在阿里巴巴集團內(nèi)部的對應(yīng)產(chǎn)品是TDDL,2008年開始大規(guī)模接入內(nèi)部核心系統(tǒng)生產(chǎn)環(huán)境,是阿里巴巴近千核心應(yīng)用***組件。DRDS在2014年6月開始公測,2014年12月DRDS正式上線時已穩(wěn)定服務(wù)8年以上,是阿里巴巴8年技術(shù)沉淀的結(jié)晶。
DRDS突破數(shù)據(jù)庫極限
數(shù)據(jù)庫的***個極限就是高擴展性。
基于2008年左右分布式數(shù)據(jù)庫領(lǐng)域比較流行的數(shù)據(jù)拆分理論,淘寶開始自主研發(fā)分布式關(guān)系型數(shù)據(jù)庫服務(wù)來解決數(shù)據(jù)庫擴展的問題,并于2008年上線TDDL/DRDS服務(wù),DRDS底層采用分布式的架構(gòu),通過“分而治之”拆分原理,將單機數(shù)據(jù)庫實例進行多實例拆分,依據(jù)拆分緯度將業(yè)務(wù)的數(shù)據(jù)拆分到單機數(shù)據(jù)庫實例集群上,同時保持對應(yīng)用層使用邏輯上完全透明,應(yīng)用層仍舊保持單機數(shù)據(jù)一致的使用方式,但是擴展性卻大大提升。
目前DRDS已經(jīng)可以做到完全平滑的擴容,當(dāng)數(shù)據(jù)庫的容量或者處理能力不足的時候,只需要簡單的“加機器”就能夠?qū)崿F(xiàn)數(shù)據(jù)庫能力的線性擴展,而整個過程可以做到應(yīng)用透明無感知。
分布式關(guān)系型數(shù)據(jù)庫的另外一個極大挑戰(zhàn),在于分布式環(huán)境下跨庫SQL查詢效率。分布式架構(gòu)下邏輯單庫單表數(shù)據(jù)會分拆到不同的物理分庫分表上,當(dāng)分庫分表和業(yè)務(wù)源信息小表JOIN的時候,必然需要將分庫分表和小表數(shù)據(jù)先讀取然后做合并JOIN,這就造成存在大量的跨物理單庫的IO操作,分布式SQL的執(zhí)行效率會大大降低,而DRDS的小表復(fù)制功能可以通過簡單的小表廣播配置,將JOIN的驅(qū)動小表配置成廣播表,將廣播表的數(shù)據(jù)實時廣播到分庫分表上,這樣就將跨庫的JOIN變成單機JOIN操作,系統(tǒng)的性能就得到了極大的提升。
分布式關(guān)系型數(shù)據(jù)庫的另外一個巨大極限挑戰(zhàn)在分布式數(shù)據(jù)庫的數(shù)據(jù)拆分緯度是單一的,而實際數(shù)據(jù)使用緯度多樣的。當(dāng)數(shù)據(jù)拆分緯度和數(shù)據(jù)使用緯度不一致的時候,單條SQL會下發(fā)到多個物理的分庫執(zhí)行,當(dāng)分庫分表數(shù)量達到百甚至千級別的時候,大量的SQL下發(fā)和歸并操作也會造成巨大的IO性能消耗,造成系統(tǒng)的整體性能直線下降。
DRDS能夠通過異構(gòu)復(fù)制的功能,使用“空間換性能”的方式將同一份數(shù)據(jù)冗余多份,多份數(shù)據(jù)按照不同的業(yè)務(wù)使用場景進行拆分,保持了業(yè)務(wù)使用緯度和數(shù)據(jù)拆分緯度的一致性,SQL跨庫查詢變成了物理單庫查詢,避免了大量IO操作,系統(tǒng)性能大幅提升。
DRDS提供的另外一個重要核心特性就是“透明讀寫分離”功能。讀寫分離是關(guān)系型數(shù)據(jù)庫使用頻度非常高的功能,但是傳統(tǒng)單機數(shù)據(jù)庫的讀寫分離和應(yīng)用的耦合性非常高,應(yīng)用需要從代碼層面分別操作讀實例和主實例、讀寫分離的讀寫流量分配、讀實例的擴容以及特定SQL讀寫路由也需要修改代碼的來實現(xiàn),這就造成了很大運維成本,應(yīng)用的代碼復(fù)雜度增加。同時,在面對突然暴增的業(yè)務(wù)流量情況下數(shù)據(jù)庫不能夠提供快速的讀寫分離擴容機制,對業(yè)務(wù)來說是非常大的不穩(wěn)定因素。
DRDS能夠做到對應(yīng)用完全透明的讀寫分離,將數(shù)據(jù)庫和應(yīng)用層完全解耦,應(yīng)用不需要關(guān)心底層的讀寫分離的路由具體實現(xiàn),數(shù)據(jù)庫的連接串不需要修改。只需要在控制臺增加只讀實例和配置讀寫流量分配比例,DRDS就可以依據(jù)SQL進行讀寫路由,同時可以實時在控制臺變更和查詢讀寫流量的分配比例,對于一些特殊的SQL如果需要強制路由到讀實例或者主實例執(zhí)行,也可以通過DRDS特性的hint語法實現(xiàn)差異化的路由規(guī)則,這對于數(shù)據(jù)庫的運維效率是質(zhì)的提升。
透明的讀寫分離功能無論對于初創(chuàng)企業(yè)還是復(fù)雜業(yè)務(wù)場景的大型企業(yè),都可以大大降低數(shù)據(jù)庫運維成本,降低應(yīng)用代碼復(fù)雜度,短期內(nèi)就可以具備專業(yè)的數(shù)據(jù)庫運維能力,系統(tǒng)的穩(wěn)定性也得到很好的保證。
DRDS具有完整的分布式事務(wù)套件、***的支持分布式事務(wù),DRDS可以做到“讀提交”級別的分布式事務(wù)支持,能夠滿足90%以上的事務(wù)需求場景。同時基于阿里云長期對事務(wù)的實踐得出的經(jīng)驗,大部分的事務(wù)場景都不是真正的強一致的事務(wù)場景,建議通過異步的事務(wù)解耦,將強事務(wù)轉(zhuǎn)換為異步的事務(wù)序列,可以獲得系統(tǒng)擴展性和系統(tǒng)性能的大幅提升。
DRDS優(yōu)勢
總體來講,DRDS突破了單機數(shù)據(jù)關(guān)系型數(shù)據(jù)庫強依賴硬件且擴展能力有限的困境,通過分布式集群架構(gòu)方案真正實現(xiàn)了“***平滑擴容”。
DRDS具備高擴展性和專業(yè)的運維能力的同時保持了簡單易用的優(yōu)勢,DRDS全面兼容MySQL協(xié)議和語法,支持大部分MySQL Client,通過DRDS提供的一鍵擴容,一鍵數(shù)據(jù)遷移,透明的讀寫分離功能可以幫助企業(yè)迅速獲得大型互聯(lián)網(wǎng)企業(yè)多年積累的專業(yè)數(shù)據(jù)庫運維能力。http://click.aliyun.com/m/24591/
網(wǎng)站欄目:深度:阿里云分布式關(guān)系型數(shù)據(jù)庫DRDS解析
文章起源:http://m.fisionsoft.com.cn/article/djejshd.html


咨詢
建站咨詢
