亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

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

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


 

1. 概覽

在過(guò)去的3個(gè)月中,我們發(fā)布上線了冷熱數(shù)據(jù)分離存儲(chǔ)等功能。今天很高興和大家交流PolarDB-X最新的內(nèi)核版本5.4.15。在最新版本中,提供諸多新的功能:存儲(chǔ)過(guò)程,讀寫分離優(yōu)化,表級(jí)分區(qū)管理,密碼、審計(jì)優(yōu)化等。

除此之外,在這一版本中相較于前序版本也有了長(zhǎng)足的進(jìn)步,修復(fù)了 15個(gè) Issues,并融入了26個(gè)增強(qiáng)特性。我們會(huì)不斷地將新版本的功能,開放同步到開源社區(qū)。

另外,我們將在近期推出PolarDB-X標(biāo)準(zhǔn)版,滿足小規(guī)模部署要求,降低分布式數(shù)據(jù)庫(kù)的使用門檻,未來(lái)更加順滑的過(guò)度到分布式數(shù)據(jù)庫(kù),歡迎大家到公共云進(jìn)行使用。

2. MySQL生態(tài)

PolarDB-X堅(jiān)持MySQL生態(tài),在內(nèi)核新版本中支持存儲(chǔ)過(guò)程功能。

2.1 存儲(chǔ)過(guò)程

在實(shí)現(xiàn)某些需求時(shí),需要編寫一組復(fù)雜的SQL語(yǔ)句才能實(shí)現(xiàn)的時(shí)候,很多資深數(shù)據(jù)庫(kù)用戶習(xí)慣使用存儲(chǔ)過(guò)程。很顯然存儲(chǔ)過(guò)程能帶來(lái)如下好處:

 

  1. 復(fù)用性高。存儲(chǔ)過(guò)程可以重復(fù)使用,從而減少數(shù)據(jù)庫(kù)開發(fā)人員的工作量,同時(shí)降低業(yè)務(wù)出錯(cuò)概率。
  2. 效率高。存儲(chǔ)過(guò)程編譯一次后,就會(huì)存到數(shù)據(jù)庫(kù),每次調(diào)用時(shí)都直接執(zhí)行。
  3. 降低網(wǎng)絡(luò)流量。存儲(chǔ)過(guò)程編譯好會(huì)放在數(shù)據(jù)庫(kù),我們?cè)谶h(yuǎn)程調(diào)用時(shí),不會(huì)傳輸大量的字符串類型的SQL語(yǔ)句。
  4. 安全性高。完成某個(gè)特定功能的存儲(chǔ)過(guò)程一般只有特定的用戶可以使用,具有使用身份限制,更安全。

 

當(dāng)然存儲(chǔ)過(guò)程也存在一些缺點(diǎn):

 

  1. 可移植性差。
  2. 如果使用大量的存儲(chǔ)過(guò)程,使用這些存儲(chǔ)過(guò)程的每個(gè)連接的內(nèi)存使用量將大大增加。

 

在PolarDB-X中我們對(duì)內(nèi)存進(jìn)行了嚴(yán)格管理。

原理簡(jiǎn)介


 

存儲(chǔ)過(guò)程會(huì)被持久化到Meta center中,按需加載到計(jì)算節(jié)點(diǎn)中執(zhí)行,SQL相關(guān)的執(zhí)行邏輯會(huì)發(fā)送到SQL engine中執(zhí)行,然后獲取執(zhí)行結(jié)果,存儲(chǔ)過(guò)程的控制流程等相關(guān)的邏輯會(huì)在PL engine中執(zhí)行。

存儲(chǔ)過(guò)程在真正執(zhí)行前會(huì)注冊(cè)到運(yùn)行時(shí)存儲(chǔ)過(guò)程管理中心,同時(shí)整個(gè)執(zhí)行過(guò)程中存儲(chǔ)過(guò)程所占用的內(nèi)存大小會(huì)被嚴(yán)格限制。

存儲(chǔ)過(guò)程內(nèi)存管理

存儲(chǔ)過(guò)程執(zhí)行過(guò)程中的內(nèi)存占用主要為緩存的cursor,因此我們對(duì)單個(gè)cursor所能使用的最大內(nèi)存以及整個(gè)存儲(chǔ)過(guò)程在執(zhí)行時(shí)占用的內(nèi)存進(jìn)行了限制,由兩個(gè)參數(shù)控制,PL_CURSOR_MEMORY_LIMIT和PL_MEMORY_LIMIT。

