日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

一為什么要做分布式數(shù)據(jù)庫(kù)架構(gòu)改造?

云計(jì)算大數(shù)據(jù)時(shí)代,傳統(tǒng)的數(shù)據(jù)庫(kù)架構(gòu)已經(jīng)無(wú)法支撐企業(yè)高容量的數(shù)據(jù)增長(zhǎng),滿足高并發(fā)的業(yè)務(wù)需求。對(duì)企業(yè)數(shù)據(jù)庫(kù)進(jìn)行分布式架構(gòu)設(shè)計(jì),打破了數(shù)據(jù)庫(kù)資源不夠用的天花板的同時(shí),還能根據(jù)企業(yè)業(yè)務(wù)發(fā)展?fàn)顩r,隨時(shí)平滑擴(kuò)容。

二分布式數(shù)據(jù)庫(kù)架構(gòu)改造,如何做?

數(shù)據(jù)庫(kù)分布式改造要遵循“循序漸進(jìn)”的拆分原則

拆分方式有垂直拆分和水平拆分兩種,選擇拆分方式要根據(jù)企業(yè)自身業(yè)務(wù)發(fā)展需要。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

一般來(lái)說(shuō),是先做垂直拆分,再做水平拆分。

在單一數(shù)據(jù)節(jié)點(diǎn)無(wú)法滿足業(yè)務(wù)和用戶增長(zhǎng)需求的情況下,需要做一個(gè)服務(wù)化,對(duì)業(yè)務(wù)進(jìn)行垂直梳理,后面的數(shù)據(jù)節(jié)點(diǎn)可以放在不同的資源節(jié)點(diǎn)上,以提高數(shù)據(jù)服務(wù)的整體性能。

比如一個(gè)App的業(yè)務(wù)數(shù)據(jù),在業(yè)務(wù)初期階段,是全部放在一個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)中,在業(yè)務(wù)量和數(shù)據(jù)量快速增長(zhǎng)的中期階段,需要進(jìn)行垂直梳理,根據(jù)業(yè)務(wù)邏輯,拆分成商品、交易、用戶,并分別放在不同的數(shù)據(jù)庫(kù)。

如果其中的一個(gè)服務(wù)已經(jīng)拆的很細(xì)了,但還是有性能瓶頸,無(wú)法支撐我們的業(yè)務(wù)增長(zhǎng),數(shù)據(jù)庫(kù)這塊才需要再做水平拆分。

水平拆分就是將數(shù)據(jù)(比如圖中APP的交易數(shù)據(jù))拆成多片,放到不同的資源上,用一個(gè)集群來(lái)支撐更高的業(yè)務(wù)增長(zhǎng)。

在拆分時(shí),要謹(jǐn)慎,因?yàn)椴鸱謺?huì)引入復(fù)雜性,能不做就不做,最優(yōu)先是做業(yè)務(wù)和架構(gòu)上的優(yōu)化,最終才是做數(shù)據(jù)庫(kù)拆分。

在拆分的過(guò)程中,不要做過(guò)度的設(shè)計(jì),或者直接從初級(jí)跳到高級(jí),這樣做其實(shí)非常浪費(fèi)資源,投入產(chǎn)出比也不好。

三水平拆分的難點(diǎn)及解決方案

對(duì)企業(yè)數(shù)據(jù)庫(kù)進(jìn)行分布式改造,需要理解客戶的業(yè)務(wù)邏輯、豐富的拆分經(jīng)驗(yàn)積累。尤其是水平拆分,有系統(tǒng)復(fù)雜度高、技術(shù)挑戰(zhàn)性強(qiáng)、穩(wěn)定性控制難、具有一定局限性四大難點(diǎn)。

針對(duì)這些問(wèn)題,宏翊給我們提供了兩種解決方案。

1.客戶端實(shí)現(xiàn)數(shù)據(jù)路由

此方案不會(huì)引入額外的組件,架構(gòu)上比較輕量,簡(jiǎn)單場(chǎng)景使用尚可,但稍復(fù)雜的場(chǎng)景會(huì)放大它的劣勢(shì),比如配置管理復(fù)雜等。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

2.數(shù)據(jù)庫(kù)中間件

中間件的使用最大限度地屏蔽了分布式數(shù)據(jù)庫(kù)所引入的復(fù)雜性,極大降低了研發(fā)的門檻。最重要的是,有了數(shù)據(jù)庫(kù)中間件,應(yīng)用看到的還是單一的數(shù)據(jù)庫(kù)。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

