1.GaussDB的發(fā)展
2.GaussDB的生態(tài)
- 內(nèi)部:
云化+自動(dòng)化方案。通過(guò)數(shù)據(jù)庫(kù)運(yùn)行基礎(chǔ)設(shè)施的云化將DBA(數(shù)據(jù)庫(kù)管理員)和運(yùn)維人員的日常工作
自動(dòng)化。 - 外部:
采用與數(shù)據(jù)庫(kù)周邊生態(tài)伙伴對(duì)接與認(rèn)證的生態(tài)連接融合方案,解決開(kāi)發(fā)者/DBA難獲取、應(yīng)用難對(duì)接等生態(tài)難題。
3.GaussDB特征及技術(shù)競(jìng)爭(zhēng)力
- 分布式:
分布式事務(wù)能力+跨DC(Data Center,數(shù)據(jù)中心)高可用能力,解決傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的擴(kuò)展性、可用性不足等瓶頸。 - 云化架構(gòu):
滿足公有云、私有云和混合云場(chǎng)景的云化架構(gòu),滿足多元需求場(chǎng)景的云數(shù)據(jù)庫(kù)訴求。 - 混合負(fù)載:
在一套數(shù)據(jù)庫(kù)中運(yùn)行多種負(fù)載,簡(jiǎn)化系統(tǒng)部署,消除數(shù)據(jù)復(fù)制或搬遷帶來(lái)的數(shù)據(jù)一致性問(wèn)題,同時(shí)也提升了系統(tǒng)的可靠性和實(shí)時(shí)性。 - 多模異構(gòu):
構(gòu)建管理移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、人工智能、時(shí)序、圖像等多模數(shù)據(jù)的新型數(shù)據(jù)庫(kù),通過(guò)改造優(yōu)化數(shù)據(jù)庫(kù)架構(gòu),實(shí)現(xiàn)充分利用“通用處理器+異構(gòu)加速器”算力優(yōu)勢(shì)。 - AI+DB:
借助A算法的精度和適用范圍,支持在數(shù)據(jù)庫(kù)參數(shù)調(diào)優(yōu)、SQL執(zhí)行優(yōu)化等特定場(chǎng)景下解決問(wèn)題,支持從圖像,語(yǔ)言、文本等非結(jié)構(gòu)化數(shù)據(jù)抽取結(jié)構(gòu)化信息。
4.設(shè)計(jì)思想與用戶對(duì)象
設(shè)計(jì)思想:利用云技術(shù)和A技術(shù),提供空間管理作用范圍極為廣大的、云部署的數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)的甚礎(chǔ)設(shè)施,以實(shí)現(xiàn)對(duì)計(jì)算機(jī)資源的共享。
- 公有云數(shù)據(jù)庫(kù)系統(tǒng)服務(wù):面向中小型企業(yè)的數(shù)據(jù)庫(kù)需求。針對(duì)中小型企業(yè)提供公有云數(shù)據(jù)庫(kù)系統(tǒng)服務(wù),大幅降低這類實(shí)體的運(yùn)營(yíng)成本。
- 私有云數(shù)據(jù)庫(kù)系統(tǒng)服務(wù):面向中大型企業(yè)的數(shù)據(jù)庫(kù)服務(wù)需求。在實(shí)體內(nèi)部購(gòu)買大量設(shè)備,同時(shí)構(gòu)筑相關(guān)的PaS層和SaS層,數(shù)據(jù)庫(kù)服務(wù)是其中非常關(guān)鍵一類服務(wù)。使得內(nèi)部和各個(gè)部門的信息新系統(tǒng)可以共享相關(guān)資源,同時(shí)實(shí)現(xiàn)數(shù)據(jù)共享,并降低整體的維護(hù)成本,最終降低總體擁有成本。
- 據(jù)庫(kù)系統(tǒng)服務(wù)
選擇公有云服務(wù),哪些數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)選擇私有云服務(wù),主要從降低系統(tǒng)的總體擁有成本(Total Cost of Ownership,TCO)考慮,包括構(gòu)建成本、運(yùn)維成本、折舊費(fèi)用等。
5.彈性伸縮的多租戶數(shù)據(jù)庫(kù)架構(gòu)
6.云數(shù)據(jù)庫(kù)的克隆復(fù)制
對(duì)生產(chǎn)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行克隆、復(fù)制等操作。克隆、復(fù)制出來(lái)的數(shù)據(jù)庫(kù)系統(tǒng)可以用于非生產(chǎn)系統(tǒng),并用于
開(kāi)發(fā)、測(cè)試流程或參與到基準(zhǔn)測(cè)試中。
用戶非生產(chǎn)系統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)保持了和生產(chǎn)系統(tǒng)當(dāng)前一致的數(shù)據(jù),同時(shí)生產(chǎn)系統(tǒng)中更新的一部分?jǐn)?shù)據(jù)也可以實(shí)時(shí)同步到非生產(chǎn)數(shù)據(jù)庫(kù)系統(tǒng)中,進(jìn)而保持這兩部分?jǐn)?shù)據(jù)之間的一致性。
7.多模數(shù)據(jù)庫(kù)的設(shè)計(jì)思想
設(shè)計(jì)思想:在數(shù)據(jù)庫(kù)系統(tǒng)之上提供統(tǒng)一的多模數(shù)據(jù)管理、處理能力,以及統(tǒng)一運(yùn)維能力。
- 多模數(shù)據(jù)的存儲(chǔ):對(duì)于一個(gè)統(tǒng)一的多模數(shù)據(jù)庫(kù)系統(tǒng)而言,需要提供多種數(shù)據(jù)模型的存儲(chǔ)能力,包括關(guān)系、時(shí)序、流圖、空間等。
- 多模數(shù)據(jù)的處理:對(duì)于一個(gè)統(tǒng)一的多模數(shù)據(jù)庫(kù)系統(tǒng)而言,需要提供多種數(shù)據(jù)庫(kù)模型的處理能力,包括關(guān)系、時(shí)序、流圖、空間等。
- 多模數(shù)據(jù)之間的相關(guān)轉(zhuǎn)換:大多數(shù)情況下,客戶的數(shù)據(jù)產(chǎn)生源只有一個(gè),即數(shù)據(jù)產(chǎn)生源的數(shù)據(jù)模型是單一的,但是后續(xù)處理可能需要使用多種模型來(lái)表征物理世界,進(jìn)而進(jìn)行數(shù)據(jù)處理,或者需要通過(guò)多種模型之間的相互協(xié)作來(lái)完成單一任務(wù)。因此,不同模型之間的數(shù)據(jù)轉(zhuǎn)換也是極為重要的。
8.多模數(shù)據(jù)庫(kù)系統(tǒng)架構(gòu)
引入多模數(shù)據(jù)庫(kù)統(tǒng)一框架(Multi–Model Database Uniform Framework),為用戶提供關(guān)
系數(shù)據(jù)庫(kù)、圖數(shù)據(jù)庫(kù)、時(shí)序數(shù)據(jù)庫(kù)等多模數(shù)據(jù)庫(kù)統(tǒng)一數(shù)據(jù)訪問(wèn)和維護(hù)接口,簡(jiǎn)化運(yùn)維和應(yīng)用開(kāi)發(fā)人
員的學(xué)習(xí)和使用成本,提升了數(shù)據(jù)使用安全性(數(shù)據(jù)無(wú)須在多個(gè)系統(tǒng)之間進(jìn)行倒換,減少了數(shù)據(jù)在
網(wǎng)絡(luò)上暴露的時(shí)間)。
9.GaussDB數(shù)據(jù)庫(kù)整體架構(gòu)
GaussDB主要包括四個(gè)邏輯模塊:
9.1 數(shù)據(jù)庫(kù)前端
提交事務(wù),基于MySQL8.0,100%兼容。
9.2 存儲(chǔ)抽象層(SAL)
數(shù)據(jù)分片、故障恢復(fù)、遠(yuǎn)程數(shù)據(jù)存儲(chǔ)。
9.3 Log Store(日志存儲(chǔ))
日志存儲(chǔ)是在存儲(chǔ)層中執(zhí)行的一個(gè)服務(wù),負(fù)責(zé)存儲(chǔ)日志記錄。一旦
屬于事務(wù)的所有日志記錄都持久化了,就可以向客戶端確認(rèn)事務(wù)完
成。
9.4 Page Store(頁(yè)存儲(chǔ))
Page Store服務(wù)器是存儲(chǔ)層另外一個(gè)服務(wù)。GaussDB的數(shù)據(jù)庫(kù)被
劃分為固定大小(10GB)的分區(qū),這些分區(qū)被稱為slice。每個(gè)
Page Store服務(wù)器處理來(lái)自不同數(shù)據(jù)庫(kù)的多個(gè)slices,接收屬于它
負(fù)責(zé)的slices的日志。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)slices,每個(gè)slice都復(fù)
制到3個(gè)Page Store,以保證持久性和可用性。
10.部署模式
10.1 單AZ部署
- 3副本:副本在不同節(jié)點(diǎn)。
- Log Store:3副本全部持久化,事務(wù)才可提交;從任何一個(gè)副本即可讀取數(shù)據(jù),
- Page Store:3副本任何一個(gè)持久化,即成功:副本之間可進(jìn)行同步數(shù)據(jù)。
。
10.2 多AZ
- 6副本:每個(gè)AZ包含兩個(gè)副本。
- Log Store:6個(gè)副本,對(duì)于寫需要4個(gè)成功寫入,對(duì)于讀需要3個(gè)副本有效。
- Page Store:6副本任何一個(gè)持久化,即成功:副本之間可進(jìn)行同步數(shù)據(jù)。
11.寫入流程
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-716669.html
12.讀流程
數(shù)據(jù)庫(kù)前端以頁(yè)為單位讀取數(shù)據(jù)。讀取或修改數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)前端需要把對(duì)應(yīng)的頁(yè)面讀取到
buffer pool中。當(dāng)需要讀取一個(gè)新的頁(yè)面,但ouffer pooli已經(jīng)滿的時(shí)候,系統(tǒng)必須淘汰掉一個(gè)
頁(yè)面來(lái)置換。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-716669.html
- GaussDB修改了頁(yè)面淘汰算法,保證臟頁(yè)對(duì)應(yīng)的所有日志記錄成功寫入到至少一個(gè)Page Store,之后才會(huì)
淘汰該頁(yè)面。因此,GaussDB保證了在日志記錄到達(dá)Page Store之前,對(duì)應(yīng)頁(yè)面可以從ouffer pool中
訪問(wèn)。淘汰后,立即就可以從Page Store中讀取。 - 對(duì)于每個(gè)slice,SAL記錄發(fā)送到slicel的最后的日志記錄的LSN。當(dāng)master節(jié)點(diǎn)讀取頁(yè)面時(shí),讀操作到達(dá)
SAL,SAL會(huì)發(fā)出一個(gè)讀請(qǐng)求,并附帶上述LSN。讀請(qǐng)求被系統(tǒng)發(fā)送到已知的時(shí)延低的Page Store節(jié)點(diǎn)。
如果所選的節(jié)點(diǎn)不可用,或者它沒(méi)有接收到所指定LSN之前的所有日志記錄,則返回讀異常,SAL將嘗試
訪問(wèn)下一個(gè)存有該slicel的Page Store節(jié)點(diǎn),直到找到能夠滿足該請(qǐng)求的節(jié)點(diǎn)為止。
13.Log Store日志存儲(chǔ)故障恢復(fù)
- 臨時(shí)故障:
·Log Store變?yōu)镽ead-only模式,不會(huì)有新的請(qǐng)求,該節(jié)點(diǎn)設(shè)為臨時(shí)故障狀態(tài)?;謴?fù)后,不需要Recovery, 丟失數(shù)據(jù)可從其他副本拉取。 - 永久故障:
·故障節(jié)點(diǎn)從集群中剔除,該節(jié)點(diǎn)上所丟失的數(shù)據(jù),會(huì)通過(guò)其他副本上進(jìn)行重構(gòu)。
到了這里,關(guān)于GaussDB數(shù)據(jù)庫(kù)管理系統(tǒng)介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!