其中,變量PL_CURSOR_MEMORY_LIMIT用于控制每個(gè)Cursor所占用的內(nèi)存,超過(guò)該閾值時(shí)會(huì)spill到硬盤中;變量PL_MEMORY_LIMIT用于控制每個(gè)存儲(chǔ)過(guò)程所能使用的最大內(nèi)存。


 

3. 易用性優(yōu)化3.1 讀寫分離優(yōu)化

PolarDB-X配置了多種讀寫策略,提供了透明的強(qiáng)一致的讀寫分離能力。其特點(diǎn)有:

 

  • 無(wú)論什么狀況都不用擔(dān)心誤寫了“備副本或只讀副本”,因?yàn)樗恢С謱懀瑢懖僮鲿?huì)被路由到主副本;
  • 無(wú)論什么時(shí)候不用擔(dān)心“備副本或只讀副本”故障,因?yàn)樗鼤?huì)自動(dòng)路由給其他正常的副本或者切回主副本;
  • 無(wú)論什么場(chǎng)景不用擔(dān)心 “備副本或只讀副本”讀不到最新的數(shù)據(jù),因?yàn)樗峁┑氖菑?qiáng)一致的讀寫能力;
  • 大查詢不用擔(dān)心打爆“主副本”,因?yàn)樗С謱⒋蟛樵兟酚山o”備副本或只讀副本“,避免對(duì)主副本造成壓力。

 

PolarDB-X會(huì)基于CTS+Log 在主副本和只讀副本間做一致性復(fù)制,基于CTS+TSO確保在只讀副本上讀到已經(jīng)提交的最新數(shù)據(jù)。在一致性讀的能力上,配置了規(guī)則讀寫分離和智能讀寫分離的能力,業(yè)務(wù)可以更加透明的使用。


 

強(qiáng)一致性讀

RW節(jié)點(diǎn)會(huì)維護(hù)好自身MAX CTS(全局一致性日志位點(diǎn)),RO節(jié)點(diǎn)通過(guò)日志回放,也會(huì)不斷更新當(dāng)前自身的CTS。路由到RO節(jié)點(diǎn)的強(qiáng)一致性讀查詢過(guò)程如下:

 

  1. 客戶端把請(qǐng)求發(fā)送到計(jì)算節(jié)點(diǎn);
  2. 計(jì)算節(jié)點(diǎn)識(shí)別到請(qǐng)求會(huì)發(fā)送給RO,首先會(huì)從RW節(jié)點(diǎn)獲取當(dāng)前最大CTS;
  3. 計(jì)算節(jié)點(diǎn)把CTS /TSO /請(qǐng)求一起發(fā)送給RO;
  4. RO節(jié)點(diǎn)根據(jù)接收到的CTS判斷是否等到RO節(jié)點(diǎn)事務(wù)狀態(tài)回放到相應(yīng)位點(diǎn);根據(jù)TSO判斷數(shù)據(jù)可見(jiàn)性,給CN返回結(jié)果。

 

規(guī)則讀寫分離

用戶不需自己做業(yè)務(wù)改造,去支持讀寫分離場(chǎng)景。PolarDB-X支持業(yè)務(wù)透明使用讀寫分離能力,用戶只需要配置讀寫分離權(quán)重,內(nèi)核自己會(huì)將部分讀請(qǐng)求發(fā)送給主副本,部分讀請(qǐng)求發(fā)送給只讀副本。此外其相比于傳統(tǒng)的讀寫分離,還有如下優(yōu)勢(shì):

 

  • 如果存在多個(gè)只讀副本,會(huì)把請(qǐng)求調(diào)度到延遲更低的只讀副本上;
  • 支持只讀副本異常或者延遲過(guò)大,自動(dòng)將流量切回主副本。

 

智能讀寫分離

PolarDB-X 提供的只讀實(shí)例具有MPP查詢加速的能力,在內(nèi)核上我們提供了基于查詢代價(jià)智能識(shí)別工作負(fù)載。將AP類查詢轉(zhuǎn)發(fā)給只讀實(shí)例計(jì)算層CN,在只讀實(shí)例CN上做MPP查詢后,將結(jié)果返回給主實(shí)例CN。這類讀寫分離主要針對(duì)于混合負(fù)載場(chǎng)景。

3.2 表級(jí)分區(qū)精細(xì)化管理

在數(shù)據(jù)庫(kù)使用過(guò)程中,原來(lái)預(yù)想的數(shù)據(jù)分區(qū)和實(shí)際的數(shù)據(jù)分布不匹配,導(dǎo)致數(shù)據(jù)分布不均勻,或者需要進(jìn)行遷移,那么如何進(jìn)行調(diào)整呢。

