自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GreatSQL特性 | 深入淺出MGR

數(shù)據(jù)庫 其他數(shù)據(jù)庫
GreatSQL中增加一個新的工作模式:單主快速模式,在這個模式下,不再采用MySQL MGR原有的認(rèn)證數(shù)據(jù)庫方式。新增選項 group_replication_single_primary_fast_mode 用于 設(shè)置是否啟用,以及具體采用哪種模式。

本文介紹GreatSQL的一些關(guān)鍵新特性,相關(guān)特性主要針對GreatSQL 8.0.x版本(不含GreatSQL 5.7.x版本中的相關(guān)特性)。

1. 地理標(biāo)簽

可以對每個節(jié)點設(shè)置地理標(biāo)簽,主要用于解決多機(jī)房數(shù)據(jù)同步的問題。

新增選項 group_replication_zone_id,用于標(biāo)記節(jié)點地理標(biāo)簽。該選項值支持范圍 0 ~ 8,默認(rèn)值為0。

當(dāng)集群中各節(jié)點該選項值設(shè)置為不同的時候,就被認(rèn)定為設(shè)置了不同的地理標(biāo)簽。

在同城多機(jī)房部署方案中,同一個機(jī)房的節(jié)點可以設(shè)置相同的數(shù)值,另一個機(jī)房里的節(jié)點設(shè)置另一個不同的數(shù)值,這樣在事務(wù)提交時會要求每組 group_replication_zone_id 中至少 有個節(jié)點確認(rèn)事務(wù),然后才能繼續(xù)處理下一個事務(wù)。這就可以確保每個機(jī)房的某個節(jié)點里,總有最新的事務(wù)。

System Variable Name

group_replication_zone_id

Variable Scope

global

Dynamic Variable

YES

Permitted Values

[0 ~ 8]

Default

0

Description

設(shè)置MGR各節(jié)點不同的地理標(biāo)簽,主要用于解決多機(jī)房數(shù)據(jù)同步的問題。

修改完該選項值之后,要重啟MGR線程才能生效。

引入版本

8.0.25-15

2. 仲裁節(jié)點

該節(jié)點僅參與MGR投票仲裁,不存放實際數(shù)據(jù),也無需執(zhí)行DML操作,因此可以用一般配置級別的服務(wù)器,在保證MGR可靠性的同時還能降低服務(wù)器成本。

新增參數(shù)group_replication_arbitrator用于設(shè)置仲裁節(jié)點。

若想新增一個仲裁節(jié)點,只需在 my.cnf 配置文件中添加如下配置:group_replication_arbitrator = true

當(dāng)集群中只剩下 Arbitrator 節(jié)點時,則會自動退出。

注意:

在有仲裁節(jié)點的情況下,將單主切換成多主模式時,需要把投票節(jié)點先關(guān)閉再機(jī)型切換,否則可能會導(dǎo)致切換失敗,并且仲裁節(jié)點報錯退出MGR。

即便是在關(guān)閉MGR服務(wù)狀態(tài)下,仲裁節(jié)點中也無法執(zhí)任何有數(shù)據(jù)變更的操作。

System Variable Name

group_replication_arbitrator

Variable Scope

global

Dynamic Variable

NO

Permitted Values

0

Default

0

Description

設(shè)置本節(jié)點是否為仲裁節(jié)點。實例啟動前先設(shè)置好,不可動態(tài)修改

引入版本

8.0.25-16

3. 快速單注

GreatSQL中增加一個新的工作模式:單主快速模式,在這個模式下,不再采用MySQL MGR原有的認(rèn)證數(shù)據(jù)庫方式。新增選項 group_replication_single_primary_fast_mode 用于 設(shè)置是否啟用,以及具體采用哪種模式。

快速單主模式特別適合在跨機(jī)房部署,壓力測試以及內(nèi)存要求不高等多種場景。這種模式弱于傳統(tǒng)的異步復(fù)制,但強于半同步復(fù)制,且沒有MGR默認(rèn)的認(rèn)證數(shù)據(jù)庫可能消耗較大內(nèi)存的問 題。

