Book Image

Architecting Data-Intensive Applications

By : Anuj Kumar
Book Image

Architecting Data-Intensive Applications

By: Anuj Kumar

Overview of this book

<p>Are you an architect or a developer who looks at your own applications gingerly while browsing through Facebook and applauding it silently for its data-intensive, yet ?uent and efficient, behaviour? This book is your gateway to build smart data-intensive systems by incorporating the core data-intensive architectural principles, patterns, and techniques directly into your application architecture.</p> <p>This book starts by taking you through the primary design challenges involved with architecting data-intensive applications. You will learn how to implement data curation and data dissemination, depending on the volume of your data. You will then implement your application architecture one step at a time. You will get to grips with implementing the correct message delivery protocols and creating a data layer that doesn’t fail when running high traffic. This book will show you how you can divide your application into layers, each of which adheres to the single responsibility principle. By the end of this book, you will learn to streamline your thoughts and make the right choice in terms of technologies and architectural principles based on the problem at hand.</p>
Table of Contents (18 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

HBase


HBase is considered a column-family-oriented data store although it differs from the traditional columnar data stores. HBase utilizes an on-disk columnar storage format. The primary use case for HBase is to provide Key-based access to a specific cell of data or a range of data cells.

 

The main difference between a column-oriented and a row-oriented data store, such as a relational database, is that the columnar database data stores are grouped as columns, whereas in row oriented stores, the entire data of the row is stored in a contiguous manner. The reason why the values of a column are stored together is to help the column-specific queries perform much better by fetching the data of only that column rather than fetching the entire row. Fetching data for entire row would require significant IO operations as compared to fetching the data for a single column of that row. Another benefit of the column-oriented approach is that compression algorithms can be applied at column-level where...