Row Expiration

Ordinarily, rows in a table are not deleted until a client explicitly deletes them. In some situations however, the data in the rows might only remain valid or relevant for a short span of time. Leaving these rows in the table indefinitely consumes disk space and in some situations can slow down your queries.

The row expiration feature is designed to remove outdated rows. You can define row expiration at the table level (which removes the entire table) or at the row level (which removes specified rows of a table).

As an administrator, you can control row expiration at the table level by using the Time to Live (TTL) or the default_ttl property. For more information, see Defining a Table with Row Expiration. As a developer, you can set TTL at a row level. You can use the C or Java APIs for ActiveSpaces to override the TTL for a table by setting the TTL property at a row level. For more information, see Overriding the Default TTL for a Single Row.

An application developer can override the default TTL by setting TTL on a specific row before it is inserted in a table. Developers can use the C or Java API to override the TTL set for a table. For more details, see Overriding the Default TTL for a Single Row.

When a row is expired, it becomes available for deletion from the table. Note that becoming available for deletion does not mean it gets deleted immediately. Deletion takes place only after the table is scanned for expired rows. For more details, see Deletion of Expired Rows.

Related concepts
Related tasks
Related reference