成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【K-DB干貨】淺談KRAC內(nèi)存融合技術(shù)

存儲(chǔ) 存儲(chǔ)軟件
浪潮K-DB數(shù)據(jù)庫(kù)是除了Oracle以外,第二個(gè)能夠?qū)崿F(xiàn)共享存儲(chǔ)的集群技術(shù)的產(chǎn)品,采用KRAC多機(jī)集群架構(gòu),具有故障自動(dòng)轉(zhuǎn)移、高伸縮能力和自動(dòng)負(fù)載均衡特性,保障系統(tǒng)可用性的同時(shí),大幅提升可用性和性能,還能實(shí)現(xiàn)系統(tǒng)性能平滑升級(jí)且接近線性的擴(kuò)展。

 數(shù)據(jù)庫(kù)的橫向擴(kuò)展已經(jīng)成為各個(gè)企業(yè)用戶(hù)的基本需求,一方面隨著企業(yè)前端業(yè)務(wù)系統(tǒng)的膨脹,后端數(shù)據(jù)庫(kù)系統(tǒng)的負(fù)載也在不斷增長(zhǎng),企業(yè)進(jìn)行縱向擴(kuò)展技術(shù)難度較大,另一方面,數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)鍵性不斷提高,橫向擴(kuò)展不僅提高處理性能,也極大的提高了數(shù)據(jù)庫(kù)系統(tǒng)的容錯(cuò)能力。

目前,數(shù)據(jù)庫(kù)橫向擴(kuò)展有多種實(shí)現(xiàn)方式,較為主流的是共享存儲(chǔ)(Shared Disk)技術(shù),不久前,浪潮發(fā)布的K-DB數(shù)據(jù)庫(kù),這款產(chǎn)品就基于共享存儲(chǔ)技術(shù),實(shí)現(xiàn)了雙機(jī)高可用(HA)、多機(jī)集群(KRAC)等數(shù)據(jù)庫(kù)橫向擴(kuò)展。

浪潮K-DB采用基于共享存儲(chǔ)(SharedDisk)的雙機(jī)或多機(jī)集群(KRAC)架構(gòu)。

KRAC具有兩大特點(diǎn):故障轉(zhuǎn)移和負(fù)載均衡。一方面,KRAC集群技術(shù)提供高可用解決方案,為用戶(hù)提供統(tǒng)一數(shù)據(jù)服務(wù)的同時(shí)提供故障切換與恢復(fù)能力(Fail Over集群功能),避免單點(diǎn)故障,減少停機(jī)時(shí)間,確保系統(tǒng)全年7*24穩(wěn)定運(yùn)行。另一方面,后端數(shù)據(jù)庫(kù)系統(tǒng)的負(fù)荷隨著應(yīng)用系統(tǒng)壓力的上升也在不斷的增加,集群技術(shù)能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的橫向擴(kuò)展,將數(shù)據(jù)庫(kù)的壓力平均分配在多臺(tái)數(shù)據(jù)庫(kù)服務(wù)器上。

【KRAC演示視頻】

http://v.qq.com/boke/page/x/k/1/x0174dycbk1.html

而在介紹這兩大特點(diǎn)前,我們先通過(guò)下圖了解KRAC的體系結(jié)構(gòu)。

1

KRAC體系結(jié)構(gòu)

KRAC由多個(gè)節(jié)點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)器和共享存儲(chǔ)組成。共享存儲(chǔ)上主要存放的是數(shù)據(jù)庫(kù)必需的文件,包括數(shù)據(jù)文件、日志文件及控制文件等。數(shù)據(jù)庫(kù)服務(wù)器上運(yùn)行著數(shù)據(jù)庫(kù)對(duì)應(yīng)的實(shí)例,多實(shí)例之間通過(guò)內(nèi)網(wǎng)進(jìn)行數(shù)據(jù)的傳輸。KRAC的各個(gè)節(jié)點(diǎn)可以同時(shí)對(duì)磁盤(pán)進(jìn)行讀寫(xiě),實(shí)現(xiàn)了多讀多寫(xiě)的真正集群技術(shù)。 

KRAC具有兩大特點(diǎn):故障轉(zhuǎn)移和負(fù)載均衡。

特點(diǎn)一:故障轉(zhuǎn)移

KRAC數(shù)據(jù)庫(kù)可以對(duì)數(shù)據(jù)庫(kù)系統(tǒng)中出現(xiàn)的任何單點(diǎn)故障節(jié)點(diǎn)的session 轉(zhuǎn)移到其他正常的節(jié)點(diǎn)上,如磁盤(pán)、網(wǎng)絡(luò)、服務(wù)器等,保障應(yīng)用系統(tǒng)的不間斷,最大程度的減少用戶(hù)的損失。

2

