[ 
https://issues.apache.org/jira/browse/HBASE-15181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15167422#comment-15167422
 ] 

Clara Xiong commented on HBASE-15181:
-------------------------------------

[~tedyu]
The change in the algorithm is very minor and doesn't have perf impact in our 
case. We have some out-of-order data due to replication lag mostly much smaller 
than flush interval, even smaller than the base window. We are pushing the new 
patch to production since we don't want to fork. We will continuously collect 
metrics but I don't expect any difference. I will share the results when they 
are ready.

The most impacted cases are: 
1. seqId and timestamp are in completely opposite orders, most likely resulted 
from business logic.
2. Bulk load files carry -1 as seqId when user explicitly turn off 
"hbase.mapreduce.bulkload.assign.sequenceNumbers". 

I don't recommend this compaction policy for these cases. As the worst case 
scenarios, they will fall back to exploring compaction.

[~vrodionov]
Time-series data that are loaded periodically with minimal time range overlap 
will perform perfectly in this case with base window set to cover the interval. 
Some users may have occasional bulkload data that could be out of proportion of 
the files on the same tiers and they will need to pay some scan performance 
penalty. As time passes, they move to higher tier, the penalty will diminish.
 

> A simple implementation of date based tiered compaction
> -------------------------------------------------------
>
>                 Key: HBASE-15181
>                 URL: https://issues.apache.org/jira/browse/HBASE-15181
>             Project: HBase
>          Issue Type: New Feature
>          Components: Compaction
>            Reporter: Clara Xiong
>            Assignee: Clara Xiong
>             Fix For: 2.0.0, 1.3.0, 0.98.19
>
>         Attachments: HBASE-15181-v1.patch, HBASE-15181-v2.patch
>
>
> This is a simple implementation of date-based tiered compaction similar to 
> Cassandra's for the following benefits:
> 1. Improve date-range-based scan by structuring store files in date-based 
> tiered layout.
> 2. Reduce compaction overhead.
> 3. Improve TTL efficiency.
> Perfect fit for the use cases that:
> 1. has mostly date-based date write and scan and a focus on the most recent 
> data. 
> 2. never or rarely deletes data.
> Out-of-order writes are handled gracefully so the data will still get to the 
> right store file for time-range-scan and re-compacton with existing store 
> file in the same time window is handled by ExploringCompactionPolicy.
> Time range overlapping among store files is tolerated and the performance 
> impact is minimized.
> Configuration can be set at hbase-site or overriden at per-table or 
> per-column-famly level by hbase shell.
> Design spec is at 
> https://docs.google.com/document/d/1_AmlNb2N8Us1xICsTeGDLKIqL6T-oHoRLZ323MG_uy8/edit?usp=sharing



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to