分區(qū)分裂

當(dāng)一個(gè)分區(qū)數(shù)據(jù)出現(xiàn)傾斜的時(shí)候,可以將表的一個(gè)分區(qū)分裂成多個(gè)分區(qū)。

原表定義將數(shù)據(jù)分成P1和P2

CREATE TABLE Table1(a int) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN(20), PARTITION p2 VALUES LESS THAN(100))

那么我們可以通過(guò)以下SQL將P1分裂成P10,P11,P12

ALTER TABLE Table1 SPLIT PARTITION p1 INTO (PARTITION p10 VALUES LESS THAN (8), PARTITION p11 VALUES LESS THAN(15), PARTITION p12 VALUES LESS THAN(20))

分區(qū)合并

將多個(gè)分區(qū)(兩個(gè)或者兩個(gè)以上)合并成一個(gè)分區(qū)。

對(duì)于Hash/Key/Range/Range column分區(qū),只能將相鄰的分區(qū)合并,對(duì)于List/List column分區(qū),可以將任意分區(qū)合并在一起。

例如表tb1的定義如下:

CREATE TABLE tb1(a int) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN(20), PARTITION p2 VALUES LESS THAN(40), PARTITION p3 VALUES LESS THAN(100))

可以通過(guò)以下SQL將p1和p2合并:

ALTER TABLE tb1 MERGE PARTITIONS p1,p2 to p12

需要注意的是不能將不相鄰的兩個(gè)分區(qū),例如p1和p3合并到一起。

分區(qū)遷移

將分區(qū)遷移到指定的存儲(chǔ)節(jié)點(diǎn)

例如表tb1的定義如下:

CREATE TABLE tb1(a int) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN(20), PARTITION p2 VALUES LESS THAN(40), PARTITION p3 VALUES LESS THAN(100))

可以通過(guò)以下SQL將p1,p3遷移到指定的存儲(chǔ)節(jié)點(diǎn)DN2(其中DN2是存儲(chǔ)節(jié)點(diǎn)的ID)中

ALTER TABLE tb1 MOVE PARTITIONS p1,p3 to 'DN2'3.3 密碼、審計(jì)優(yōu)化

當(dāng)前,對(duì)于數(shù)據(jù)庫(kù)安全性要求越來(lái)越高,尤其在等保、合規(guī)方面,通常都會(huì)對(duì)密碼復(fù)雜度、密碼是否能定期修改、或者是否配置密碼自動(dòng)過(guò)期策略有嚴(yán)格要求。避免出現(xiàn)過(guò)于簡(jiǎn)單的密碼或相同密碼長(zhǎng)期未修改被暴力破解,降低數(shù)據(jù)庫(kù)的安全風(fēng)險(xiǎn)。

在新版本中新增支持了以下安全審計(jì)功能:

1、基于正則表達(dá)式規(guī)則來(lái)配置密碼復(fù)雜度;(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,20}配置了密碼必須包含大小寫字母和數(shù)字,且長(zhǎng)度在8~20個(gè)字符之間;

如果您采用了11位組合字符密碼,那在現(xiàn)有技術(shù)條件下,需要400年才能破解。


 

2、為不同賬戶配置不同的密碼自動(dòng)過(guò)期策略。當(dāng)系統(tǒng)時(shí)間到達(dá)指定日期時(shí)間(可精確到秒),對(duì)應(yīng)賬戶將無(wú)法登錄數(shù)據(jù)庫(kù)。

注意,在開啟密碼自動(dòng)過(guò)期策略后,用戶需要定期檢查密碼是否即將過(guò)期,并及時(shí)進(jìn)行修改,避免影響業(yè)務(wù)。

4. 展望

越來(lái)越多的業(yè)務(wù)需要彈性,靈活而有效的應(yīng)對(duì)突發(fā)情況。如何快速適應(yīng)業(yè)務(wù)形態(tài)的變化,對(duì)云原生分布式數(shù)據(jù)庫(kù)提出了更高的要求。我們?cè)诩?xì)細(xì)打磨產(chǎn)品的深度上下功夫的同時(shí),對(duì)于這種廣度的延伸一致保持著敏銳的洞察。非常期待和大家一起,將分布式數(shù)據(jù)庫(kù)對(duì)業(yè)務(wù)的覆蓋廣度更加延伸,我們將在近期推出PolarDB-X 標(biāo)準(zhǔn)版,滿足分布式數(shù)據(jù)庫(kù)小規(guī)模部署要求,敬請(qǐng)期待。

分享到:
標(biāo)簽:MySQL
用戶無(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)定