KRAC故障轉(zhuǎn)移 

特點(diǎn)二:負(fù)載均衡

KRAC會(huì)將所有的用戶(hù)session平均分配到各個(gè)節(jié)點(diǎn)上,集群中的各個(gè)節(jié)點(diǎn)均能對(duì)磁盤(pán)進(jìn)行讀寫(xiě),達(dá)到應(yīng)用系統(tǒng)的線性擴(kuò)展,從整體上提高數(shù)據(jù)庫(kù)的吞吐量。 

數(shù)據(jù)庫(kù)各個(gè)節(jié)點(diǎn)的實(shí)例之間通過(guò)高速的內(nèi)網(wǎng)傳送數(shù)據(jù),避免了節(jié)點(diǎn)間訪問(wèn)數(shù)據(jù)而產(chǎn)生的不必要的IO,而影響到性能。而在KRAC集群中,由于有多個(gè)節(jié)點(diǎn)都具有block buffer,這就需要節(jié)點(diǎn)間的blockbuffer可以互相傳輸訪問(wèn),才能達(dá)到一致性的狀態(tài)。 

要具備以上2大特點(diǎn),就不得不提內(nèi)存融合技術(shù),他是實(shí)現(xiàn)KRAC功能的核心。

KRAC核心技術(shù):內(nèi)存融合

1

KRAC集群內(nèi)部組件 

KRAC的集群中由CCC(Cluster CacheControl)模塊和GCA(Global CacheAdapter)模塊實(shí)現(xiàn)集群間數(shù)據(jù)庫(kù)的融合。傳輸?shù)臄?shù)據(jù)塊類(lèi)型根據(jù)不同場(chǎng)景的需要而不一樣,主要包括CR block、Global dirty block、current block。節(jié)點(diǎn)間數(shù)據(jù)傳輸?shù)墓δ苡赡KINC(Inter-NodeCommunication)服務(wù)。在節(jié)點(diǎn)間請(qǐng)求的block buffer由 CCC 和CGA 構(gòu)造完畢后,INC 負(fù)責(zé)將對(duì)應(yīng)的數(shù)據(jù)塊傳輸?shù)侥康墓?jié)點(diǎn)。 

KRAC內(nèi)存融合主要體現(xiàn)在4大核心技術(shù)上:鎖機(jī)制、角色、PIBLOCK和GLOBAL LOCK DIRETROY。

下面,我們將為大家詳細(xì)介紹這4個(gè)核心技術(shù)點(diǎn)的運(yùn)行機(jī)制。

鎖機(jī)制

在數(shù)據(jù)庫(kù)中,對(duì)于數(shù)據(jù)塊的block buffer的并發(fā)讀寫(xiě)使用鎖機(jī)制進(jìn)行保護(hù)。每一個(gè)數(shù)據(jù)塊的鎖包括三種模式,分別為NULL、SHARED和EXCLUSIVE 。三種模式的兼容列表如下:

2

當(dāng)某一個(gè)用戶(hù)持有block buffer的鎖時(shí),如果其他用戶(hù)以兼容模式的鎖方式進(jìn)行訪問(wèn),那么這2個(gè)用戶(hù)可以同時(shí)訪問(wèn)該數(shù)據(jù)塊。

而一旦2個(gè)用戶(hù)以不兼容方式訪問(wèn)同一個(gè)數(shù)據(jù)塊時(shí),后面的用戶(hù)必須等到前一用戶(hù)釋放鎖之后才能開(kāi)始操作。這種解決方案是單實(shí)例K-DB數(shù)據(jù)庫(kù)的解決方案。而在KRAC中,K-DB數(shù)據(jù)庫(kù)在此基礎(chǔ)上,增加了額外了管理方式-角色和Past image Block數(shù)據(jù)塊。

角色

K-DB 對(duì)于數(shù)據(jù)塊的分配了2種角色,分別是LOCAL 和GLOBAL,當(dāng)數(shù)據(jù)blockbuffer只在一個(gè)節(jié)點(diǎn)與磁盤(pán)上的數(shù)據(jù)不一樣(臟數(shù)據(jù)),該block buffer的角色為L(zhǎng)OCAL狀態(tài)。當(dāng)在多個(gè)節(jié)點(diǎn)上存在“臟數(shù)據(jù)”時(shí),block buffer的角色為GLOBAL.

PI BLOCK

