About This Book
- Design HBase schemas for the most demanding functional and scalability requirements
- Optimize HBase's handling of single entities, time series, large files, and complex events by utilizing design patterns
- Written in an easy-to-follow style, and incorporating plenty of examples, and numerous hints and tips.
Who This Book Is For
If you are an intermediate NoSQL developer or have a few big data projects under your belt, you will learn how to increase your chances of a successful and useful NoSQL application by mastering the design patterns described in the book. The HBase design patterns apply equally well to Cassandra, MongoDB, and so on.
What You Will Learn
- Install and configure a Hadoop cluster and HBase
- Write Java code to read and write HBase
- Explore Phoenix open source project to talk to HBase in SQL
- Store single entities, generate keys, use lists, maps, and sets
- Utilize UUID for generic key generation to store data and deal with large files
- Use denormalization to optimize performance
- Represent one-to-many and many-to-many relationships and deal with transactions
- Troubleshoot and optimize your application
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.
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.