Google在分散式資料庫服務Cloud Spanner加入TTL(Time To Live)功能,管理員能夠設定政策,來定期清理資料表中不要的資料,不只能夠減少儲存空間節省成本之外,也能確保資料庫資料符合資料留存法規。現在TTL功能已經上線,所有Spanner用戶,都能免費使用。

Google提到,過去資料庫管理員要清理資料庫中的資料,必須執行一次性的資料清理腳本,但這種方法有許多缺點,除了腳本需要密集掃描資料庫,可能影響資料庫的效能之外,這項操作需要管理員花費額外的時間定期執行,還有可能出現人為錯誤。

TTL則能夠在後臺持續運作,依照管理員設定的政策,定期批次刪除過期資料,官方解釋,雖然Spanner支援在SQL中使用DELETE或是分割刪除,供管理者能夠精確地劃分要刪除的資料,盡可能最小化處理時間,但TTL進一步補充用戶對資料清理的需求。

由於TTL讓管理員以宣告的方式指定列刪除政策,因此清除資料變得簡單,僅需要制訂列資料要刪除的時間,TTL就會在指定時間清除資料,省去撰寫複雜程式碼,或是使用外部腳本來清理資料的麻煩。

而且因為是Spanner的內建功能,TTL本身也具可擴展性,可在用戶執行個體的所有節點,無縫地掃描過期資料並執行刪除,即便資料庫隨著時間規模越來越大,TTL也會動態調整,不需要用戶干預。

TTL的一大優勢,更是對於效能影響的可預測性,Google表示,TTL能夠最大程度減少對資料庫工作負載的影響,TTL清除程序會以低系統優先度在後臺運作,跟自定義的查詢相比,TTL更能配合資料庫的運作執行,將成本開銷降到最低。

TTL還整合到Cloud Monitoring中,能夠讓管理員端到端監控進度和警示,不需要建立和維護額外的工作管線。

當列資料符合刪除政策時,並不會被立即清除,TTL的清除程序會以批次的方式執行,每日檢查符合條件的列資料並分批刪除,在發生錯誤時,清除程序會自動調整批次大小進行重試。

資料庫管理員可以使用Cloud Monitoring 和內建的系統表格,來觀察列資料的清理程序,清理程序會調整執行的時間,減少Spanner執行個體的整體負載,用戶還可以設定通知,在TTL程序執行過久或是意外事件時,第一時間掌握狀況。


熱門新聞

Advertisement