如果一個(gè)block 在某一個(gè)節(jié)點(diǎn)中被修改后,然后該block傳輸?shù)搅似渌?jié)點(diǎn),那么本節(jié)點(diǎn)存儲(chǔ)的block塊為PI(Past Image)block。PI BLOCK 塊在以下2個(gè)方面具有一定的優(yōu)化作用:

  1. 提升CR 塊構(gòu)建的速度。當(dāng)本地構(gòu)建的CR塊的SCN 小于PI BLOCK 的SCN時(shí),無(wú)需從其他節(jié)點(diǎn)傳輸最新的current數(shù)據(jù)庫(kù),直接在本地使用PI BLOCK可以構(gòu)造。
  2. 節(jié)點(diǎn)宕機(jī)后,提升系統(tǒng)恢復(fù)的性能。當(dāng)某一個(gè)節(jié)點(diǎn)宕機(jī)后,整個(gè)集群會(huì)暫時(shí)停止服務(wù),進(jìn)行內(nèi)部恢復(fù)。恢復(fù)的原理就是將宕掉節(jié)點(diǎn)的redo日志在其他節(jié)點(diǎn)進(jìn)行恢復(fù)。在恢復(fù)時(shí),對(duì)于redo日志中小于PI BLOCK的SCN無(wú)需重做,從大于等于PI BLOCK的SCN處開(kāi)始恢復(fù),從整體上減少了恢復(fù)的工作量。

GLOBAL LOCKDIRETROY

在K-DB數(shù)據(jù)庫(kù)中,所有各個(gè)節(jié)點(diǎn)對(duì)于bufferblock的鎖信息,都會(huì)記錄在GlobalLock Directory(GLD)。各個(gè)節(jié)點(diǎn)在share pool 內(nèi)存中分配出一部分內(nèi)存,共同組成整個(gè)的GLD。那么一個(gè)節(jié)點(diǎn)會(huì)記錄哪一個(gè)數(shù)據(jù)塊的鎖和角色的相關(guān)信息呢?

在這里,KRAC又提出了一個(gè)新的機(jī)制,就是master機(jī)制。

所有的buffer block在當(dāng)前的正在運(yùn)行狀態(tài)的集群中,只會(huì)對(duì)應(yīng)到一個(gè)master節(jié)點(diǎn),該master節(jié)點(diǎn)會(huì)記錄相對(duì)應(yīng)的buffer block在各個(gè)節(jié)點(diǎn)中鎖狀態(tài)和角色的相關(guān)信息。任何節(jié)點(diǎn)在訪問(wèn)某一個(gè)buffer block時(shí),都需要向他的master節(jié)點(diǎn)進(jìn)行申請(qǐng)。Master節(jié)點(diǎn)在收到buffer block訪問(wèn)的請(qǐng)求后,會(huì)確定該buffer block塊的當(dāng)前位置,然后將該buffer block塊傳送給請(qǐng)求用戶(hù)。所有的master中的信息,共同組成了GLR(Global Lock Directory)。

1

數(shù)據(jù)塊訪問(wèn)流程

 

為了便于大家更直觀理解內(nèi)存融合,下面通過(guò)三個(gè)場(chǎng)景舉例說(shuō)明:

 

場(chǎng)景示例——內(nèi)存融合

測(cè)試參數(shù)說(shuō)明:測(cè)試Block 的master 節(jié)點(diǎn)是C。Master節(jié)點(diǎn)中關(guān)于bufferblock一共記錄了4個(gè)參數(shù),第一個(gè)代表的鎖模式,如S(Shared),E(Exclusive),N(Null)。第二個(gè)參數(shù)是定義的是角色,如L(Local),G(Global)。第三個(gè)參數(shù)定義的是是否為PI, 0代表否,1代表是。第四個(gè)參數(shù)是該鎖對(duì)應(yīng)的instance 節(jié)點(diǎn)。

場(chǎng)景一節(jié)點(diǎn)B讀取磁盤(pán)中的BLOCK

(1)B節(jié)點(diǎn)向master C節(jié)點(diǎn)申請(qǐng)讀取block(2,203),BLOCK 中的數(shù)據(jù)為21

(2)主節(jié)點(diǎn)master C 向B節(jié)點(diǎn)賦予block(2,203)的 local 角色shared 模式lock

(3)B節(jié)點(diǎn)從磁盤(pán)讀取block塊(2,203)

2

場(chǎng)景二節(jié)點(diǎn)A更新節(jié)點(diǎn)B中緩存的buffer block

(1)      A節(jié)點(diǎn)向Master Node C申請(qǐng)寫(xiě)B(tài)L(2,203),將21修改為22.

(2)      Master節(jié)發(fā)現(xiàn)B節(jié)點(diǎn)以Shared 模式持有BL(2,203).master主節(jié)點(diǎn)要求B節(jié)點(diǎn)將當(dāng)前的鎖由Shared降為Null模式。

(3)      節(jié)點(diǎn)B將本地的鎖降為Null模式后,將BL(2,203)發(fā)送給A節(jié)點(diǎn)。A節(jié)點(diǎn)獲取local 角色的exclusive 模式的鎖,修改BL(2,2003)中的數(shù)據(jù)為22.

