Jacob Isaac created PHOENIX-6978:
------------------------------------
Summary: Redesign Phoenix TTL for Views
Key: PHOENIX-6978
URL: https://issues.apache.org/jira/browse/PHOENIX-6978
Project: Phoenix
Issue Type: Improvement
Reporter: Jacob Isaac
With Phoenix TTL for views (PHOENIX-3725), the basic gist was the TTL should be
a Phoenix view level setting instead of being at the table level as implemented
in HBase. More details on the design are here ([Phoenix TTL design
doc|https://docs.google.com/document/d/1aZWhJQCARBVt9VIXNgINCB8O0fk2GucxXeu7472SVL8/edit#heading=h.kpf13qig3vdl]).
Both HBase TTL and Phoenix TTL rely on applying expiration logic during the
scanning phase when serving query results and apply deletion logic when pruning
the rows from the store. In HBase, the pruning is achieved during the
compaction phase.
The initial design and implementation of Phoenix TTL for views used the MR
framework to run delete jobs to prune away the expired rows. We knew this was a
sub-optimal solution since it required managing and monitoring MR jobs. It
would also have introduced additional delete markers which would have
temporarily added more rows (delete markers) have made the scans less
performant.
Using the HBase compaction framework instead to prune away the expired rows
would fit nicely into the existing architecture and would be efficient like
pruning the HBase TTL rows.
This jira proposes a redesign of Phoenix TTL for Views using PHOENIX-6888 and
PHOENIX-4555
--
This message was sent by Atlassian Jira
(v8.20.10#820010)