執行個體、叢集和節點

如要使用 Cloud Bigtable,您必須建立「執行個體」,其中應包含應用程式可以連結的「叢集」(最多 4 個);而每個叢集內都包含「節點」,也就是管理資料與執行維護工作的計算單元。

本頁面提供關於 Cloud Bigtable 執行個體、叢集以及節點的更多資訊。

在您閱讀此頁面之前,您需要先熟悉 Cloud Bigtable 總覽

執行個體

Cloud BigTable 執行個體主要是叢集節點的容器,實際工作都是由叢集和節點執行。

資料表從屬於執行個體,而非叢集或節點。假如您的執行個體包含多個叢集,則您無法指派資料表給個別叢集或為每個叢集建立唯一的垃圾收集政策。您也無法讓每個叢集在同一個資料表中儲存不同的資料集。

一個執行個體有幾個重要的屬性:

  • 「執行個體類型」(生產或開發)
  • 「儲存類型」(固態硬碟或傳統硬碟)
  • 「應用程式設定檔」,用於使用複製功能的執行個體

以下各節將說明這些屬性。

執行個體類型

當您要建立執行個體時,您必須選擇您所要建立的執行個體類型:

  • 生產執行個體:具有一個或兩個叢集的標準執行個體,且每個叢集中有三個以上的節點。您無法把生產執行個體降級為開發執行個體。
  • 開發執行個體:用於開發和測試的低成本執行個體,其性能被侷限為相當於一個節點的叢集。沒有監控或總處理量的保證,複製功能亦不可使用,且不適用服務層級協議。您可以隨時將開發執行個體更新為生產執行個體。

儲存類型

當您要建立執行個體時,您須選擇執行個體的叢集要將資料儲存於固態硬碟 (SSD) 或是傳統硬碟 (HDD)。固態硬碟通常是最有效且最具成本效益的選擇,但有時並非如此。

選擇固態硬碟及傳統硬碟後將不可變更,且在您執行個體中的每個叢集皆必須使用相同類型的儲存,所以請確認您的使用情境以選擇正確的儲存類型。若要瞭解更多資訊以幫助您做出選擇,請參閱選擇 SSD 或 HDD 儲存裝置

應用程式設定檔

建立實際工作環境執行個體後,Cloud BigTable 會使用該執行個體來儲存應用程式設定檔。對於使用複製功能的執行個體,應用程式設定檔會控制您的應用程式與執行個體中之叢集連結的方式。若您未使用複製功能,您仍然可以使用應用程式設定檔,為每一個應用程式或是應用程式中的每個功能提供個別的識別碼,且您可以在 GCP 主控台中參閱每個應用程式設定檔的個別圖表

如要進一步瞭解應用程式設定檔的資,請參閱應用程式設定檔。若要瞭解如何設定您的應用程式設定檔,請參閱設定應用程式設定檔

叢集

叢集代表實際的 Cloud Bigtable 服務。每個叢集隸屬於一個 Cloud Bigtable 執行個體,且每個執行個體最多可以擁有 4 個叢集。當您的應用程式發送請求至 Cloud Bigtable 執行個體時,實際上會將請求交由執行個體中的一個叢集來處理。

各個叢集都位於一個單一個區域中。執行個體的叢集必須位於不同區域。您可以在提供 Cloud Bigtable 的任何區域內建立其他叢集。舉例來說,如果第一個叢集位於 us-east1-b,則您可選擇同一個地區內的其他區域 (例如 us-east1-c),或是不同地區的區域 (例如 europe-west2-a)。 有關 Cloud Bigtable 可用的區域及地區列表,請參閱 Cloud Bigtable 的位置

只擁有一個叢集的 Cloud Bigtable 執行個體不能使用 複製功能。若您要新增第二個叢集至生產執行個體,那麼 Cloud Bigtable 會自動開始複製您的資料,方法是在每個叢集的區域中保留各個資料的副本,且在副本間進行同步更新。您可以選擇您的應用程式所要連結的叢集,這樣可以將不同類型的流量隔離出來,或者您可以讓 Cloud Bigtable 平衡叢集間的流量。若叢集無法使用,您可以從一個叢集容錯移轉至另一個叢集。若要瞭解更多複製功能的運作方式,請參閱複製功能總覽

節點

在生產執行個體中的每一個叢集都擁有 3 個以上的節點,這些節點是 Cloud Bigtable 用來管理資料的計算資源。

