全部產品
Search
文件中心

Tablestore:全域表

更新時間:Jan 09, 2026

當跨地區業務需要低延遲訪問和高可用性保障時,可使用全域表(Global Table)功能的多地區自動資料同步實現跨地區容災,支援就近讀寫和容災切換。

工作原理

全域表基於Table Store的多地區複製技術,在多個地區執行個體間建立資料同步通道。當某個地區的表發生資料變更時,變更會自動同步到其他地區的副本表,實現資料的跨地區一致性。表副本支援在不同執行個體和地區上動態擴充和解除。

整個複製過程在後台全自動運行,無需人工幹預。該機制能夠在確保資料一致性的前提下達成可接受的復原點目標(RPO),有效滿足多數業務系統的容災與連續性要求。

在日常使用中,使用者或應用程式可就近訪問副本進行讀寫操作,顯著降低訪問延遲。當發生地區性故障或重大災難(例如資料中心中斷、自然災害等)時,使用者可基於多副本快速發起容災切換操作,重建關鍵應用與資料,有效保障商務持續性。

功能特性

image

多地區容災

跨Region的表副本,當發生地區層級的故障時,其他地區的副本仍可提供服務

image

低延遲訪問

使用者或應用程式可以在就近副本上讀取和寫入資料,大大降低操作延遲

image

資料最終一致

採用最終一致性模型,多個副本間非同步同步,資料最終一致

image

自動衝突解決

系統基於LLW(Last Write Win)演算法自動處理多地並發寫入衝突

適用範圍

適用於對高可用性、跨地區低延遲讀寫和跨地區容災有強需求的業務情境。典型情境如下:

  • 跨地區備份:在主地區發生故障時,可切換到備地區繼續提供讀服務,保障商務持續性。例如某電商系統使用者表的主表和備表分別儲存在華東1(杭州)地區和華北2(北京)地區的Table Store中,當華東1(杭州)地區出現故障時,由華北2(北京)繼續提供查詢服務。

  • 一地寫入、多地讀取:在就近地區寫入資料,其他地區也就近讀取,適合異地訪問加速的情境。例如業務主寫到華東1(杭州)地區,華北2(北京)和華東2(烏蘭察布)地區部署唯讀副本,滿足跨地區低延遲讀取的需求。

全域表地區支援:目前支援華東1(杭州)、華東2(上海)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華北6(烏蘭察布)、華南1(深圳)、華南3(廣州)和西南1(成都)地區。

建立全域表

開通服務和建立執行個體,請分別在主地區和目標副本地區建立執行個體。

步驟一:準備基礎資料表

在主地區建立作為全域表基礎的資料表。

說明
  • 如需使用已有資料表作為全域表的基礎資料表,請確保資料表滿足資料生命週期為-1、最大版本數為1、資料有效版本偏差為MaxInt32(2147483647)且開啟行模式表的配置要求。

  • 由於非行模式的存量表不支援建立全域表。如需使用,請聯絡支援人員開通。

  1. 進入執行個體管理頁面。

    1. 登入Table Store控制台

    2. 在頁面上方,選擇資源群組和地區。

    3. 概覽頁面,單擊執行個體別名或在執行個體操作列單擊執行個體管理

  2. 執行個體詳情頁簽,單擊建立資料表

  3. 建立資料表對話方塊,設定資料表名稱表主鍵

  4. 開啟進階設定開關後,開啟快捷設定全域表依賴開關,系統會自動設定全域表相關依賴項。

    參數

    全域表的值要求

    說明

    資料生命週期

    -1

    資料永不到期。

    最大版本數

    1

    最大版本數為1。

    是否支援行版本

    開啟

    設定為行模式表。

    說明

    開啟是否支援行版本後不支援關閉。開啟行版本後存在如下限制:

    • 單行資料最多支援 256 列。

    • 寫入資料時不支援手動指定版本號碼,只能由系統自動產生。

    • 執行 Update 操作時,系統需先讀取當前行版本,因此會帶來少量額外的讀取負載。

    資料有效版本偏差

    MaxInt32 (2147483647)

    版本偏差設定為Int32最大值,表示不限制。

    image

  5. 單擊建立

步驟二:建立全域表

