本文介紹了TTL的功能和原理。
功能介紹
TTL(Time to Live,生存周期)功能,支援在建立表的DDL語句中指定local_partition_definition文法,建立一個TTL表。TTL表會將每個物理表按照時間進行分區,並通過定時任務進行管理,能夠讓冷資料在PolarDB-X中按照計劃失效,減少對儲存空間的佔用。
適用情境
某些業務情境下,業務資料的增長很快,並且業務資料的熱度隨著時間推移會有明顯的降低。這時候,如果資料一直儲存在PolarDB-X中,既會佔用儲存空間,也會降低正常業務查詢的效率,此種情境即可使用TTL表進行資料管理。
使用限制
僅PolarDB-X的5.4.13及以上版本支援該功能;
TTL功能僅支援在分區表(mode='auto')中使用。
基本原理
TTL表的每個物理表都會按照時間做Range分區,所有GSI的物理表跟主表的分區方式一致。
隨著時間的推移,新的分區會被建立,失效的分區會被刪除,如下圖所示:
說明
PolarDB-X預設會自動建立新分區和刪除失效分區。您也可以在建表時禁用自動功能,通過DDL語句來手動建立或刪除失效分區。
一個周期後,建立的新分區和失效的分區,如下圖所示: