執行個體、叢集和節點
如要使用 Bigtable,您必須建立「執行個體」,其中應包含應用程式可以連結的「叢集」;每個叢集內都包含「節點」,也就是管理資料與執行維護工作的計算單元。
本頁面提供關於 Bigtable 執行個體、叢集以及節點的更多資訊。
- 如要瞭解如何建立執行個體,請參閱「建立執行個體」。
- 如要瞭解如何新增或刪除叢集,請參閱修改執行個體。
- 如要瞭解如何監控執行個體及其叢集,請參閱「監控執行個體」。
- 如要瞭解如何更新叢集中的節點數量,請參閱「新增或移除節點」。
閱讀本頁之前,請先熟悉 Bigtable 總覽。
執行個體
Bigtable 執行個體是資料的容器。執行個體具有一或多個叢集,位於不同區域。每個叢集至少有 1 個節點。
資料表從屬於執行個體,而非叢集或節點。如果執行個體有多個叢集,表示您正在使用複製功能。也就是說,您無法將資料表指派給個別叢集,也無法為執行個體中的每個叢集建立專屬的垃圾收集政策。您也無法讓每個叢集在同一個資料表中儲存不同的資料集。
一個執行個體有幾個重要的屬性:
- 「儲存類型」(固態硬碟或傳統硬碟)
- 應用程式設定檔,主要適用於使用複製功能的執行個體
以下各節將說明這些屬性。
儲存類型
建立執行個體時,您必須選擇執行個體叢集要將資料儲存在固態硬碟 (SSD) 或一般硬碟 (HDD)。固態硬碟通常是最有效且最具成本效益的選擇,但有時並非如此。
選擇固態硬碟及傳統硬碟後將不可變更,且在您執行個體中的每個叢集皆必須使用相同類型的儲存,所以請確認您的使用情境以選擇正確的儲存類型。如需更多資訊,請參閱選擇 SSD 或 HDD 儲存空間。
應用程式設定檔
建立執行個體後,Bigtable 會使用該執行個體來儲存應用程式設定檔。如果執行個體使用複製功能,應用程式設定檔會控管應用程式與執行個體叢集的連線方式。
如果執行個體未使用複寫功能,您仍可使用應用程式設定檔,為每個應用程式或應用程式中的每個函式提供個別 ID。接著,您可以在 Google Cloud 控制台中查看每個應用程式設定檔的個別圖表。
如要進一步瞭解應用程式設定檔,請參閱應用程式設定檔。如要瞭解如何設定執行個體的應用程式設定檔,請參閱「配置應用程式設定檔」。
叢集
叢集代表特定位置的 Bigtable 服務。每個叢集隸屬於一個 Bigtable 執行個體,且每個執行個體中的叢集最多可以分布於 8 個區域。當應用程式將要求傳送至 Bigtable 執行個體時,執行個體中的其中一個叢集會處理這些要求。
各個叢集都位於一個單一個區域中。執行個體中的叢集最多可以分布於 8 個 Bigtable 適用區域。
地區中的每個區域只能包含一個叢集。
舉例來說,如果執行個體在 us-east1-b
中有叢集,您可以在同一個地區的不同區域 (例如 us-east1-c
) 中新增叢集,也可以在不同地區的區域 (例如 europe-west2-a
) 中新增叢集。
您可以在執行個體中建立的叢集數量,取決於所選區域中的可用區域數量。舉例來說,如果您在 8 個區域中建立叢集,且每個區域有 3 個可用區,則執行個體最多可有 24 個叢集。如需 Bigtable 可用的區域和地區清單,請參閱 Bigtable 位置。
只有 1 個叢集的 Bigtable 執行個體不會使用複寫功能。如果為執行個體新增第二個叢集,Bigtable 會自動開始複製資料,方法是在每個叢集的區域中保留資料副本,並同步處理副本之間的更新。您可以選擇應用程式要連線的叢集,藉此隔離不同類型的流量。您也可以讓 Bigtable 在叢集之間平衡流量。若叢集無法使用,您可以從一個叢集容錯移轉至另一個叢集。如要進一步瞭解複製功能的運作方式,請參閱複製功能總覽。
在大多數情況下,您應為叢集啟用自動調度資源,讓 Bigtable 視需要新增及移除節點,以處理叢集的工作負載。
建立叢集時,您可以啟用 2 倍節點資源調度功能,將叢集設定為一律以兩個節點為增量進行資源調度。詳情請參閱「節點縮放比例」。
節點
執行個體中的每個叢集都有 1 個以上的節點,也就是 Bigtable 用來管理資料的運算資源。
在幕後,Bigtable 會將資料表中的所有資料分割為個別的子表。平板電腦會儲存在磁碟上,與節點分開,但位於與節點相同的區域。子表會與一個節點相關聯。
每個節點負責:
- 追蹤磁碟上的特定平板電腦。
- 處理傳入的寫入及讀取子表要求。
- 執行子表的維護工作,例如定期壓縮。
叢集必須要有足夠的節點來支援現有的工作負載及其儲存的資料量。否則,叢集可能無法處理傳入的請求,且延遲可能會增加。監控叢集的 CPU 和磁碟使用情形,並在執行個體的指標超出「規劃容量」一文中的建議時,新增節點。
如要進一步瞭解 Bigtable 如何儲存與管理資料,請參閱 Bigtable 架構。
對於高處理量讀取工作,您可以使用 Bigtable 的 Data Boost 進行運算,而非叢集的節點。透過 Data Boost,您可以使用無伺服器運算傳送大型讀取工作和查詢,同時讓核心應用程式繼續使用叢集節點進行運算。詳情請參閱 Data Boost 總覽。
複製叢集之節點
如果執行個體有多個叢集,當您設定自動調度資源的節點數量上限或手動分配節點時,就必須考慮容錯移轉。
手動從一個叢集容錯移轉到另一個叢集,或發生自動容錯移轉時,接收叢集應具備足夠容量來支援負載。您可以一律分配足夠的節點來支援容錯移轉 (但這可能很昂貴),也可以在流量容錯移轉時,依賴自動調度資源功能新增節點,但請注意,叢集擴充時,效能可能會短暫受到影響。
若您所有的應用程式設定檔皆使用單一叢集發送,每個叢集可以擁有不同數量的節點。根據叢集的工作量來調整每個叢集的大小。
由於 Bigtable 會為每個叢集分別儲存一份資料副本,因此每個叢集都必須有足夠的節點,才能支援磁碟用量,並在叢集之間複製寫入作業。
若有需要,您仍然可以從一個叢集手動容錯移轉至另一個叢集。不過,如果一個叢集的節點數量遠多於另一個叢集,且您需要容錯移轉至節點較少的叢集,可能需要先新增節點。當您要進行容錯轉移時,並無法保證有多餘可用的節點,唯一預先保留節點的方式,就是將它們新增至您的叢集中。