四水平切分原理及設(shè)計(jì)原則

要對(duì)一個(gè)表做拆分,選擇一個(gè)拆分字段,通過(guò)一個(gè)路由算法確定數(shù)據(jù)存放在哪個(gè)底層庫(kù)。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

比如下列數(shù)據(jù)選擇MEMBE_ID作為拆分鍵,通過(guò)路由算法計(jì)算后得出’test1234‘相關(guān)的數(shù)據(jù)應(yīng)該落在庫(kù)1上,DRDS會(huì)把所有MEMBE_ID=‘test1234’相關(guān)的請(qǐng)求全都路由到庫(kù)1。其他數(shù)據(jù)請(qǐng)求亦落到相應(yīng)的底層庫(kù)。

接下來(lái),當(dāng)數(shù)據(jù)已經(jīng)放下去了,應(yīng)該如何去查詢、訪問(wèn)和變更?

比如要查詢一條記錄,member_id=‘test1234’

它怎么去執(zhí)行的呢?

首先計(jì)算一個(gè)hash值,當(dāng)值等于某一個(gè)值,它會(huì)知道這個(gè)數(shù)據(jù)存儲(chǔ)在哪一個(gè)庫(kù)上,所以會(huì)直接路由到底層這個(gè)庫(kù),從這個(gè)庫(kù)查詢,返回結(jié)果。

中間件扮演的就是這個(gè)路由和計(jì)算的角色,性能非常強(qiáng)大。拆分后,各底層數(shù)據(jù)庫(kù)數(shù)據(jù)量比較小,查詢返回比較快;二是可以支持更高的并發(fā),整體并發(fā)基本等于兩個(gè)底層數(shù)據(jù)庫(kù)實(shí)例并發(fā)之和。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

五來(lái)自阿里云的數(shù)據(jù)庫(kù)中間件產(chǎn)品:DRDS

數(shù)據(jù)庫(kù)中間件產(chǎn)品中,有平民軟件OneProxy等商業(yè)軟件;也有MyCat等開(kāi)源產(chǎn)品,宏翊為大家則介紹了一款廣泛使用的成熟商業(yè)產(chǎn)品DRDS,并講解了DRDS如何解決對(duì)數(shù)據(jù)庫(kù)進(jìn)行拆分時(shí)遇到的難點(diǎn)。

DRDS,英文名Distributed Relational Database Service

是阿里巴巴自主研發(fā)致力于解決單機(jī)數(shù)據(jù)庫(kù)服務(wù)瓶頸問(wèn)題而推出的分布式數(shù)據(jù)庫(kù)產(chǎn)品。 DRDS 高度兼容 MySQL 協(xié)議和語(yǔ)法、支持自動(dòng)化水平拆分、平滑擴(kuò)容、彈性擴(kuò)展、透明讀寫分離、分布式事務(wù)、具備分布式數(shù)據(jù)庫(kù)全生命周期的運(yùn)維管控能力。DRDS前身為淘寶TDDL,是近千核心應(yīng)用首選組件,已穩(wěn)定服務(wù)8年以上。

DRDS五大核心功能

分庫(kù)分表

分庫(kù)分表是DRDS的核心功能,DRDS 在后端將數(shù)據(jù)量較大的數(shù)據(jù)表水平拆分到后端的每個(gè) RDS 數(shù)據(jù)庫(kù)中,這些拆分到 RDS 中的數(shù)據(jù)庫(kù)被稱為分庫(kù),分庫(kù)中的表稱為分表。拆分后,每個(gè)分庫(kù)負(fù)責(zé)每一份數(shù)據(jù)的讀寫操作,從而有效的分散了整體訪問(wèn)壓力。在系統(tǒng)擴(kuò)容時(shí),只需要水平增加分庫(kù)的數(shù)量,并且遷移相關(guān)數(shù)據(jù),就可以提高 DRDS 系統(tǒng)的總體容量。DRDS 支持庫(kù)級(jí)拆分,表級(jí)拆分和分庫(kù)分表拆分,通過(guò) DRDS DDL 語(yǔ)句指定。

讀寫分離

