Appendix B. FAQ

B.1. General
Q: When should I use HBase?
Q: Are there other HBase FAQs?
Q: Does HBase support SQL?
Q: How can I find examples of NoSQL/HBase?
Q: What is the history of HBase?
B.2. Upgrading
Q: How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?
B.3. Architecture
Q: How does HBase handle Region-RegionServer assignment and locality?
B.4. Configuration
Q: How can I get started with my first cluster?
Q: Where can I learn about the rest of the configuration options?
B.5. Schema Design / Data Access
Q: How should I design my schema in HBase?
Q: How can I store (fill in the blank) in HBase?
Q: How can I handle secondary indexes in HBase?
Q: Can I change a table's rowkeys?
Q: What APIs does HBase support?
B.6. MapReduce
Q: How can I use MapReduce with HBase?
B.7. Performance and Troubleshooting
Q: How can I improve HBase cluster performance?
Q: How can I troubleshoot my HBase cluster?
B.8. Amazon EC2
Q: I am running HBase on Amazon EC2 and...
B.9. Operations
Q: How do I manage my HBase cluster?
Q: How do I back up my HBase cluster?
B.10. HBase in Action
Q: Where can I find interesting videos and presentations on HBase?

B.1. General

Q: When should I use HBase?
Q: Are there other HBase FAQs?
Q: Does HBase support SQL?
Q: How can I find examples of NoSQL/HBase?
Q: What is the history of HBase?

Q:

When should I use HBase?

A:

See the Section 9.1, “Overview” in the Architecture chapter.

Q:

Are there other HBase FAQs?

A:

See the FAQ that is up on the wiki, HBase Wiki FAQ.

Q:

Does HBase support SQL?

A:

Not really. SQL-ish support for HBase via Hive is in development, however Hive is based on MapReduce which is not generally suitable for low-latency requests. See the Chapter 5, Data Model section for examples on the HBase client.

Q:

How can I find examples of NoSQL/HBase?

A:

See the link to the BigTable paper in Appendix I, Other Information About HBase in the appendix, as well as the other papers.

Q:

What is the history of HBase?

A:

See Appendix J, HBase History.

B.2. Upgrading

Q: How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?

Q:

How do I upgrade Maven-managed projects from HBase 0.94 to HBase 0.96+?

A:

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 depency 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.

Example B.1. Maven Dependency for HBase 0.98

<dependency>
	<groupId>org.apache.hbase</groupId>
	<artifactId>hbase-client</artifactId>
	<version>0.98.5-hadoop2</version>
</dependency>                
                

Example B.2. Maven Dependency for HBase 0.96

<dependency>
	<groupId>org.apache.hbase</groupId>
	<artifactId>hbase-client</artifactId>
	<version>0.96.2-hadoop2</version>
</dependency>             
                

Example B.3. Maven Dependency for HBase 0.94

<dependency>
	<groupId>org.apache.hbase</groupId>
	<artifactId>hbase</artifactId>
	<version>0.94.3</version>
</dependency>            
                

B.3. Architecture

Q: How does HBase handle Region-RegionServer assignment and locality?

Q:

How does HBase handle Region-RegionServer assignment and locality?

A:

See Section 9.7, “Regions”.

B.4. Configuration

Q: How can I get started with my first cluster?
Q: Where can I learn about the rest of the configuration options?

Q:

How can I get started with my first cluster?

A:

See Section 1.2, “Quick Start - Standalone HBase”.

Q:

Where can I learn about the rest of the configuration options?

A:

See Chapter 2, Apache HBase Configuration.

B.5. Schema Design / Data Access

Q: How should I design my schema in HBase?
Q: How can I store (fill in the blank) in HBase?
Q: How can I handle secondary indexes in HBase?
Q: Can I change a table's rowkeys?
Q: What APIs does HBase support?

Q:

How should I design my schema in HBase?

A:

See Chapter 5, Data Model and Chapter 6, HBase and Schema Design

Q:

How can I store (fill in the blank) in HBase?

A:

See Section 6.5, “ Supported Datatypes ”.

Q:

How can I handle secondary indexes in HBase?

A:

See Section 6.9, “ Secondary Indexes and Alternate Query Paths ”

Q:

Can I change a table's rowkeys?

A:

This is a very common question. You can't. See Section 6.3.6, “Immutability of Rowkeys”.

Q:

What APIs does HBase support?

A:

See Chapter 5, Data Model, Section 9.3, “Client” and Section 11.1, “Non-Java Languages Talking to the JVM”.

B.6. MapReduce

Q: How can I use MapReduce with HBase?

Q:

How can I use MapReduce with HBase?

A:

See Chapter 7, HBase and MapReduce

B.7. Performance and Troubleshooting

Q: How can I improve HBase cluster performance?
Q: How can I troubleshoot my HBase cluster?

Q:

How can I improve HBase cluster performance?

A:

See Chapter 14, Apache HBase Performance Tuning.

Q:

How can I troubleshoot my HBase cluster?

A:

See Chapter 15, Troubleshooting and Debugging Apache HBase.

B.8. Amazon EC2

Q: I am running HBase on Amazon EC2 and...

Q:

I am running HBase on Amazon EC2 and...

A:

EC2 issues are a special case. See Troubleshooting Section 15.12, “Amazon EC2” and Performance Section 14.12, “Amazon EC2” sections.

B.9. Operations

Q: How do I manage my HBase cluster?
Q: How do I back up my HBase cluster?

Q:

How do I manage my HBase cluster?

A:

See Chapter 17, Apache HBase Operational Management

Q:

How do I back up my HBase cluster?

A:

See Section 17.7, “HBase Backup”

B.10. HBase in Action

Q: Where can I find interesting videos and presentations on HBase?

Q:

Where can I find interesting videos and presentations on HBase?

A:

See Appendix I, Other Information About HBase

comments powered by Disqus