OceanBase學習之路47|什麼是資源管理?

老樹樁12發表於2023-01-18

本節主要介紹資源管理的結構和基本概念。

OceanBase 資料庫是多租戶的分散式資料庫,一個叢集內可包含多個相互獨立的租戶,每個租戶提供獨立的資料庫服務。租戶的可用物理機資源規格、租戶的副本數及副本型別等均可由使用者指定。基於多租戶的 OceanBase 資料庫系統的叢集和租戶資源管理結構,自底向上依次包括以下三個層面:

  • 物理機資源:一個 OceanBase 叢集中包含若干個 Zone,使用 Zone 作為物理機的容器,每臺物理機都隸屬於一個 Zone,一個 Zone 內可包含若干物理機,同一個 Zone 內的物理機通常部署在相同機房內。通常情況下,可簡單將一個 Zone 對應理解為一個機房。

  • 租戶資源:租戶的可用物理資源以資源池(Resource Pool)的方式描述,資源池由分佈在物理機上的若干資源單元(Resource Unit)組成,資源單元的可用物理資源透過資源配置(Resource Unit Config)指定,資源配置由使用者建立。

  • 租戶資料:租戶資料使用多副本的 Paxos 組儲存資料,OceanBase 資料庫使用內建的副本分配和副本均衡策略,將租戶的資料副本分配到該租戶的資源單元上。資源單元是租戶在各物理機上資料副本的容器。

說明

Meta 租戶沒有獨立的 Unit,所以租戶資源管理過程中不管理 Meta 租戶。

資源管理中有如下概念:

  • 資源單元(Resource Unit,Unit)

    資源單元是一個容器。實際上,副本是儲存在資源單元之中的,所以資源單元是副本的容器。資源單元包含了計算儲存資源(Memory、CPU 和 IO 等)同時資源單元也是叢集負載均衡的一個基本單位,在叢集節點上下線,擴容、縮容時會動態調整資源單元在節點上的分佈進而達到資源的使用均衡。

  • 資源池 (Resource Pool)

    一個租戶擁有若干個資源池,這些資源池的集合描述了這個租戶所能使用的所有資源。一個資源池由具有相同資源配置(Resource Unit Config)的若干個資源單元組成。一個資源池只能屬於一個租戶。每個資源單元描述了位於一個 Server 上的一組計算和儲存資源,可以視為一個輕量級虛擬機器,包括若干 CPU 資源、記憶體資源、磁碟資源等。一個租戶在同一個 Server 上最多有一個資源單元。

  • 資源配置(Resource Unit Config)

    資源配置是資源單元的配置資訊,用來描述資源池中每個資源單元可用的 CPU、記憶體、儲存空間和 IOPS 等。修改資源配置可以動態調整資源單元的規格,進而調整對應租戶的資源。

    注意

    資源配置指定的是對應資源單元能夠提供的服務能力,而不是資源單元的實時負載。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026075/viewspace-2932553/,如需轉載,請註明出處,否則將追究法律責任。

相關文章