1

場(chǎng)景三B節(jié)點(diǎn)再次更新同一個(gè)Block

  1. B節(jié)點(diǎn)向Master 申請(qǐng)X鎖,寫(xiě)B(tài)lockBL(2,203).將數(shù)據(jù)修改為23
  2. Master 節(jié)點(diǎn)發(fā)現(xiàn)最新版本的數(shù)據(jù)塊在A節(jié)點(diǎn)上,并且A 以X鎖占有該數(shù)據(jù)塊。Master節(jié)點(diǎn)要求A節(jié)點(diǎn)的鎖降為NULL模式,同時(shí)由于此后2個(gè)節(jié)點(diǎn)中都存在與磁盤(pán)中的數(shù)據(jù)不一致的數(shù)據(jù),A節(jié)點(diǎn)的角色升級(jí)為GLOBAL,A中當(dāng)前的數(shù)據(jù)庫(kù)記為PI塊。
  3. A節(jié)點(diǎn)鎖降級(jí)后,將數(shù)據(jù)塊BL(2,203)傳送到B 節(jié)點(diǎn),節(jié)點(diǎn)B將數(shù)據(jù)修改為23.2

    好了,通過(guò)上文介紹,想必大家對(duì)浪潮K-DB數(shù)據(jù)庫(kù)的KRAC功能和運(yùn)行原理有了全面認(rèn)識(shí)。 

    總結(jié)來(lái)講,浪潮K-DB數(shù)據(jù)庫(kù)是除了Oracle以外,第二個(gè)能夠?qū)崿F(xiàn)共享存儲(chǔ)的集群技術(shù)的產(chǎn)品,采用KRAC多機(jī)集群架構(gòu),具有故障自動(dòng)轉(zhuǎn)移、高伸縮能力和自動(dòng)負(fù)載均衡特性,保障系統(tǒng)可用性的同時(shí),大幅提升可用性和性能,還能實(shí)現(xiàn)系統(tǒng)性能平滑升級(jí)且接近線性的擴(kuò)展。

責(zé)任編輯:小明 來(lái)源: 51CTO.com
相關(guān)推薦

2015-11-06 11:08:13

浪潮

2023-05-05 07:00:45

2018-07-25 08:57:42

存儲(chǔ)數(shù)據(jù)遷移

2019-08-15 11:11:38

Java數(shù)據(jù)庫(kù)設(shè)計(jì)

2019-08-16 08:59:33

技術(shù)軟件HTML

2018-05-21 18:10:02

網(wǎng)絡(luò)

2011-06-28 15:37:34

Qt 內(nèi)存

2012-09-29 09:00:25

2016-01-22 10:53:09

前端APP融合

2019-09-18 08:19:42

DDLMySQL數(shù)據(jù)庫(kù)

2021-11-26 07:31:43

Java反射程序

2023-06-01 13:15:23

2020-03-23 09:17:32

內(nèi)存操作系統(tǒng)Windows

2011-07-28 10:01:19

IOS 內(nèi)存優(yōu)化

2009-07-14 18:26:49

MyEclipse內(nèi)存

2024-09-27 08:57:36

2010-03-30 13:56:43

wifi無(wú)線技術(shù)結(jié)構(gòu)

2011-08-02 10:50:56

iOS開(kāi)發(fā) 內(nèi)存緩存

2013-09-29 15:11:46

Linux運(yùn)維內(nèi)存管理
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美国产精品久久久 | 日本一区二区三区免费观看 | 精品久久久久久久 | 午夜影院在线观看免费 | 最新av在线播放 | 日本中出视频 | 久久国产一区 | 黄色a视频 | 91视在线国内在线播放酒店 | 国产精品福利视频 | 亚洲国产精品一区二区久久 | 久久精品av麻豆的观看方式 | 欧美在线a | 国产精品久久 | 国产精品一区二区在线播放 | 欧美激情精品久久久久久变态 | 99久热| 精品视频在线观看 | 一区二区视频在线观看 | 国产特级毛片aaaaaa喷潮 | 色久影院 | 日本欧美国产在线 | 日日噜噜噜夜夜爽爽狠狠视频97 | 国产精品乱码一区二区三区 | 中文字幕 亚洲一区 | 亚洲成人精品 | 毛片区| 无码一区二区三区视频 | 福利精品 | 成人国产精品色哟哟 | 久久成人免费 | 日本人爽p大片免费看 | 99re在线视频观看 | 日日夜夜免费精品 | 亚洲天堂久久 | 一级欧美一级日韩片 | 国产精品视频一区二区三区, | 天堂av影院| a视频在线观看 | 伊人久久伊人 | 国产精品无码久久久久 |