Book Image

HBase Design Patterns

By : Mark Kerzner, Sujee Maniyam
Book Image

HBase Design Patterns

By: Mark Kerzner, Sujee Maniyam

Overview of this book

<p>With the increasing use of NoSQL in general and HBase in particular, knowing how to build practical applications depends on the application of design patterns. These patterns, distilled from extensive practical experience of multiple demanding projects, guarantee the correctness and scalability of the HBase application. They are also generally applicable to most NoSQL databases.</p> <p>Starting with the basics, this book will show you how to install HBase in different node settings. You will then be introduced to key generation and management and the storage of large files in HBase. Moving on, this book will delve into the principles of using time-based data in HBase, and show you some cases on denormalization of data while working with HBase. Finally, you will learn how to translate the familiar SQL design practices into the NoSQL world. With this concise guide, you will get a better idea of typical storage patterns, application design templates, HBase explorer in multiple scenarios with minimum effort, and reading data from multiple region servers.</p>
Table of Contents (15 chapters)
HBase Design Patterns
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Summary


We learned the important NoSQL and HBase design principles related to storing and accessing time series data. We described how to utilize time-based keys, how to avoid region hotspotting, how to properly balance tall and narrow rows versus wide rows, and we also saw how to glean additional information from other systems on top of HBase, such as OpenTSDB. All this together should make us masters at storing and using time series data in HBase and in NoSQL databases in general.

In the next chapter, we will deal with the most common design principle, that is, denormalization. We will also discuss how to store all the objects for a user, popularity contest, and how to store tags efficiently.