hhdb資料庫介紹(4)

恒辉信达發表於2024-11-22

常用名詞

叢集

叢集通常指使用關係叢集資料庫HHDB Server所需要搭建的整套架構元件的整體。一般包含計算節點、儲存節點、配置庫、管理平臺、備份程式等。不同叢集在業務上是獨立的,管理平臺中也可以同時管理多套叢集業務。

計算節點

計算節點是關係叢集資料庫HHDB Server叢集體系的核心,主要提供SQL解析、路由分發、結果集合並等關係叢集資料庫的核心控制功能,是整個分散式服務的命脈所在。

服務埠:

計算節點會對外開放兩個埠,服務埠為其中之一。服務埠一般預設為3323,是客戶端應用連線計算節點獲取資料服務的通道。

管理埠:

該埠是計算節點對外開放的另一埠,主要為外界提供資訊監控與管理功能。例如檢視當前計算節點中連線的客戶端連線資訊、重建連線池等。

配置庫

配置庫主要負責儲存計算節點或管理平臺相關配置資訊,也用於暫存部分複雜查詢語句的中間結果集。配置庫可透過主從或MGR進行高可用配置。

資料節點

資料節點(Datanode,可以簡稱為DN)是一組具有相同資料副本的儲存節點的統稱。資料節點可以是一個儲存節點 MGR叢集,也可以是一個儲存節點主從複製叢集。資料節點管理一組儲存節點(具有相同資料副本)的複製關係。資料節點在HHDB Server中作為一個分片資料存在,所有的資料節點一起構成HHDB Server的全量資料。

DNID

DNID又稱Datanode或datanode_id,即資料節點的編號。

儲存節點

儲存節點(Datasouce,可以簡稱為DS)是實際儲存業務資料的資料庫,一個例項(IP+埠+物理庫)即為一個儲存節點。為了實現高可用和資料多副本功能,HHDB Server中將具有相同資料副本的一組(多個)儲存節點稱為一個資料節點。

切換規則

高可用切換功能可為儲存節點提供高可用的保障但前提需要使用者在管理平臺中為資料節點下的儲存節點配置切換規則,也即主儲存節點發生故障時切換到備庫的配置資訊及其優先順序。未配置切換規則的資料節點在底下的主儲存節點發生故障時不會做切換操作。

心跳

心跳是計算節點對儲存節點高可用的檢測策略。計算節點會定時向底層儲存節點傳送心跳檢測,若儲存節點正常反饋計算節點的檢測則代表儲存節點目前狀態正常。若在規定時間與次數內未對計算節點的檢測做反饋則計算節點認為該儲存節點狀態異常,進而執行資料節點高可用切換操作。

儲存節點組

將一組具有相同屬性的儲存節點劃分歸類為一個儲存節點組,當使用者需要批次修改這一組內所有儲存節點的屬性為同一個值時,可以直接修改儲存節點組的屬性值,該組的所有儲存節點的對應屬性值全部修改為新值。該功能可方便修改一批具有共性的儲存節點屬性值且有利於保持其設定一致。

邏輯庫

邏輯庫(LogicDatabase,可以簡稱為LDB)指客戶端程式連線計算節點伺服器後,可以訪問的資料庫,描述資料庫表的集合。邏輯庫是產品引申出來的概念,在實際中沒有單一具體的實體。

垂直庫

邏輯庫下的所有表僅關聯同一個資料節點的庫稱為垂直庫。

表資訊

表資訊指在管理平臺中定義的使用者自身業務的資料庫表的配置規則資訊,定義的表需要在計算節點資料服務埠建立表結構後才能正常使用。目前支援建立:水平分片表、垂直分片表、全域性表、子表四種型別的表。

表型別 定義
水平分片表 水平分片表是指將表的資料按行以分片列的分片規則進行拆分,拆分後的分片資料儲存不同的資料節點。資料量大的表適合定義為水平分片表。
全域性表 全域性表是指在該邏輯庫下的所有資料節點中都儲存的表,所有資料節點中該表的表結構和資料都完全一致。資料量小、不會頻繁DML、經常與其他表發生JOIN 操作的表適合作為全域性表。
垂直分片表 垂直分片表是一個全域性唯一且不分片的全量表,垂直分片表的全量資料僅儲存在一個資料節點。
子表 透過父表(水平分片表)的關聯欄位將父子表關聯,子表資料按照關聯欄位的數值跟隨其父表關聯欄位位置進行儲存。建立子表有利於減少一部分跨庫資料操作,但目前已不再推薦使用。

分片規則

