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 Protocol buffer


Protocol buffer was created to be smaller, faster, and simpler, and must provide an automated mechanism to serialize structured data. You decide the structure, then you can use the generated source code to read and write data to various streams and to many languages. You can change your data structure without breaking the old format.

As compared to XML serialization, it is:

  • Simpler.

  • Generates DAO classes, which works well for the programmers.

  • Footprint is 3 to 10 times smaller.

  • It is 20 to 100 times faster, which is a big benefit.

  • Much simpler, thus less ambiguous.

  • Efficiency: Protocol buffers are generally much more efficient at transmitting the same amount of data than Java binary serialization.

  • Portability: Java binary serialization is not widely implemented outside Java, as far as I'm aware (unsurprisingly). Robustness in the face of unrelated changes. Unless you manually specify the serializable UUID, you can end up making breaking changes without touching data...