Liquid Table是Hologres V4.2.0版本新增的表格儲存體模式,支援在表建立之後線上動態修改表所屬的Table Group(即線上修改Shard數),整個過程無需重建表、無需停服、無需手工遷移資料。
功能概述
什麼是Liquid Table
Liquid Table是Hologres提供的一種新型表格儲存體模式,其最核心的能力是:
支援在表建立之後,線上動態修改表所屬的Table Group(即線上修改Shard數),整個過程無需重建表、無需停服、無需手工遷移資料。
這一能力解決了傳統數倉在資料量變化後無法低成本調整分區粒度的痛點:
痛點(傳統模式) | Liquid Table解決方式 |
表初始Shard數選錯,後續只能重建表 | 直接 |
資料量翻倍後查詢並發不足,需遷移資料 | 線上擴容Shard數,後台自動重分布資料 |
縮容情境需重建表回收資源 | 線上縮容,自動Compaction到新Shard |
擴縮容期間業務不可用 | 修改期間讀寫請求不失敗(寫延遲可能有短暫上升,讀延遲無影響) |
核心能力一覽
線上Resharding:通過
ALTER TABLE線上調整分區數,業務無感。多儲存格式:支援列存(column)、行存(row)、行列共存(row,column)。
資料重分布可控:可選自動後台重分布,或跳過重分布換取更快的中繼資料切換。
分區視窗控制:僅對最近N天/月的分區做重分布,降低IO開銷。
跨功能相容:可與Dynamic Table、GSI、全文索引、向量索引(HGraph)、Time Travel(MVCC)、Binlog、邏輯分區表等組合使用。
典型適用情境
業務初期Shard數估算保守,後期資料量增長快:初期16 shard,半年後擴容到64 shard。
大促/活動前的臨時擴容:活動前擴容Shard提升查詢並發,活動後縮容回收資源。
冷熱表統一管理:歷史冷分區縮容、活躍熱分區擴容。
AI向量檢索+彈性擴縮容:向量表隨召回量增長動態擴容,索引自動保持可用。
前提條件
Hologres執行個體版本為V4.2.0及以上。如何查看執行個體版本,請參見SQL命令列表。
快速開始
建立Liquid Table
只需在建表語句中增加WITH (liquid_table = 'true')即可:
-- 列存(預設,OLAP情境)
CREATE TABLE my_table (
id INT NOT NULL,
name TEXT,
ts TIMESTAMPTZ,
PRIMARY KEY(id)
) WITH (liquid_table = 'true');
-- 行存(點查/高頻更新情境)
CREATE TABLE my_row_table (
id INT NOT NULL,
name TEXT,
PRIMARY KEY(id)
) WITH (liquid_table = 'true', orientation = 'row');
-- 行列共存(點查+OLAP混合情境)
CREATE TABLE my_hybrid_table (
id INT NOT NULL,
name TEXT,
PRIMARY KEY(id)
) WITH (liquid_table = 'true', orientation = 'row,column');修改Shard數(Resharding)
通過修改表所在的Table Group完成Shard數變更:
-- 準備一個目標Table Group(如還沒有)
CALL hg_create_table_group('tg_64', 64);
-- 一鍵擴容(同步生效)
ALTER TABLE my_table SET (table_group = 'tg_64');
-- 一鍵縮容
ALTER TABLE my_table SET (table_group = 'tg_16');修改完成後,ALTER命令立即返回,新寫入和新查詢使用新的Shard分布;存量資料由後台非同步進行重分布。
驗證當前Shard配置
-- 查看錶當前所屬Table Group與Shard數
SELECT property_key, property_value
FROM hologres.hg_table_properties
WHERE table_name = 'my_table'
AND property_key = 'table_group';
-- 查看Table Group元資訊
SELECT * FROM hologres.hg_table_group_properties
WHERE tablegroup_name = 'tg_64';表屬性參考
建表屬性
屬性 | 類型 | 預設值 | 說明 |
liquid_table | BOOLEAN | false | 是否啟用Liquid Table。只能在建表時指定,老表無法直接ALTER啟用。 |
orientation | STRING | column | 儲存格式: |
liquid_table_enable_data_reorganization | BOOLEAN | true | Resharding後是否進行非同步資料重分布。 |
liquid_table_reorganization_partition_window | STRING | 全部分區 | 僅對指定時間視窗內的分區做重分布,如 |
liquid_table_enable_data_reorganization取值建議
取值 | 行為 | 適用情境 |
true(預設) | Resharding後後台自動將舊資料重分布到新Shard,會有一定IO開銷。 | 長期保留的活躍表,需要保證查詢效能穩定。 |
false | 不做非同步重分布,老資料查詢效能可能下降。 | 即將歸檔/即將清空的表;擴容倍數較小、查詢效能下降可接受的臨時情境。 |
關於false模式的效能預期:Hologres內部會對單分區資料量做最多8倍的oversharding最佳化,典型2~4倍擴容情境下接近無損;當擴容倍數遠超oversharding上限(例如16倍以上),未重分布的老資料查詢效能最壞情況可能有等比下降。
分區視窗樣本
-- 僅對最近30天分區做重分布(要求分區鍵為時間類型)
ALTER TABLE order_log SET (
table_group = 'tg_64',
liquid_table_reorganization_partition_window = '30 day'
);適用情境:超長保留的日誌/事實表,歷史冷分區不再訪問,僅擴容當前熱分區即可。
與其它功能的組合使用
相容矩陣(V4.2.0)
功能組合 | 是否支援 | 備忘 |
Dynamic Table作為Liquid Table | 支援 | Resharding後,Dynamic Table會進行一次全量重建,重新整理延遲較長,後續會恢複為增量計算。 |
Liquid Table作為Dynamic Table的源表 | 支援 | Resharding後,Dynamic Table會進行一次全量重建,重新整理延遲較長,後續會恢複為增量計算。 |
全域二級索引(GSI) | 支援 | V4.2已支援有GSI表的Resharding。 |
全文倒排索引(Fulltext) | 支援 | Resharding後索引保持可用。 |
向量索引(HGraph) | 支援 | Resharding後索引保持可用,近似檢索結果穩定。 |
邏輯分區表(Logical Partition) | 支援 | 支援Resharding,自動分區正常。 |
Time Travel(MVCC) | 支援 | Resharding後歷史資料仍可查。 |
Binlog | 需開啟實驗性GUC | 需開啟實驗性GUC,且對消費端有特殊要求。 |
物理分區表 | 不支援 | 不支援,請使用邏輯分區表替代。 |
物化視圖(MV) | 不支援 | |
老表直接ALTER為Liquid Table | 不支援 | 必須通過Rebuild遷移。 |
MaxCompute直讀Liquid Table | 不支援 | 暫不支援。 |
索引共存樣本
-- 全文索引
CREATE INDEX ft_idx ON my_table USING FULLTEXT (content)
WITH (tokenizer = 'jieba');
-- GSI(全域二級索引)
CREATE GLOBAL INDEX gsi_name ON my_table(name) INCLUDE (ts);
-- 向量索引(通過vectors屬性)
ALTER TABLE my_table SET (vectors = '{
"embedding": {
"algorithm": "HGraph",
"distance_method": "Cosine"
}
}');上述索引在Liquid Table上建立後,可直接執行ALTER TABLE ... SET (table_group = '...')進行Resharding,索引在新Shard上自動保持可用。
Resharding對業務的影響
本章是數倉開發與DBA在執行ALTER TABLE ... SET (table_group = ...)之前必須瞭解的內容。
Resharding在Hologres內部分為兩個階段:
中繼資料切換階段(同步):
ALTER TABLE命令本身的執行過程,秒級完成,命令返回時新的Shard拓撲已生效。資料重分布階段(後台非同步):將舊Shard上的存量資料搬遷/合并到新Shard上,時間長度取決於資料量、擴縮容倍數與IO資源。
整個過程中業務讀寫請求預期不失敗、不被阻塞;但寫入延遲與老資料查詢效能在Resharding期間會受到不同程度的影響,請務必按"會有可觀測影響"來規劃變更視窗與復原預案,不要按"完全無感"來設計。
總體影響概覽
維度 | 中繼資料切換階段(秒級) | 資料重分布階段(後台非同步) |
業務可用性 | 預期不中斷 | 預期不中斷 |
請求是否失敗 | 預期不失敗(極端情況下可能出現少量瞬時錯誤,需依賴用戶端重試) | 預期不失敗 |
寫入延遲 | 會出現明顯抖動,量級從毫秒級到秒級,部分情境可能更長 | 後台IO佔用可能引起延遲輕微上浮 |
寫入吞吐 | 切換前後會有可觀測的下降 | 與執行個體IO水位強相關,可能受到擠壓 |
新資料查詢效能 | 基本不受影響 | 基本不受影響(已按新Shard寫入) |
老資料查詢效能 | 可能立即下降 | 可能持續下降直至重分布完成,下降幅度可能較大,典型情境(如2倍擴縮容)可顯著避免下降 |
索引可用性 | 保持可用 | 保持可用(效能可能受底層IO搶佔影響) |
事務一致性 | 保證 | 保證 |
上表中的"預期不中斷""預期不失敗"等表述表示"在常見情境下預期表現良好",並非絕對保證。實際表現受執行個體規格、資料量、並發負載、擴縮容倍數等因素綜合影響,強烈建議先在測試環境演練後再在生產執行。
對寫入的影響
1)請求預期不會失敗,但應做好用戶端重試。Resharding期間寫入請求預期被正常接收和處理。在中繼資料切換的瞬間,少量並發請求可能出現瞬時錯誤(例如連線逾時),用戶端/Connector應配置好自動重試。不會出現表持續不可寫等長時間異常。
2)寫入延遲會出現可觀測的抖動,並非"無感"。中繼資料切換的瞬間,正在執行的寫入需要等待新拓撲生效,延遲會明顯上升。抖動量級通常在毫秒到秒級,但在以下情況下可能更長:
表上有未結束的長事務。
執行個體IO水位較高。
擴縮容跨度較大(例如從8 shard直接擴到128 shard)。
3)資料重分布階段寫入雖不被阻塞,但延遲可能輕微上浮。
後台資料搬遷會消耗執行個體IO,可能與前台寫入爭搶資源。
在IO水位較緊的執行個體上,寫入延遲在重分布期間會較穩態略高,吞吐也可能略有下降。
建議在重分布期間持續觀察執行個體IO與寫入RT監控。
4)COPY/大量匯入情境:大大量匯入強烈建議在Resharding完全結束後再啟動。在Resharding進行中匯入大量資料,會顯著延長後台重分布的實際完成時間,並放大寫入延遲波動。
對查詢的影響
1)查詢請求預期不會失敗、不會被阻塞。
中繼資料切換期間,新到達的查詢會基於新拓撲執行。
已經在執行的查詢會正常完成。
極端情況下,切換瞬間發起的查詢可能因路徑重路由而少量逾時,需依賴用戶端重試。
2)讀延遲在切換瞬間通常較小,但不能視為"零影響"。
與寫入相比,讀路徑受切換的影響通常較小。
切換瞬間命中的查詢會經歷路徑重路由,對延遲敏感的即時介面仍可能感知到毫秒級抖動。
高QPS線上點查情境,建議視為"會有短暫抖動"來規划上遊逾時配置。
3)老資料的查詢效能在資料重分布完成前可能顯著下降:
情境 | 老資料查詢效能變化 |
2的整數次冪擴容且Shard數是2的冪(32→64) | 由於內部oversharding最佳化,效能輕微下降 |
2的整數次冪擴容但Shard數非2的冪(20→40) | 內部oversharding最佳化仍然生效,但效能下降幅度大於Shard數是2的冪的情況 |
非2的整數次冪或非整數倍擴容 | 效能一定程度下降,一般不會超過2倍 |
極大幅度擴容(例如相比初始Shard數擴容16倍以上) | 按照擴容倍數/8等比下降,最壞情況下查詢不可用視窗持續到重分布完成 |
整數倍縮容(32→16) | 查詢並發度降低,效能輕微到中等下降 |
非整數倍縮容、Shard數非2的冪 | 效能一定程度下降,一般不會超過2倍 |
關於內部oversharding最佳化:Hologres引擎內部預設會後台非同步對資料進行8倍的oversharding來緩解擴縮容帶來的效能損失,在Shard數是2的冪的情況下,最佳化後的資料在Reshard情境下的查詢效能損失如下表所示(生產環境中可能由於下面所列的原因導致最佳化後的資料比例低於100%,實際效能損失會比表中的略大)。
擴容倍數 k | 效能損失 |
縮容 50% (0.5x) | 0% |
1x | 0% |
1.5x (擴50%) | 12.5% |
2x | 0% |
2.5x | 15% |
3x | 25% |
4x | 0% |
5x | 40% |
6x | 50% |
7x | 75% |
8x | 0% |
一般情況下,大部分資料都經過了oversharding最佳化,典型擴縮容情境(2倍4倍)下接近無效能損失。但這隻是緩解、不是根除。
如果Shard數非2的冪,典型擴縮容仍然會有一定程度的效能損失。
當擴容倍數超出oversharding容忍範圍(例如超8倍),oversharding將無法有效避免效能損失。
當單Shard資料量過小時,可能不會應用oversharding最佳化。
當寫入壓力過大時,可能會有較多新寫入的資料未應用oversharding最佳化。
當資料分布、Shard Key選擇不理想時,效能下降幅度可能仍然明顯。
請勿基於oversharding兜底假設"必然無損"。
4)新寫入資料的查詢效能基本不受影響。
新資料按新Shard拓撲寫入,查詢效能與穩態一致。
但若查詢同時跨新老資料(例如時間範圍掃描),整體RT仍受老資料下降的拖累。
5)索引(GSI/全文/向量)查詢基本可用,但不能假設效能穩定。索引在Resharding後保持可用,但索引檢索的物理IO仍可能與後台資料重分布爭搶資源,RT在重分布期間可能高於穩態。大P99/長尾查詢情境應密切監控。
對延遲敏感型業務的特別提醒
如果你的業務屬於以下任意一種,請將Resharding視為一次有風險的變更,按變更管理流程處理:
業務類型 | 建議預案 |
即時大屏/BI即席查詢 | 必須選業務低峰期執行;擴容盡量採用2的整數次冪;提前與業務方對齊變更視窗。 |
線上點查(CRM/風控/帳號介面) | 行存表對Resharding效能影響相對更小,可優先採用;提前調高用戶端逾時;準備降級預案(限流、緩衝兜底)。 |
Flink即時寫入下遊 | 提前調高Connector重試與背壓參數;監控源端lag;變更視窗內做好上遊堆積應對。 |
Binlog訂閱下遊 | 必須走Binlog情境特別說明章節流程;提前通知所有下遊做無狀態重啟;預留消費追平時間。 |
高頻UPSERT任務 | 必須選業務低峰期執行;擴容盡量採用2的整數次冪。 |
SLA嚴苛的OLAP報表 | 評估查詢效能下降幅度後再決策;必要時拆分為多次小幅擴容。 |
影響時間長度預估(保守口徑)
階段 | 保守時間長度量級 | 影響範圍 |
中繼資料切換 | 秒級,等待長事務時可能數分鐘 | 寫入延遲可觀測抖動;少量瞬時請求可能需重試 |
資料重分布(小表<100 GB) | 數十分鐘級 | 老資料查詢效能持續下降;寫入受IO搶佔影響 |
資料重分布(中表100 GB~1 TB) | 數小時~半天起步 | 老資料查詢效能持續下降;建議在低峰期完成 |
資料重分布(大表>1 TB) | 一天以上,部分情境需數天 | 老資料查詢效能可能長時間下降;強烈建議配合 |
一句話總結
Resharding全程業務不中斷、請求不失敗,但要按"有影響"來規劃:寫入延遲會有可觀測的抖動(毫秒~秒級,極端情況更長);老資料查詢效能在後台資料重分布完成前會下降,幅度與擴縮容倍數及是否為2的整數次冪強相關,最壞情況下可能持續較長時間;典型情境下(2倍擴縮容)內部oversharding最佳化可以大幅緩解。
Binlog情境特別說明(重要)
如果你的Liquid Table開啟了Binlog(binlog_level = 'replica'),Resharding行為與普通表存在差異,請務必通讀本節再執行操作。
預設行為
開啟Binlog的Liquid Table預設不允許Resharding,直接執行ALTER TABLE ... SET (table_group = ...)會報錯。
強制Resharding步驟
-- 第1步:開啟實驗性GUC(僅當前session生效)
SET hg_experimental_enable_liquid_resharding_for_table_with_binlog = on;
-- 第2步:執行Resharding
ALTER TABLE my_binlog_table SET (table_group = 'tg_64');
-- 第3步:清理舊Shard上的delta資料
CALL hg_liquid_resharding_drop_non_current_delta('my_binlog_table');對Binlog消費任務的影響
行為 | 說明 |
Resharding期間 | Binlog消費任務(Connector)會報錯並自動failover,但offset已錯亂,作業進入不可用狀態。 |
擴容(shard數變大) | failover大機率成功,但仍不可信,必須無狀態重啟。 |
縮容(shard數變小) | failover必定失敗。 |
Resharding完成後 | 必須讓消費任務無狀態重啟。 |
SQL查詢Binlog | 只能查詢到本次Resharding之後產生的Binlog,歷史Binlog不可見。 |
DBA操作清單:1)通知所有Binlog下遊消費方(Flink/Connector/自研訂閱服務);2)在變更視窗內:暫停消費→執行Resharding→調用清理→下遊無狀態重啟;3)切勿在不通知下遊的情況下對帶Binlog的Liquid Table做Resharding。
老表遷移到Liquid Table
由於老表無法直接ALTER為Liquid Table,需要通過以下兩種方式之一完成遷移。
方式一:通過REBUILD轉換(推薦)
從Hologres V4.2版本起,支援通過ASYNC REBUILD TABLE將普通表原地非同步重建為Liquid Table,無需建立表和手動遷移資料,表名保持不變。REBUILD的詳細用法請參見REBUILD。
-- 將普通表原地轉換為Liquid Table(表名保持不變)
ASYNC REBUILD TABLE my_table
SET (
liquid_table = 'true'
);方式二:建立表遷移
建立一張Liquid Table,將老表資料移轉後,通過事務原子性重新命名完成切換。
-- 1. 建立一個Liquid Table(保持與老表結構一致)
CREATE TABLE my_table_new (
id INT NOT NULL,
name TEXT,
ts TIMESTAMPTZ,
PRIMARY KEY(id)
) WITH (liquid_table = 'true');
-- 2. 資料移轉
INSERT INTO my_table_new SELECT * FROM my_table_old;
-- 3. 重建索引(如有)
CREATE INDEX ... ON my_table_new ...;
-- 4. 切換:使用事務原子性重新命名
BEGIN;
ALTER TABLE my_table_old RENAME TO my_table_bak;
ALTER TABLE my_table_new RENAME TO my_table;
COMMIT;
-- 5. 驗證後刪除備份
DROP TABLE my_table_bak;使用限制
Hologres執行個體版本必須為V4.2.0及以上。如果您的執行個體是V4.2.0以下版本,請先升級執行個體。
liquid_table屬性只能在建表時指定,已有的普通表不能通過ALTER TABLE直接轉為Liquid Table。需通過Rebuild移轉模式完成轉換。不支援物理分區表。對Liquid Table使用物理分區文法將報錯
Physical partitioned table of liquid table is not supported。如需分區能力,請使用邏輯分區表替代。不支援在Liquid Table上建立物化視圖(Materialized View)。如需類似能力,請使用Dynamic Table替代。
MaxCompute暫不支援直讀Liquid Table。如果下遊有MC直讀需求,目前的版本無法使用Liquid Table。
包含Liquid Table的執行個體無法降級到不支援該功能的舊版本。一旦建立了Liquid Table,請確認不會回退版本。
Resharding(修改Table Group)期間,寫入延遲會出現可觀測的抖動(毫秒~秒級,極端情況可能更長),老資料查詢效能可能顯著下降。
ALTER TABLE ... SET (table_group = ...)必須等待該表上當前所有DML運行完成才能開始執行。大DML/長事務存在期間,ALTER命令會被阻塞。liquid_table_reorganization_partition_window參數僅對單個時間類型的分區鍵生效。多分區鍵或非時間類型分區鍵不支援此參數。開啟了Binlog的Liquid Table預設不允許Resharding。如需執行,必須開啟實驗性GUC
hg_experimental_enable_liquid_resharding_for_table_with_binlog,並確保Binlog下遊可承受無狀態重啟。Resharding後,通過SQL查詢Binlog只能擷取到最近一次Resharding後產生的增量資料,歷史Binlog不可見。
仍有表attach在Table Group中時,不能刪除該Table Group。
Liquid Table的Resharding是無法復原操作——中繼資料切換完成後不存在"復原到舊Table Group"的快捷途徑;如需回退,只能再次ALTER到原TG。
目前的版本暫未提供Resharding進度查詢介面,無法即時查看資料重分布完成百分比。
最佳實務
何時啟用Liquid Table
強烈建議啟用:
資料量預期在生命週期內會發生顯著變化(增長5倍以上)。
業務有大促/秒殺/季節性流量波動,需彈性Shard。
即時數倉的核心明細表/寬表。
AI向量檢索表。
可暫緩啟用:
資料量穩定的小維表。
強依賴物理分區表的情境。
強依賴MaxCompute直讀的情境。
Shard數規劃經驗
單Shard資料量 | 建議動作 |
< 10 GB | 關注是否過度分區,可考慮縮容 |
10 GB~50 GB | 健康區間 |
50 GB~100 GB | 關注查詢效能,準備擴容 |
> 100 GB | 建議立即擴容 |
Resharding執行建議
避開高峰期:選擇業務低峰視窗執行ALTER。
避開大DML:先確認無大批量INSERT/UPDATE/DELETE在跑。
整數倍擴縮容優先:例如16→32→64,比16→50效能更平滑。
大表用分區視窗:對超長生命週期分區表使用
liquid_table_reorganization_partition_window限制重分布範圍。Binlog表全鏈路演練:先在測試環境完整演練Resharding+下遊重啟。
監控建議
重分布完成前:定期對比新老Shard上的查詢RT,確認重分布進度。
執行個體資源水位:Resharding期間會有額外的IO開銷,建議關注CPU/IO使用率。
Binlog Cursor:對開啟Binlog的表,關注下遊消費lag。
FAQ
Q1:Liquid Table和普通表有什麼本質區別?
A:內部採用base + delta的儲存模型,使得修改Shard時無需重寫全部資料。普通表在建立時Shard分布即固化,修改Shard必須重建表。
Q2:Resharding會不會丟資料?
A:不會。Resharding期間讀寫請求保持事務一致性,已寫入的資料不會丟失。驗收測試中Resharding前後資料完整性100%保持。
Q3:Resharding期間業務會不會不可用?
A:Resharding期間業務不中斷、請求預期不失敗,但寫入延遲會有可觀測抖動(毫秒到秒級),老資料查詢效能在重分布完成前可能下降。詳見「Resharding對業務的影響」章節。
Q4:Resharding需要多久?
A:ALTER TABLE命令本身同步且快速返回(秒級),實際資料重分布是後台非同步進行,時間長度取決於資料量和擴容倍數。
Q5:可以反覆Resharding嗎?
A:可以。但每次Resharding都會觸發後台資料重分布,建議規劃好目標Shard數後一次到位,避免頻繁切換。
Q6:能否查詢Resharding進度?
A:目前的版本暫未提供官方進度查詢介面,可通過觀察後台Compaction任務和查詢RT間接判斷;該能力在產品Roadmap中。
Q7:縮容是否會立即釋放儲存空間?
A:縮容會立即將資料歸併到更少的Shard,儲存空間在後台Compaction完成後釋放。
Q8:Liquid Table是否會帶來額外儲存開銷?
A:base + delta模式在delta未被合并前會有少量額外開銷,後台Compaction會自動消除。整體儲存開銷與普通表持平。
Q9:可以同時存在多種索引(GSI+全文+向量)嗎?
A:可以。V4.2已支援多索引共存的Liquid Table進行Resharding。
Q10:使用了Liquid Table後,能不能回退到普通表?
A:可以通過反向Rebuild:建立一張普通表,INSERT INTO ... SELECT遷移資料,再RENAME切換。但執行個體本身一旦使用了Liquid Table,不支援降級到不支援該功能的舊版本。
速查清單
-- 建表
CREATE TABLE t (...) WITH (liquid_table = 'true');
-- Resharding
ALTER TABLE t SET (table_group = 'tg_xxx');
-- 控制是否後台重分布
ALTER TABLE t SET (liquid_table_enable_data_reorganization = 'false');
-- 僅重分布最近30天分區
ALTER TABLE t SET (
table_group = 'tg_xxx',
liquid_table_reorganization_partition_window = '30 day'
);
-- Binlog表Resharding(實驗性,需配合下遊重啟)
SET hg_experimental_enable_liquid_resharding_for_table_with_binlog = on;
ALTER TABLE t SET (table_group = 'tg_xxx');
CALL hg_liquid_resharding_drop_non_current_delta('t');