分片規則又稱拆分規則,透過相應的分片函式對分片表中的資料進行對應的資料拆分,分片規則決定了一條分片欄位資料為某特定數值的資料記錄儲存於哪一個資料節點之上。目前計算節點支援分片型別有:ROUTE,RANGE,MATCH,HASH(2.4.6版本之後開始棄用),SIMPLE_MOD,CRC32_MOD(2.4.7版本新增), AUTO(2.4.6版本之後開始啟用),AUTO_CRC32(2.4.7版本新增), AUTO_MOD(2.4.7版本新增)。

分片欄位

分片欄位又稱拆分欄位,它是分片規則對錶資料進行分片路由時的判斷依據。分片規則將分片欄位值作為分片函式的輸入值進行計算,並依據結果進行相應的資料拆分。

資料庫使用者

用於連線計算節點訪問具體邏輯庫或登入計算節點管理埠的賬戶。使用者資訊具體需要在管理平臺中進行配置管理。

元件名詞介紹

計算節點

具體說明請參照常用名詞中計算節點描述。

管理平臺

關係叢集資料庫平臺又稱為HHDB Management,可實現對計算節點資料庫使用者、資料節點、表型別、分片規則等資訊的易用性配置,同時可提供計算節點服務狀態監控、異常事件提醒、報表檢視、任務管理等智慧運維相關服務。

儲存節點

具體說明請參照常用名詞中儲存節點描述。

配置庫

具體說明請參照常用名詞中配置庫描述。

高可用

HHDB Server的計算節點可透過Keepalived實現高可用。Keepalived負責計算節點的主、備切換和VIP漂移。

負載均衡

HHDB Server的計算節點叢集模式可透過LVS/F5實現高可用和負載均衡。應用透過LVS的VIP訪問HHDB Server的關係叢集資料庫服務,關係叢集資料庫服務對應用程式透明,計算節點叢集中單個或多個節點故障對應用程式無影響。

HHDB Backup

本公司自研的關係叢集資料庫備份程式,負責業務資料的備份。

HHDB Listener

本公司自研的關係叢集資料庫監聽程式,可解決強一致模式下計算節點效能線性擴充套件問題,簡稱Listener。

HHDB Management相關名詞

叢集模式

叢集模式為計算節點在實際部署時的一種架構。一般透過計算節點個數可判斷當前計算節點的叢集模式。目前支援三種叢集模式,分別為:單節點、主備節點、多節點。

單節點

叢集模式為單節點時,實際部署的架構中只有一個計算節點例項,也叫作單主叢集模式。此種架構不具備計算節點高可用功能,可在測試環境部署但不建議在生產環境中選擇。

主備節點

叢集模式為主備節點時,實際部署的架構中會有兩個計算節點例項,分別為主計算節點、備計算節點,也叫作HA叢集模式。該模式下計算節點有主備角色狀態,依賴Keepalived元件檢測計算節點的健康狀態以及VIP的維護。

多節點

叢集模式為多節點時,實際部署的架構中會有多個計算節點例項(例項個數大於等於3小於等於9)。各計算節點例項可透過負載均衡元件實現流量的均勻或自定義分發,且保證叢集中只要還有一個計算節點例項可用,業務都不會中斷。

計算節點高可用切換

通常指叢集模式為主備的計算節點,在主計算節點發生故障時Keepalived將VIP漂移至備計算節點。此時由備計算節點接管前端應用服務響應需求。高可用切換可發生在主計算節點故障時或人為手動進行切換。

高可用環境重建

通常指叢集模式為主備的計算節點,在發生故障高可用切換後需要人為進行高可用環境重建操作,為下一次發生故障時計算節點能夠順利再次切換做好準備。如果不進行重建,切換後的計算節點後續再發生故障時無法成功自動切換。高可用環境重建主要對主備計算節點以及Keepalived相關配置進行對應修改,以滿足遇到故障可自動切換的條件。

跨機房災備名詞介紹

災備模式與單機房模式

在兩個機房內協調部署了具有災備關係的完整計算節點叢集執行所需元件,稱這個叢集為開啟災備模式的叢集。

反之,未開啟災備模式的計算節點叢集即為單機房模式的叢集。

機房型別與機房狀態

機房型別分為中心機房和災備機房。機房型別僅用於標識區別兩個機房,且不隨機房服務狀態改變而改變。在產品使用過程中,以新增計算節點叢集組管理為入口可以區分中心機房和災備機房。

機房狀態分為當前主機房和當前備機房,根據機房內的主計算節點是否提供服務(預設3323服務埠)判斷機房型別。當前主計算節點提供服務的機房即為當前主機房;與當前主機房配套提供機房級別高可用服務切換的備用機房為當前備機房。

相關文章