提醒,啟用快速單主模式時,不支持采用多主模式;所有節(jié)點都得設(shè)置必須相同,否則無法啟動。

選項 group_replication_single_primary_fast_mode 可選值有:0、1、2,不同值分別表示如下:

  • 0,表示不采取快速單主模式,這是默認(rèn)值。
  • 1,表示采用快速單主模式,支持并并回放。**強烈建議設(shè)置為1,即啟用快速單主模式。**- 2,表示采用快速單主模式,但不支持并行回放,加速relay log落盤,且讓從庫消耗更少的資源。

System Variable Name

group_replication_single_primary_fast_mode

Variable Scope

Global

Dynamic Variable

NO

Permitted Values

0

1

2

Default

0

Description

設(shè)置是否啟用快速單主模式,強烈建議啟用(即設(shè)置為1)。

引入版本

8.0.25-16

4. 自定義選主策略

完善自動選主機(jī)制,增加基于最新GTID判斷來選主,避免自動選擇沒有最新GTID的節(jié)點作為新主。

默認(rèn)地,MGR根據(jù)以下規(guī)則選主:

  • 當(dāng)有MySQL 5.7和MySQL 8.0不同版本的節(jié)點混合部署時,只會選擇運行5.7的節(jié)點作為主節(jié)點。此外,在 <= MySQL 8.0.16 版本時,以主版本號進(jìn)行排序,也就是說 5.7 排在 8.0 前面。在 > MySQL 8.0.17版本中,則是以補丁版本號排序,也就是 8.0.17 排在 8.0.25 前面。
  • 當(dāng)所有節(jié)點版本號一致時,則根據(jù)節(jié)點權(quán)重值(選項 group_replication_member_weight 定義權(quán)重值,這個選項5.7版本沒有,8.0開始新增)排序,權(quán)重值高的節(jié)點排在前面。
  • 根據(jù)節(jié)點 server_uuid 排序。

在一些情況下,在MGR所有節(jié)點都發(fā)生意外要重新拉起時,不會檢查各節(jié)點事務(wù)應(yīng)用狀態(tài),而錯誤選擇新的主節(jié)點,這時可能會導(dǎo)致丟失一些事務(wù)數(shù)據(jù)。或者當(dāng)原來的主節(jié)點crash需要 重新投票選擇新的主節(jié)點時,可能也會選擇一個權(quán)重值較高,但沒有最新事務(wù)的節(jié)點,也會存在丟失一部分事務(wù)數(shù)據(jù)的風(fēng)險。

在GreatSQL中,新增選項 group_replication_primary_election_mode 用于自定義選主策略,可選值有以下幾個:

  • WEIGHT_ONLY,還是按照上述傳統(tǒng)模式自動選主,這是默認(rèn)值。
  • GTID_FIRST,優(yōu)先判斷各節(jié)點事務(wù)應(yīng)用狀態(tài),自動選擇擁有最新事務(wù)的節(jié)點作為新的主節(jié)點。推薦設(shè)置為該模式。
  • WEIGHT_FIRST,傳統(tǒng)模式優(yōu)先,如果沒有合適的結(jié)果再判斷各節(jié)點事務(wù)狀態(tài)。

提醒,所有節(jié)點都的設(shè)置必須相同,否則無法啟動。

System Variable Name

group_replication_primary_election_mode

Variable Scope

Global

Dynamic Variable

NO

Permitted Values

WEIGHT_ONLY

GTID_FIRST

WEIGHT_FIRST

Default

WEIGHT_ONLY

Description

當(dāng)MGR集群需要投票選主時,采用何種投票策略。

引入版本

8.0.25-16

5. 并行查詢

根據(jù)B+樹的特點,可以將B+樹劃分為若干子樹,此時多個線程可以并行掃描同一張InnoDB表的不同部分。對執(zhí)行計劃進(jìn)行多線程改造,每個子線程執(zhí)行計劃與MySQL原始執(zhí)行計劃一致, 但每個子線程只需掃描表的部分?jǐn)?shù)據(jù),子線程掃描完成后再進(jìn)行結(jié)果匯總。通過多線程改造,可以充分利用多核資源,提升查詢性能。

