HBASE-24106 Update getting started documentation after HBASE-24086
[hbase.git] / src / main / asciidoc / _chapters / faq.adoc
blob5b742ce2364133de42f3232d3f8a92fa2c4d9271
1 ////
2 /**
3  *
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 ////
22 [appendix]
23 [[faq]]
24 == FAQ
25 :doctype: book
26 :numbered:
27 :toc: left
28 :icons: font
29 :experimental:
31 === General
32 When should I use HBase?::
33   See <<arch.overview>> in the Architecture chapter.
35 Are there other HBase FAQs?::
36   See the FAQ that is up on the wiki, link:https://cwiki.apache.org/confluence/display/HADOOP2/Hbase+FAQ[HBase Wiki FAQ].
38 Does HBase support SQL?::
39   Not really. SQL-ish support for HBase via link:https://hive.apache.org/[Hive] is in development, however Hive is based on MapReduce which is not generally suitable for low-latency requests. See the <<datamodel>> section for examples on the HBase client.
41 How can I find examples of NoSQL/HBase?::
42   See the link to the BigTable paper in <<other.info>>, as well as the other papers.
44 What is the history of HBase?::
45   See <<hbase.history,hbase.history>>.
47 Why are the cells above 10MB not recommended for HBase?::
48   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.
50 === Upgrading
51 How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?::
52   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.
54 .Maven Dependency for HBase 0.98
55 [source,xml]
56 ----
57 <dependency>
58   <groupId>org.apache.hbase</groupId>
59   <artifactId>hbase-client</artifactId>
60   <version>0.98.5-hadoop2</version>
61 </dependency>
62 ----
64 .Maven Dependency for HBase 0.96
65 [source,xml]
66 ----
67 <dependency>
68   <groupId>org.apache.hbase</groupId>
69   <artifactId>hbase-client</artifactId>
70   <version>0.96.2-hadoop2</version>
71 </dependency>
72 ----
74 .Maven Dependency for HBase 0.94
75 [source,xml]
76 ----
77 <dependency>
78   <groupId>org.apache.hbase</groupId>
79   <artifactId>hbase</artifactId>
80   <version>0.94.3</version>
81 </dependency>
82 ----
85 === Architecture
86 How does HBase handle Region-RegionServer assignment and locality?::
87   See <<regions.arch>>.
89 === Configuration
90 How can I get started with my first cluster?::
91   See <<quickstart>>.
93 Where can I learn about the rest of the configuration options?::
94   See <<configuration>>.
96 === Schema Design / Data Access
98 How should I design my schema in HBase?::
99   See <<datamodel>> and <<schema>>.
101 How can I store (fill in the blank) in HBase?::
102   See <<supported.datatypes>>.
104 How can I handle secondary indexes in HBase?::
105   See <<secondary.indexes>>.
107 Can I change a table's rowkeys?::
108   This is a very common question. You can't. See <<changing.rowkeys>>.
110 What APIs does HBase support?::
111   See <<datamodel>>, <<architecture.client>>, and <<external_apis>>.
113 === MapReduce
115 How can I use MapReduce with HBase?::
116   See <<mapreduce>>.
118 === Performance and Troubleshooting
120 How can I improve HBase cluster performance?::
121   See <<performance>>.
123 How can I troubleshoot my HBase cluster?::
124   See <<trouble>>.
126 === Amazon EC2
128 I am running HBase on Amazon EC2 and...::
129   EC2 issues are a special case. See <<trouble.ec2>> and <<perf.ec2>>.
131 === Operations
133 How do I manage my HBase cluster?::
134   See <<ops_mgt>>.
136 How do I back up my HBase cluster?::
137   See <<ops.backup>>.
139 === HBase in Action
141 Where can I find interesting videos and presentations on HBase?::
142   See <<other.info>>.
144 :numbered: