HBase 生存時間(TTL)

ColumnFamilies 可以以秒為單位來設置 TTL(Time To Live)長度,一旦達到到期時間,HBase 將自動刪除行。這適用於所有版本的行 - 即使是當前版本。在該 HBase 行的中編碼的TTL時間以UTC指定。

僅在小型壓縮時刪除包含過期行的存儲文件。設置 hbase.store.delete.expired.storefile 為 false 將禁用此功能。將最小版本數設置為 0 以外的值也會禁用此功能。

最近的 HBase 版本也支持設置時間以每個單元為基礎生存。單元 TTL 是使用突變 #setTTL 作為突變請求(例如:Appends、Increments、Puts)的屬性提交的。如果設置了 TTL 屬性,則該操作將應用於服務器上更新的所有單元。單元 TTL 處理和 ColumnFamily TTL 之間有兩個顯著的區別:

  • 單元 TTL 以毫秒為單位而不是秒。
  • 單元 TTL 不能將一個單元的有效生命週期延長超過 ColumnFamily 級 TTL 設置。


分享到:


相關文章: