HBASE-17875 Document why objects over 10MB are not well-suited for hbase. Signed-off-by: Sean Busbey <bus...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6edb8f82 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6edb8f82 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6edb8f82 Branch: refs/heads/master Commit: 6edb8f82178f1da4b29dc4ee1a1d8ea8dd2484a4 Parents: ba12cdf Author: Jingcheng Du <jingchen...@apache.org> Authored: Fri Apr 28 13:32:30 2017 -0500 Committer: Sean Busbey <bus...@apache.org> Committed: Fri Apr 28 13:32:30 2017 -0500 ---------------------------------------------------------------------- src/main/asciidoc/_chapters/faq.adoc | 3 +++ src/main/asciidoc/_chapters/hbase_mob.adoc | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/6edb8f82/src/main/asciidoc/_chapters/faq.adoc ---------------------------------------------------------------------- diff --git a/src/main/asciidoc/_chapters/faq.adoc b/src/main/asciidoc/_chapters/faq.adoc index 7bffe0e..9034d4b 100644 --- a/src/main/asciidoc/_chapters/faq.adoc +++ b/src/main/asciidoc/_chapters/faq.adoc @@ -44,6 +44,9 @@ How can I find examples of NoSQL/HBase?:: What is the history of HBase?:: See <<hbase.history,hbase.history>>. +Why are the cells above 10MB not recommended for HBase?:: + Large cells don't fit well into HBase's approach to buffering data. First, the large cells bypass the MemStoreLAB when they are written. Then, they cannot be cached in the L2 block cache during read operations. Instead, HBase has to allocate on-heap memory for them each time. This can have a significant impact on the garbage collector within the RegionServer process. + === Upgrading How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?:: In HBase 0.96, the project moved to a modular structure. Adjust your project's dependencies to rely upon the `hbase-client` module or another module as appropriate, rather than a single JAR. You can model your Maven dependency after one of the following, depending on your targeted version of HBase. See Section 3.5, âUpgrading from 0.94.x to 0.96.xâ or Section 3.3, âUpgrading from 0.96.x to 0.98.xâ for more information. http://git-wip-us.apache.org/repos/asf/hbase/blob/6edb8f82/src/main/asciidoc/_chapters/hbase_mob.adoc ---------------------------------------------------------------------- diff --git a/src/main/asciidoc/_chapters/hbase_mob.adoc b/src/main/asciidoc/_chapters/hbase_mob.adoc index bdf077a..5da0343 100644 --- a/src/main/asciidoc/_chapters/hbase_mob.adoc +++ b/src/main/asciidoc/_chapters/hbase_mob.adoc @@ -36,7 +36,7 @@ read and write paths are optimized for values smaller than 100KB in size. When HBase deals with large numbers of objects over this threshold, referred to here as medium objects, or MOBs, performance is degraded due to write amplification caused by splits and compactions. When using MOBs, ideally your objects will be between -100KB and 10MB. HBase ***FIX_VERSION_NUMBER*** adds support +100KB and 10MB (see the <<faq>>). HBase ***FIX_VERSION_NUMBER*** adds support for better managing large numbers of MOBs while maintaining performance, consistency, and low operational overhead. MOB support is provided by the work done in link:https://issues.apache.org/jira/browse/HBASE-11339[HBASE-11339]. To @@ -155,7 +155,7 @@ family as the second argument. and take a compaction type as the third argument. ---- hbase> compact 't1', 'c1â, âMOBâ -hbase> major_compact_mob 't1', 'c1â, âMOBâ +hbase> major_compact 't1', 'c1â, âMOBâ ---- These commands are also available via `Admin.compact` and