HBase 0.98.0 comes with an exciting set of new features with keeping the same stability improvements and features on top of 0.96. Additional to usual bug fixes, some of the major improvements include:
Reverse Scans (HBASE-4811): for use cases where both forward and reverse iteration is required, HBase now allows to perform scans in reverse mode. This is also as efficient as forward scanning with a small percentile difference in performance. Using it is as simple as:
Scan scan = new Scan();
Stripe Compaction and other compaction improvements (HBASE-7667): This release brings a lot of the work that went into making compactions and flushes pluggable (with StorageEngine), and also a new compaction policy called “stripe compactions”. Under this policy each region is automatically sharded into sub ranges which are compacted individually. You can find more information in the HBaseCon 2013 talk.
MapReduce over snapshots (HBASE-8369): This features leverages HBase snapshots to implement pure client side scanning from data files in hfds. Similar to short circuit hdfs reads, the client can bypass the whole HBase server layer, and can stream the scan results from the java application or mapreduce which brings 5x the scan speeds. Learn more about it from this talk.
Cell level ACL’s and visibility tags (HBASE-6222): This feature is similar to Apache Accumulo, where access control can be provided and enforced per cell. You can find additional information for how to use this feature in this blog post, and the security section of the HBase book.
Other improvements: 0.98.0 also contains some nice performance improvements, mainly a new WAL threading model (HBASE-8755), streaming scans from REST (HBASE-9343). A notable correctness fix include truly idempotent increments (HBASE-3787)
0.98.0 is wire compatible with 0.96.x releases, and a rolling upgrade should be sufficient for upgrading from 0.96.x. Upgrading from 0.94.x releases is also supported, but the cluster has to be shutdown and migrated. More information on the upgrade can be found at the HBase book.
Last, but not least, we would like to thank Andrew Purtell from Intel, who is the release manager of 0.98 branch and all the developers from many organizations who have contributed to or tested this release.