Cloud Bigtable 會在幕後將資料表中的所有資料分割成較小的「子表」。子表會儲存在磁碟中與節點相同的區域,但與節點分開儲存。每個節點負責追蹤磁碟上的特定子表,處理傳入的寫入及讀取子表要求,並執行子表的維護工作,例如定期壓縮。每個子表會與一個節點相關聯。如要進一步瞭解 Cloud Bigtable 如何儲存與管理資料,請參閱 Cloud Bigtable 架構

叢集必須要有足夠的節點來支援現有的工作負載及其儲存的資料量。否則,叢集可能無法處理傳入的請求,且延遲可能會增加。您應該要監控叢集的 CPU 和磁碟使用情形,並在超出下面列出的建議與限制時新增節點

CPU 使用率

Cloud Bigtable 會報告以下 CPU 使用率指標:

指標 說明
平均 CPU 使用率

叢集中所有節點的平均 CPU 使用率。

這個建議的最大值能為使用期間短暫出現的尖峰期提供緩衝空間。

如果叢集超過最大建議值數分鐘,請為叢集新增節點。

最繁忙節點的 CPU 使用率

叢集中最繁忙節點的 CPU 使用率。

如果最忙碌的節點經常高於建議值,即使您的平均 CPU 使用率很合理,仍代表您可能頻繁地存取資料中的一小部分。

  • 您可以使用 Key Visualizer 工具在資料表中找出可能導致 CPU 使用率尖峰的資源使用率不均情形。
  • 請檢查您的結構定義設計,以確保其支援不同資料表之間平均分配讀取與寫入作業。

這些指標值不得超過以下標準:

設定 建議的最大值
單一叢集

平均 CPU 使用率的 70%
最繁忙節點 CPU 使用率的 90%

使用單叢集轉送的任意數量叢集

平均 CPU 使用率的 70%
最繁忙節點 CPU 使用率的 90%

使用多叢集轉送的 2 個叢集

平均 CPU 使用率的 35%
最繁忙節點 CPU 使用率的 45%

使用多叢集轉送的 3 個以上叢集

取決於您的設定。常見用途詳情請參閱複製功能設定範例

磁碟使用率

Cloud Bigtable 會報告下列磁碟使用情況的指標︰

指標 說明
儲存空間使用率 (位元組)

儲存在叢集中的資料。

這個值會影響您的成本。 此外如以下敘述,當資料量增加時, 您可能需要為每個叢集新增節點。

儲存空間使用率 (% 上限)

叢集儲存空間的使用百分比。容量是根據叢集中的節點數量而定。

一般而言,使用儲存空間時請不要超過總儲存空間固定限制的 70%,才有空間可以新增更多資料。若您不打算在執行個體中加入大量的資料,則可以將固定限制 100% 用盡。

如果您使用的儲存空間超過建議的儲存空間限制百分比,請為叢集新增節點。您也可以刪除現有的資料,不過在進行壓縮前,您刪除的資料會佔用「更多」的空間 (而不是更少)

如要進一步瞭解這個值的計算方式,請參閱每個節點的儲存空間使用率

磁碟負載

您的叢集所使用的百分比是用於 HDD 讀取與寫入的最大可能頻寬。 僅適用於 HDD 叢集。

如果這個值經常為100%, 則可能會遇到延遲增加的情形。請為叢集新增節點,以降低磁碟負載百分比。

複製叢集之節點

在使用複製功能的執行個體中,請確認每個叢集擁有足夠節點來支援您所使用的情況:

  • 如果您使用複製功能來提供高可用性,或是在任何應用程式設定檔中使用多叢集轉送,則每個叢集都應該要有相同數量的節點。另外,如同上面的 CPU 使用率所示,建議的 CPU 使用率減少了一半。

    此設定有助於確保在需要自動容錯移轉時,健全的叢集擁有足夠空間來處理所有的流量。

  • 若您所有的應用程式設定檔皆使用單一叢集發送,每個叢集可以擁有不同數量的節點。根據叢集的工作量來調整每個叢集的大小。

    由於 Cloud Bigtable 會為每個叢集儲存單獨的資料副本,每個叢集必須總是擁有足夠的節點來支援您的 磁碟使用率,並在叢集之間複製寫入。

    若有需要,您仍然可以從一個叢集手動容錯移轉至另一個叢集。然而,若一個叢集擁有比另一個叢集更多的節點,且您需要容錯轉移至擁有較少叢集的節點,首先您可能需要新增節點。當您要進行容錯轉移時,並無法保證有多餘可用的節點,唯一預先保留節點的方式,就是將它們新增至您的叢集中。

相關資源

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Bigtable 說明文件