wchevreuil commented on code in PR #7289:
URL: https://github.com/apache/hbase/pull/7289#discussion_r2336853441


##########
src/main/asciidoc/_chapters/architecture.adoc:
##########
@@ -1256,6 +1256,221 @@ In 1.0, it should be more straight-forward.
 Onheap LruBlockCache size is set as a fraction of java heap using 
`hfile.block.cache.size setting` (not the best name) and BucketCache is set as 
above in absolute Megabytes.
 ====
 
+==== Time Based Priority for BucketCache
+
+link:https://issues.apache.org/jira/browse/HBASE-28463[HBASE-28463] introduced 
time based priority
+for blocks in BucketCache. It allows for defining
+an age threshold at individual column families' configuration, whereby blocks 
older than this
+configured threshold would be targeted first for eviction.
+
+Blocks from column families that don't define the age threshold wouldn't be 
evaluated by
+the time based priority, and would only be evicted following the LRU eviction 
logic.
+
+This feature is mostly useful for use cases where most recent data is more 
frequently accessed,
+and therefore should get higher priority in the cache. Configuring Time Based 
Priority with the
+"age" of most accessed data would then give a finer control over blocks 
allocation in
+the BucketCache then the built-in LRU eviction logic.
+
+Time Based Priority for BucketCache provides three different strategies for 
defining data age:
+
+* Cell timestamps: Uses the timestamp portion of HBase cells for comparing the 
data age;
+* Custom cell qualifiers: Uses a custom-defined date qualifier for comparing 
the data age.
+It uses that value to tier the entire row containing the given qualifier value.
+This requires that the custom qualifier be a valid Java long timestamp.
+* Custom value provider: Allows for defining a pluggable implementation that
+contains the logic for identifying the date value to be used for comparison.
+This also provides additional flexibility for different use cases that might 
have the date stored
+in other formats or embedded with other data in various portions of a given 
row.
+
+For use cases where priority is determined by the order of record ingestion in 
HBase
+(with the most recent being the most relevant), the built-in cell timestamp 
offers the most
+convenient and efficient method for configuring age-based priority.
+
+Some applications may utilize a custom date column to define the priority of 
table records.
+In such instances, a custom cell qualifier-based priority is advisable.
+
+Finally, more intricate schemas may incorporate domain-specific logic for 
defining the age of
+each record. The custom value provider facilitates the integration of custom 
code to implement
+the appropriate parsing of the date value that should be used for the priority 
comparison.

Review Comment:
   sure, let me add it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to