hbase-5216 book.xml - added detail on Arch "when to use hbase" section

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1232524 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Doug Meil 2012-01-17 18:29:00 +00:00
parent c0d127fcb2
commit 51b31b05da
1 changed files with 11 additions and 6 deletions

View File

@ -1251,13 +1251,18 @@ if (!b) {
<section xml:id="arch.overview.when">
<title>When Should I Use HBase?</title>
<para>First, make sure you have enough data. HBase isn't suitable for every problem. If you have
hundreds of millions or billions of rows, then HBase is a good candidate. If you only have a few
thousand/million rows, then using a traditional RDBMS might be a better choice due to the
fact that all of your data might wind up on a single node (or two) and the rest of the cluster may
be sitting idle.
<para>HBase isn't suitable for every problem.</para>
<para>First, make sure you have enough data. If you have hundreds of millions or billions of rows, then
HBase is a good candidate. If you only have a few thousand/million rows, then using a traditional RDBMS
might be a better choice due to the fact that all of your data might wind up on a single node (or two) and
the rest of the cluster may be sitting idle.
</para>
<para>Second, make sure you have enough hardware. Even HDFS doesn't do well with anything less than
<para>Second, make sure you can live without all the extra features that an RDBMS provides (e.g., typed columns,
secondary indexes, transactions, advanced query languages, etc.) An application built against an RDBMS cannot be
"ported" to HBase by simply changing a JDBC driver, for example. Consider moving from an RDBMS to HBase as a
complete redesign as opposed to a port.
</para>
<para>Third, make sure you have enough hardware. Even HDFS doesn't do well with anything less than
5 DataNodes (due to things such as HDFS block replication which has a default of 3), plus a NameNode.
</para>
<para>HBase can run quite well stand-alone on a laptop - but this should be considered a development