[
https://issues.apache.org/jira/browse/HBASE-15181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15127284#comment-15127284
]
Dave Latham commented on HBASE-15181:
-------------------------------------
Those are great questions, Vladimir - I hope people who know better chime in
and confirm / deny. Poking at the issues that Clara linked, I can speculate:
The default compaction algorithm at the time (Ratio based?) was intended to
handle stores with a shape where the older files were larger than recent files,
so it sounds the policy would not intelligently handle a smaller bulk load file
that is sorted to be oldest and end up doing a large wasteful compaction.
For contiguous-only compactions, I think that's because the sequence IDs are
only stored per-file, not per-cell. So if you want to compare two Cell
sequence IDs for identical keys, then you need to have a strict ordering on
HFile sequence IDs. If you compact out-of-order HFiles, then you don't have
strictly ordered sequence IDs any more.
Both speculation.
> 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
>
> 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)