將基礎資料表轉換為全域表,並添加副本地區。建立完成後,系統會自動在選定的副本地區建立對應的資料表,並建立資料同步鏈路。

  1. 在主地區的資料表列表頁簽,單擊基礎資料表操作列的建立全域表

    說明

    單擊資料表名稱後,在全域表頁簽,單擊建立全域表同步關係,也可進行後續操作。

  2. 建立全域表對話方塊,設定當前資源。

    1. 選擇資料表為當前表。

    2. 設定全域同步模式主備模式(跨地區複製)

    image

  3. 目標表地區,選擇目標執行個體所在地區和執行個體名稱。

    系統支援一次添加多個目標執行個體,建立全域表後,系統會自動在所選地區的執行個體中建立目標表,目標表名與當前基礎資料表名相同。

    說明

    如果目標執行個體中存在與全域表同名的資料表,則會導致全域表建立失敗。

  4. 單擊確定

    建立全域表對話方塊,單擊去列表查看,在全域表頁簽,可查看全域表。

    image

步驟三:驗證並使用全域表功能

建立完成後,驗證資料同步功能並進行基本的讀寫測試。

  1. 寫入測試資料:在主地區的資料表中寫入測試資料。

    1. 在主地區的資料表列表頁簽,單擊基礎資料表操作列的查詢/搜尋

    2. 資料管理頁簽,單擊插入資料

    3. 插入資料對話方塊,設定主鍵,單擊增加屬性列添加屬性,然後單擊確定

  2. 驗證資料同步:等待1-3秒後,在副本地區查詢資料驗證同步效果。

    1. 在主地區的資料表列表頁簽,單擊基礎資料表操作列的查詢/搜尋

    2. 在基礎資料表的全域表頁簽,單擊副本地區的副本表名稱。

    3. 在副本表的資料管理頁簽,即可看到從主地區基礎資料表中同步到副本地區表的資料。

全域表讀寫

全域表中的各副本表與資料表的資料讀取資料寫入操作一致。

  • 實際讀取時請擷取相應副本表所在執行個體的Endpoint進行讀取。

  • 在主備模式中,只有主副本允許通過所在執行個體的Endpoint寫入,其他副本禁止寫入(除了主備切換時)。

修改主備關係

主備模式下,當主副本表出現故障或者應用程式層需切換寫入region時,可將其他副本表設為新主副本表繼續提供服務。

  1. 全域表頁簽,單擊備表操作列的切換為主表

  2. 修改主備關係對話方塊,提交主表切換任務並啟動資料同步。

    重要

    資料同步將會持續進行,同步時間長度與資料規模、系統資源等相關,請耐心等待。資料同步過程中,主副本表和選作新主的副本表均為可讀寫,可能存在資料不一致風險。

    1. 資料同步步驟中,單擊開始資料同步

      image

    2. 主備表切換對話方塊,單擊查看詳情,查看資料同步的RPO情況。

  3. 切換應用程式層寫鏈路。

    確認主備表資料一致性後再進行應用程式層寫鏈路切換操作。

    1. 單擊任一表同步模式列的確認寫鏈路切換

    2. 應用程式層寫鏈路切換步驟中,確認資料同步完成,並且已在您的應用中將所有寫入端修改為新主的Endpoint後,單擊已完成寫鏈路切換

      image

  4. 確認切換為主表。

    在寫鏈路切換完成後請儘快進行主表切換確認操作。

    重要

    操作後,原主表的寫入能力將被關閉。

    1. 單擊任一表同步模式列的查看

    2. 確認切換主表步驟中,單擊同步完成,立即切換主表

      說明

      如需取消主備表切換,請單擊取消主表切換後完成取消確認。

      image

    3. 在確認對話方塊中,單擊確定

      修改成功後,原主副本將只提供唯讀能力,新的主副本開始提供讀寫能力。

增加全域地區

為全域表添加一個或多個全域地區。

  1. 全域表頁簽,單擊副本表操作列的增加全域地區

  2. 增加全域地區對話方塊,選擇目標執行個體的地區和執行個體名稱。

    如需添加多個全域地區,請單擊添加執行個體後繼續操作。

    說明

    如果目標執行個體中存在與全域表同名的資料表,則會導致全域地區添加失敗。

  3. 單擊確定

解除同步關係

為全域表解除同步關係。

說明

如需停止全域表的所有地區的同步,請分別對各副本表進行綁定關係解除操作,且必須先操作備表,然後操作主表。如需移除某個地區的同步關係,僅對待解除的副本表進行操作即可。

  1. 全域表頁簽,任選一種方式開始解除同步關係。

    • 單個解除:單擊副本表操作列的解除同步關係

    • 批量解除:選擇待解除的副本表,單擊列表下方解除同步關係

  2. 在確認對話方塊中,單擊確定

