bl高h文_亚洲字幕久久_色版视频_男人j进入女人j在线视频

GBase新聞

專注于數(shù)據(jù)庫軟件產(chǎn)品和服務(wù),致力于成為用戶最信賴的數(shù)據(jù)庫產(chǎn)品供應(yīng)商

GBase 8c分布式核心技術(shù)初揭秘—在線擴(kuò)容

發(fā)布時(shí)間:2022-09-15

隨著互聯(lián)網(wǎng)時(shí)代的發(fā)展,聯(lián)網(wǎng)業(yè)務(wù)高峰期間可能實(shí)時(shí)面臨高并發(fā)的訪問量。飛速增長的業(yè)務(wù)需求使得數(shù)據(jù)庫計(jì)算和存儲(chǔ)壓力急劇增大,負(fù)載峰值不斷攀升,將嚴(yán)重影響業(yè)務(wù)系統(tǒng)的正常訪問。為了解決此類問題,南大通用GBase 8c多模多態(tài)分布式數(shù)據(jù)庫增強(qiáng)了其在線擴(kuò)容/縮容的能力。

在線擴(kuò)容/縮容

GBase 8c因其優(yōu)秀的在線擴(kuò)容/縮容能力,能夠全面覆蓋用戶流量低高峰期的業(yè)務(wù)場景。用戶根據(jù)業(yè)務(wù)需求、策略等設(shè)置伸縮規(guī)則。在業(yè)務(wù)需求增長時(shí),系統(tǒng)自動(dòng)增加數(shù)據(jù)庫節(jié)點(diǎn)以保證計(jì)算存儲(chǔ)能力;在業(yè)務(wù)需求下降時(shí),系統(tǒng)自動(dòng)減少數(shù)據(jù)庫節(jié)點(diǎn)以節(jié)約成本。

1.png

擴(kuò)容/縮容數(shù)據(jù)流圖

按照流程方式劃分,GBase 8c在線擴(kuò)容/縮容可分為普通表、Hashbucket表兩種。默認(rèn)創(chuàng)建普通表。普通表適合數(shù)據(jù)量小、數(shù)據(jù)文件有序的場景;Hashbucket表適合數(shù)據(jù)量大、數(shù)據(jù)文件繁雜、高并發(fā)的場景,在此類場景下,Hashbucket表的擴(kuò)容縮容和查詢性能更優(yōu)越。

以下分別簡述普通表和Hashbucket表在線擴(kuò)容的原理。

普通表在線擴(kuò)容原理

GBase 8c僅在數(shù)據(jù)重分布階段中表切換操作時(shí),出現(xiàn)秒級(jí)或毫秒級(jí)的短暫下線。擴(kuò)容其余時(shí)間內(nèi)均支持業(yè)務(wù)在線。存儲(chǔ)節(jié)點(diǎn)擴(kuò)容主要分為集群加節(jié)點(diǎn)、數(shù)據(jù)重分布兩個(gè)階段。

1. 集群加節(jié)點(diǎn)階段。此階段主要完成新節(jié)點(diǎn)的安裝、元數(shù)據(jù)同步、啟動(dòng)等操作。

首先將新節(jié)點(diǎn)初始化并加到集群中,然后將老節(jié)點(diǎn)的元數(shù)據(jù)信息都同步到新節(jié)點(diǎn)中,為后續(xù)數(shù)據(jù)重分布階段做準(zhǔn)備。在元數(shù)據(jù)同步后啟動(dòng)、運(yùn)行新節(jié)點(diǎn),并切換Installation Group為新建的Node Group。

2. 數(shù)據(jù)重分布階段。此階段主要完成存儲(chǔ)節(jié)點(diǎn)擴(kuò)容后數(shù)據(jù)的重分布,以及切換元數(shù)據(jù)。

首先在數(shù)據(jù)重分布之前,進(jìn)行檢查新舊Node Group、創(chuàng)建臨時(shí)表和delete_delta表等準(zhǔn)備工作。然后采用自研Hash數(shù)據(jù)分布算法,完成基線數(shù)據(jù)重分布操作,并追增擴(kuò)容期間產(chǎn)生的業(yè)務(wù)數(shù)據(jù),完成增量數(shù)據(jù)重分布。在最后一輪數(shù)據(jù)追增完成后,關(guān)閉數(shù)據(jù)追增模式,并完成表切換、刪除臨時(shí)列、更新Node Group等收尾操作。

HashBucket表在線擴(kuò)容原理

此外,GBase 8c還支持創(chuàng)建HashBucket表。創(chuàng)建命令如下:

CREATE TABLE tab_name(rel_name rel_type) with(segment=on,bashbucket=on);

HashBucket表使用段頁式存儲(chǔ)方式,以解決數(shù)據(jù)文件多的問題。

每一個(gè)bucketid一段連續(xù)存儲(chǔ),相同的bucketid存儲(chǔ)在相同文件。因此在線擴(kuò)容/縮容進(jìn)行數(shù)據(jù)搬遷時(shí),僅需搬遷發(fā)生變化的bucketid對(duì)應(yīng)的塊文件。在表切換、交換物理文件時(shí),僅需在存儲(chǔ)結(jié)構(gòu)進(jìn)行修改。從而,數(shù)據(jù)搬遷量大大減少。

2.png

Hashbucket表擴(kuò)容數(shù)據(jù)流圖

Hashbucket表擴(kuò)容數(shù)據(jù)流圖如上所示。例如,擴(kuò)容前,bucketid為1、2、3的數(shù)據(jù)存放在DN1節(jié)點(diǎn),bucketid為4、5、6的數(shù)據(jù)存放在DN2節(jié)點(diǎn)。

擴(kuò)容時(shí),如果新節(jié)點(diǎn)不在原集群中,則需將新增的DN3加到集群中(如圖步驟①所示)。根據(jù)數(shù)據(jù)分布算法生成的新map,僅將bucketid為3、6的數(shù)據(jù)由老節(jié)點(diǎn)搬遷至新增的DN3節(jié)點(diǎn)(如圖步驟②所示),其他bucketid值的數(shù)據(jù)無需搬遷。由此看出,數(shù)據(jù)搬遷時(shí)只需移動(dòng)發(fā)生變化的bucketid對(duì)應(yīng)的數(shù)據(jù),而非所有節(jié)點(diǎn)的數(shù)據(jù)重分布,減少擴(kuò)容過程中的搬遷數(shù)據(jù)量,有效提高了擴(kuò)容速率。

關(guān)于 GBase 8c

GBase 8c是基于openGauss3.0構(gòu)建的一款多模多態(tài)的分布式數(shù)據(jù)庫,支持行存、列存、內(nèi)存等多種存儲(chǔ)模式和單機(jī)、主備式、分布式等多種部署形態(tài)。GBase 8c具備高性能、高可用、彈性伸縮、高安全性等特性,可以部署在物理機(jī)、虛擬機(jī)、容器、私有云和公有云,為關(guān)鍵行業(yè)核心系統(tǒng)、互聯(lián)網(wǎng)業(yè)務(wù)系統(tǒng)和政企業(yè)務(wù)系統(tǒng)提供安全、穩(wěn)定、可靠的數(shù)據(jù)存儲(chǔ)和管理服務(wù)。

3.png