在主實(shí)例的讀請(qǐng)求較多、讀壓力比較大的時(shí)候,可以通過(guò) DRDS 讀寫分離功能對(duì)讀流量進(jìn)行分流,減輕 RDS 主實(shí)例的讀壓力。

DRDS 的讀寫分離功能是對(duì)應(yīng)用透明的設(shè)計(jì)。應(yīng)用在不修改任何代碼的情況下,只需要在 DRDS 控制臺(tái)中調(diào)整讀權(quán)重,即可將讀流量按配置的比例在主 RDS 實(shí)例與多個(gè) RDS 只讀實(shí)例之間進(jìn)行分流;寫流量則全部到主實(shí)例,不做分流。

設(shè)置讀寫分離后,從主 RDS 實(shí)例讀取的是強(qiáng)讀,既實(shí)時(shí)強(qiáng)一致讀,而只讀實(shí)例上的數(shù)據(jù)是從主實(shí)例上異步復(fù)制的,存在毫秒級(jí)的延遲,因此從只讀 RDS 實(shí)例讀取的是弱讀,屬于非強(qiáng)一致性讀。個(gè)別需要實(shí)時(shí)性、強(qiáng)一致性讀的 SQL 可以通過(guò) DRDS Hint 指定到主實(shí)例上執(zhí)行。

全局唯一ID

DRDS 支持分布式全局唯一且有序遞增的數(shù)字序列。滿足業(yè)務(wù)在使用分布式數(shù)據(jù)庫(kù)下對(duì)主鍵或者唯一鍵以及特定場(chǎng)景的需求。

小表廣播

DRDS 將一些數(shù)據(jù)量小且更新頻度不高的數(shù)據(jù)表存儲(chǔ)為單表模式,這些數(shù)據(jù)表稱為小表。通過(guò)數(shù)據(jù)同步將小表復(fù)制到與之 JOIN 的分庫(kù)上進(jìn)而提升 JOIN 效率的解決方案稱為“小表廣播”或者“小表復(fù)制”。支持查詢引擎識(shí)別和下推復(fù)雜查詢,兼容 98% MySQL 語(yǔ)法。

彈性擴(kuò)容

當(dāng)邏輯庫(kù)對(duì)應(yīng)的底層存儲(chǔ)已經(jīng)達(dá)到物理瓶頸,需要進(jìn)行水平擴(kuò)展,比如磁盤余量接近30%,那么可以通過(guò)平滑擴(kuò)容來(lái)改善。平滑擴(kuò)容是一種水平擴(kuò)容方式,既把分庫(kù)平滑遷移到新添加的底層存儲(chǔ)上。在實(shí)現(xiàn)上是通過(guò)增加 RDS 實(shí)例的數(shù)量來(lái)提升總體數(shù)據(jù)存儲(chǔ)容量,將分庫(kù)遷移到新增的 RDS 實(shí)例,從而降低單個(gè) RDS 實(shí)例的處理壓力。

六分布式改造之后——運(yùn)維

進(jìn)行分布式改造之后,如何更省心省力對(duì)數(shù)據(jù)庫(kù)進(jìn)行運(yùn)維?

靠人工?成本高、運(yùn)維人員也難招!

借助數(shù)據(jù)庫(kù)自動(dòng)化管理平臺(tái)EasyDB,企業(yè)數(shù)據(jù)庫(kù)運(yùn)維很簡(jiǎn)單。

 

淺談數(shù)據(jù)庫(kù)分布式架構(gòu)設(shè)計(jì)

 

EasyDB完全兼容DRDS manager,具有高可用、高性能、易運(yùn)維等特點(diǎn)。從性能、資源、集群、備份、容災(zāi)入手,支持多種數(shù)據(jù)庫(kù)實(shí)例,大規(guī)模量的數(shù)據(jù)庫(kù)運(yùn)維,提供穩(wěn)定準(zhǔn)確的數(shù)據(jù)庫(kù)告警、大盤趨勢(shì)分析預(yù)警、空間跟蹤、SQL跟蹤、巡檢報(bào)告等功能。運(yùn)維管理人員可以輕松應(yīng)對(duì)復(fù)雜的日常管理事務(wù)及突發(fā)性事件,數(shù)據(jù)庫(kù)管理從此變得有規(guī)劃,有效率,有預(yù)見(jiàn)性。

分享到:
標(biāo)簽:分布式 架構(gòu) 數(shù)據(jù)庫(kù)
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定