當要實現自動清理時序表中的歷史資料時,您可以使用資料生命週期(TTL)功能有效地管理時序資料,減少資料存放區空間,降低儲存成本。配置TTL後,如果希望延長資料儲存時間,您可以修改TTL。
注意事項
資料清理後無法恢複,請謹慎操作。
通過配置TTL清理歷史資料前,如果需要備份歷史資料,請通過DataWorksData Integration服務匯出時序資料到OSS中儲存。具體操作,請參見資料匯出到OSS概述。
修改TTL前,您可以調用DescribeTimeseriesTable介面查看當前時序資料生命週期。
資料生命週期
時序模型中的資料包括時間軸中繼資料和時序表資料,分別由時間軸中繼資料表和時間軸資料表格儲存體。Table Store分別提供了時間軸中繼資料生命週期和時序表資料生命週期用於管理相應資料。
時序表資料生命週期
時序表資料生命週期是時間軸資料表的一個屬性,即時序表資料的儲存時間,單位為秒。當時序表資料的保留時間超過設定的TTL時,系統會自動非同步清理超過TTL的資料。
例如資料表的TTL設定為86400(一天),在2016-07-21 00:00:00 UTC+8
時,時序表中資料早於2016-07-20 00:00:00 UTC+8
的時間軸均會到期,系統會自動非同步清理對應到期資料。
建立時序表時,如果未設定TTL,則系統會使用預設值-1(表示資料永不到期),您也可以自訂TTL。建立時序表後,您可以通過UpdateTimeseriesTable介面修改TTL。
超過TTL的到期資料為無效資料,即使系統還未刪除資料,使用者已無法查詢對應資料。
當調小TTL時,時序表中可能會有資料到期,系統會非同步刪除對應到期資料。
當調大TTL時,如果系統還未刪除在舊的TTL之外以前的時序表資料,且對應時序表資料在新設的TTL中,則對應時序表資料可以重新查詢。
時間軸中繼資料生命週期
時間軸中繼資料生命週期是時間軸中繼資料表的一個屬性,即時間軸中繼資料的儲存時間,單位為秒。當時間軸中繼資料的保留時間超過設定的TTL時,系統會自動非同步清理超過TTL的時間軸中繼資料,不會刪除時序表資料。
當某些時間軸中繼資料到期,但是相應時間軸資料未到期時,通過GetTimeseriesData介面指定時間軸標識進行查詢時仍可查詢到時序表資料。
建立時序表時,如果未設定TTL,則系統會使用預設值-1(表示資料永不到期),您也可以自訂TTL。建立時序表後,您可以通過UpdateTimeseriesTable介面修改TTL。
時間軸中繼資料中有一個時間軸中繼資料屬性列(_attributes)支援進行更新,但目前僅在時間軸中繼資料生命週期為-1(資料永不到期)時支援該屬性的更新。
如果要將時間軸中繼資料生命週期從-1修改為大於等於7天,請確認商務邏輯中不需要更新時間軸中繼資料屬性,並將時間軸中繼資料屬性是否允許更新配置為否。
如果要將時間軸中繼資料屬性是否允許更新配置為是,則您需要同步將時間軸中繼資料生命週期調整為-1。
超過TTL的到期資料為無效資料,即使系統還未刪除時間軸中繼資料,使用者已無法檢索到對應時間軸中繼資料。
當調小TTL時,時間軸中繼資料表中可能會有時間軸中繼資料到期,系統會非同步刪除對應到期資料。
當調大TTL時,如果系統還未刪除在舊的TTL之外以前的時間軸中繼資料,且對應時間軸中繼資料在新設的TTL中,則對應時間軸中繼資料可以重新檢索到。
使用方式
建立時序表時,您可以配置資料生命週期。您也可以在建立時序表後修改資料生命週期。此處以建立時序表後修改資料生命週期為例介紹。您可以使用控制台、命令列工具或者SDK進行資料生命週期修改操作。
關於在建立資料表時進行資料生命週期配置的具體操作,請參見時序表操作。
通過不同使用方式進行操作時支援的功能存在差異,請以實際為準。