Book Image

HBase High Performance Cookbook

By : Ruchir Choudhry
Book Image

HBase High Performance Cookbook

By: Ruchir Choudhry

Overview of this book

Apache HBase is a non-relational NoSQL database management system that runs on top of HDFS. It is an open source, disturbed, versioned, column-oriented store and is written in Java to provide random real-time access to big Data. We’ll start off by ensuring you have a solid understanding the basics of HBase, followed by giving you a thorough explanation of architecting a HBase cluster as per our project specifications. Next, we will explore the scalable structure of tables and we will be able to communicate with the HBase client. After this, we’ll show you the intricacies of MapReduce and the art of performance tuning with HBase. Following this, we’ll explain the concepts pertaining to scaling with HBase. Finally, you will get an understanding of how to integrate HBase with other tools such as ElasticSearch. By the end of this book, you will have learned enough to exploit HBase for boost system performance.
Table of Contents (19 chapters)
HBase High Performance Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Large-Scale MapReduce
Index

Working with Java virtual machines


Working with Java virtual machines is one of the key areas of performance tuning as JVM optimization task can be very tricky and depends on many factors.

There are a lot of factors that can directly impact the performance of HBase as each query has to pass through the JVM. The main reason it impacts the performance is the optimization of JVM so that the garbage collection threads don't trigger stop the world GC (garbage collections) and does the GC efficiently even at varying load.

It's also essential to understand the GC process and how it works. There are various design choices such as serial versus parallel, concurrent versus stop the world, compaction versus non-compaction vs copying. Similarly, various performance matrices need to be calculated to make sure we get optimum performance, which includes throughput, GC overheads, pause time, frequency of collections, footprint, and promptness.

Our discussion will be limited to the improvement areas and what...