優(yōu)化后,在TPC-H測試中表現(xiàn)優(yōu)異,最高可提升30倍,平均提升15倍。該特性適用于周期性數(shù)據(jù)匯總報表之類的SAP、財務(wù)統(tǒng)計等業(yè)務(wù)。

使用限制:

暫不支持子查詢,可想辦法改造成JOIN。

暫時只支持ARM架構(gòu)平臺,X86架構(gòu)平臺優(yōu)化也會盡快完成。

圖片

System Variable Name

force_parallel_execute

Variable Scope

Global

Dynamic Variable

YES

Permitted Values

ON

Default

OFF

Description

是否啟用InnoDB并行查詢特性

引入版本

8.0.25-15

更多關(guān)于InnoDB并行查詢相關(guān)選項參考文檔 InnoDB并行查詢優(yōu)化參考(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/docs/innodb-parallel-execute.md)。

6. GreatSQL VS MySQL社區(qū)版

特性

GreatSQL 8.0.25-16

MySQL 8.0.25 社區(qū)版

投票節(jié)點/仲裁節(jié)點

?

?

快速單主模式

?

?

地理標(biāo)簽

?

?

全新流控算法

?

?

InnoDB并行查詢優(yōu)化

?

?

線程池(Thread Pool)

?

?

審計

?

?

InnoDB事務(wù)鎖優(yōu)化

?

?

SEQUENCE_TABLE(N)函數(shù)

?

?

InnoDB表損壞異常處理

?

?

強制只能使用InnoDB引擎表

?

?

殺掉空閑事務(wù),避免長時間鎖等待

?

?

Data Masking(數(shù)據(jù)脫敏/打碼)

?

?

InnoDB碎片頁統(tǒng)計增強

?

?

支持MyRocks引擎

?

?

InnoDB I/O性能提升

??????????

????

網(wǎng)絡(luò)分區(qū)異常應(yīng)對

??????????

??

完善節(jié)點異常退出處理

??????????

??

一致性讀性能

??????????

??

提升MGR吞吐量

??????????

??

統(tǒng)計信息增強

??????????

??

slow log增強

??????????

??

大事務(wù)處理

????????

??

修復(fù)多寫模式下可能丟數(shù)據(jù)風(fēng)險

??????????

/

修復(fù)單主模式下切主丟數(shù)據(jù)風(fēng)險

??????????

/

MGR集群啟動效率提升

??????????

/

集群節(jié)點磁盤滿處理

??????????

/

修復(fù)TCP self-connect問題

??????????

/

PROCESSLIST增強

??????????

/


責(zé)任編輯:武曉燕 來源: GreatSQL社區(qū)
相關(guān)推薦

2022-10-08 08:09:13

MGRGreatSQL事務(wù)

2018-12-19 14:40:08

Redis高級特性

2022-09-17 08:09:25

MGR故障檢測網(wǎng)絡(luò)

2011-07-04 10:39:57

Web

2021-03-16 08:54:35

AQSAbstractQueJava

2021-07-08 18:10:03

2022-09-26 09:01:15

語言數(shù)據(jù)JavaScript

2017-07-02 18:04:53

塊加密算法AES算法

2019-01-07 15:29:07

HadoopYarn架構(gòu)調(diào)度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2012-05-21 10:06:26

FrameworkCocoa

2009-11-17 17:31:58

Oracle COMM

2021-07-19 11:54:15

MySQL優(yōu)先隊列

2023-12-04 13:22:00

JavaScript異步編程

2010-07-26 12:57:12

OPhone游戲開發(fā)

2016-10-14 13:53:05

JavascriptDOMWeb

2016-10-14 14:32:58

JavascriptDOMWeb

2010-07-16 09:11:40

JavaScript內(nèi)存泄漏

2024-01-09 12:05:24

SSH協(xié)議端口

2022-01-11 07:52:22

CSS 技巧代碼重構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號