開發整合

可通過Java SDK使用全域表。

應用於生產環境

  • 全域表操作建議

    • 為存量表建立全域表:原有讀寫API不變,資料自動同步到新的副本,新的副本可分擔讀負載。

    • 從0全新建立全域表:確定好表結構,建立基礎資料表後再建立全域表。全域表不支援修改表結構,請確保基礎資料表測試通過後再進行全域表建立。

    • 動態綁定新的副本:使用全域表過程中,可動態添加新的副本,不影響已有副本的讀寫。新的副本將具備全域表內最新的資料。

    • 解除綁定一些已有的副本:運行一段時間後,如果某個副本表已不再需要,可先將其解除綁定。解除綁定後,該副本將不再同步其他副本的資料,但表及其資料仍存在。如需刪除該副本,請在解除綁定副本後再手動刪除。

  • 合理選擇地區組合:根據使用者分布和業務需求就近選擇合適的主地區和備地區。

  • 主地區故障切換:主備模式下,當主地區不可用時,可通過控制台先選到新主副本表再切換上層應用寫鏈路,然後等待資料同步到新主副本表後切換為主副本表。切換過程中可能有短暫的寫入中斷,建議業務側實現重試機制。

    重要

    請業務應用自行保障應用與服務的切換順序和時間點,避免出現資料丟失。

配額與限制

更多資訊,請參見全域表使用限制

  • 表類型限制:僅支援資料表,不支援時序表、多元索引和二級索引的跨地區同步。

  • 副本數量:單個全域表最多支援10個地區。

  • 同步延遲:同步RPO一般在數秒內,具體取決於地區、網路情況和資料量。

  • 暫不支援功能說明

    • 資料轉送延時的可靠性保障暫不提供,即暫不提供RTC。

    • 全域表不支援修改表屬性,例如修改TTL配置、增加預定義列。

    • 已有資料表預設建立為列模式,暫不支援直接升級為全域表。

    • 當二次使用全域表功能時,已有重複表格不支援重新關聯同步關係,需先刪除多元索引和二級索引再刪除表,然後建立全域表。

      說明

      二次使用是指曾建立過全域表但已被解除同步關係的資料表,再次將其建立為全域表的情境。

計費說明

使用全域表時,將產生資料存放區費用、資料讀取費用、資料寫入費用以及跨地區複製流量費用。

說明

各副本表在資料存放區和讀寫操作上的計費方式與資料表一致。具體計費規則請參見計費概述

各項費用說明如下:

  • 資料存放區費用:各副本表均隔離儲存區 (Isolated Storage)資料,按各表所在地區實際儲存資料量分別計費。

  • 資料讀取費用:所有副本表的本地讀操作所產生的費用。

  • 資料寫入費用:寫入操作僅在可寫副本上執行,寫入費用僅發生在被直接寫入的表上;副本表通過非同步複製同步資料,不產生寫入費用。

  • 跨地區複製流量費用:向各副本表非同步複製資料時產生跨地區資料轉送流量。

    重要

    各副本的跨地區複製流量費單獨計算,費用均計量到被拉取資料的執行個體。

常見問題

如何修改全域表的配置,例如設定TTL、添加自訂欄?

目前不支援直接修改全域表的表配置。如需修改,請先將全域表完全解除綁定再修改,然後重新建立全域表即可。重新建立全域表前,請將讀寫操作全部指向主副本(防止影響上層讀寫)後,再刪除其他副本。

如何刪除副本表?

先將副本表從全域表中解除綁定,待解除綁定成功後在控制台執行個體的表列表中刪除副本表。

主備模式下,如何讀取非主執行個體的副本表?

在主執行個體中基礎資料表的全域表頁簽,查看關聯副本表的執行個體名稱,然後使用該執行個體的Endpoint讀取資料。

行模式下,在不同地區通過UpdateRow介面先後更新了同一行不同列的值(假設a先更新、b後更新),該行資料會是什麼樣的?

該行資料最終是一致的,最終值是b所在副本上的整行資料,具體資料可能會是以下兩種情況之一:

  • 如果更新b前,當前副本表還未同步到a,則行上有值b,但無值a。

  • 如果更新b前,當前副本表已經同步到a,則行上同時有值b和值a。

是否支援在不同國家的地區之間建立全域表?

由於資料合規等原因,目前暫不支援跨國建立全域表,全域表當前支援地區請參見功能和地區支援列表