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

Scaling elastically or Auto Scaling with built-in fault tolerance


Before we go into Auto Scaling we need to give a microscopic view of how HBase accomplishes auto-sharding and how the distributed components within HBase architecture work.

Let's first look at Region.

HBase Regions are a subgroup of table's data which is adjoining; these are in a sorted order of range of rows which sit together, and these regions are distributed across the clusters. Region never overlaps with other regions and the job of a single region server is to serve to expose Region details to the region client at any given point of time; this way HBase provides a guarantee a very strong consistency.

The region has many stores.

A stores hosts a MemStore and deals with the store files (commonly known as HFiles). MemStore is an In-Memory state of the data and takes care of the modifications of the key/value pairs. Due to the following reason (as following) when a flush process is initiated the data which is residing in MemStore...