應用程式設定檔

應用程式設定檔內儲存的設定能夠讓您瞭解 Cloud Bigtable 執行個體如何處理來自於應用程式的連入要求。當有一個應用程式要與您的 Cloud Bigtable 執行個體連線時,可以指定應用程式設定檔,這時 Cloud Bigtable 就會使用此設定檔來接收應用程式透過連線傳送的所有要求。

如執行個體使用複製功能,應用程式設定檔會影響應用程式與該執行個體的連線方式。因此,假如執行個體擁有兩個以上的叢集,這時應用程式設定檔就特別實用。就算執行個體中只有一個叢集,您也可以使用相對應的唯一應用程式設定檔來處理各個執行的應用程式,或是單一應用程式中的不同元件。接著您可以查看每一個應用程式設定檔中 Cloud Bigtable 指標的個別圖表

本頁面說明應用程式設定檔控制的設定,以及設定檔與應用程式運作的過程。關於常用的設定範例,請參考複製功能設定。關於建立及管理應用程式設定檔的詳細資訊,請參考應用程式設定檔之設定

如果您透過應用程式設定檔來設定複製功能,建議您在閱讀此頁面之前先熟悉 Cloud Bigtable 的複製功能總覽的內容。

應用程式設定檔的設定

應用程式設定檔定義了 Cloud Bigtable 所使用的路由策略,同時還能夠控制是否允許單一資料列交易

轉送政策

應用程式設定檔會指定 Cloud Bigtable 對每一次要求使用的轉送政策:

  • 單一叢集轉送會將所有要求轉送至執行個體中的單一叢集。如果該叢集無法使用,您必須手動容錯移轉到另一個叢集。

  • 多叢集轉送會自動將要求轉送至執行個體中最接近的叢集。如果叢集無法使用,系統會自動將流量容錯移轉到最近的可用叢集。Cloud Bigtable 將單一地區內的叢集均視為等距,即使這些叢集位於不同的區域亦然。

如需瞭解更多容錯移轉的相關資訊,請參閱容錯移轉。 如需瞭解如何進行容錯移轉,請參閱容錯移轉管理

單一資料列交易

對 Cloud Bigtable 而言,資料列層級的讀取與寫入具有單元性,是不可分割的作業。 不過,Cloud Bigtable 無法支援在資料列層級之上的單元性,例如 Cloud Bigtable 不支援大於單一資料列的單元性更新交易。

然而,Cloud Bigtable 可以支援某些需要其他資料庫交易的寫入作業:

  • 讀取-修改-寫入之操作,包含資料的新增及附加。讀取-修改-寫入之操作會讀取現有值,對現有值進行新增或附加,並在資料表中寫入更新後的值。
  • 檢查及修改之操作,亦可稱為條件異動或條件寫入。在檢查及修改之操作中,Cloud Bigtable 會檢查資料列是否符合指定條件,若符合,Cloud Bigtable 會寫入新的值於資料列中。

實際上,Cloud Bigtable 使用單一資料列交易進行操作。這些操作包含了讀取與寫入,且皆已具有單元性,不過僅受限於資料列層級。

單一資料列交易間的衝突

每一個 Cloud Bigtable 執行個體中的叢集皆為能夠接受讀取與寫入的主要叢集。因此當您啟用複製功能時,具有單一資料列交易需求的操作會造成一些問題,例如, 假設一個儲存格包含了 ABC 的值, 然後在兩個不同的叢集中進行了兩次附加資料的操作,其中一個操作是將值更改為 ABCDEF,另一個操作是將值更改為 ABCXYZ,此時 Cloud Bigtable 如何解決這種衝突的情境呢?

為了幫助您解決上述問題,Cloud Bigtable 要求每一個應用程式設定檔皆須指定是否允許執行單一資料列交易。如此一來,您也就不能在使用多叢集路由的應用程式設定檔中,啟用單一資料列交易,因為沒有安全的方法能讓您同時啟用這兩個功能。

當您在 2 個不同的應用程式設定檔 (皆採用單一叢集路由策略,但指向不同叢集) 啟用單一資料列交易,Cloud Bigtable 也會向您發出警告。若要建立此類設定,必須確認您沒有發送「讀取-修改-寫入之操作」以及「檢查及修改之操作」的請求至兩個不同叢集。

應用程式設定檔如何運作

應用程式設定檔的設定決定了 Cloud Bigtable 處理執行個體傳入請求的方式。

許多 Cloud Bigtable 使用者會擁有許多連結至相同執行個體的應用程式。例如,您可能已經有一個專門回應顧客資料請求的應用程式,又有另一個是負責執行不定期批次資料分析。為了處理這兩種不同的應用程式,您應建立多個應用程式設定檔 (每一個應用程式都至少要有一個專屬的設定檔),並確保各應用程式的設定檔都具備正確的相關設定。這樣的設定方式讓我們能輕鬆針對特定應用程式來更改設定,同時不會影響到其他設定。

除此之外,您可能還會使用單一應用程式來實現不同功能,像是檢視當前資料以及查詢歷史資料。為了能夠妥善處理這些不同的功能,您應針對每一個功能建立其專屬的應用程式設定檔,如此您便可讓每一個功能擁有不同的設定,針對特定功能進行設定上的異動時也不會影響到其他功能。

每一個執行個體都有 default 應用程式設定檔,您亦可針對各執行個體建立專屬的自訂應用程式設定檔。以下各節內容說明 default 和自訂應用程式設定檔。

當您需要連結到特定執行個體時,您可以透過程式碼內規劃的方式,來指定要使用的應用程式設定檔。如果您不指定應用程式設定檔,Cloud Bigtable 將會使用執行個體內的預設應用程式設定檔。

預設的應用程式設定檔

當您建立一個執行個體時,Cloud Bigtable 會自動為該執行個體建立一個預設的應用程式設定檔。若您的應用程式沒有指定任何應用程式設定檔,或者是您使用 HBase shell 來與您的執行個體連結,Cloud Bigtable 會採取預設應用程式設定檔之設定。您可以隨時查看及變更這些設定

執行個體預設應用程式設定檔中的設定,取決於您首次建立執行個體時所具備的叢集數量:

  • 如果您建立的執行個體有 1 個叢集,default 應用程式設定檔就會使用單一叢集轉送,並且啟用單一資料列交易。這樣可確保之後新增其他叢集也不會更改現有應用程式的行為。
  • 如果您建立的執行個體至少有 2 個叢集,default 應用程式設定檔就會使用多叢集轉送單一資料列交易不允許透過多叢集轉送進行。

自訂應用程式設定檔

您可以針對不同的執行個體建立許多不同的自訂應用程式設定檔。您可以透過自訂應用程式設定檔,針對不同應用程式或是應用程式中的不同功能來進行控管。例如,您可將單一應用程式設定檔用於批次處理應用程式,來將流量區隔至單一的叢集中,或使用不同的應用程式設定檔,為其他應用程式提供可用性。

後續步驟

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

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

這個網頁
Cloud Bigtable 說明文件