Chapter 13. Implementation of Document Store

As you might have guessed, this use case again utilizes most if not all of what we have seen before—that is, replication for backup, Lily and Solr for real-time indexing and search, Spark for fast processing, and of course the Java API. The only thing that we don’t really have look at is the MOB aspect. Therefore, we will focus on that over the next sections. Because consistency is also one important aspect of the use case, we will also address it.

As you will see next, there is not that much to do on the implementation side, but we will mostly focus on the key concepts to keep in mind when designing your own application.

MOBs

HBase works very well with small to average size cell values, but bigger ones, because of the compactions, create write amplification. MOBs have been implemented to avoid this.

Warning

MOBs require HFiles format v3. You will have to make sure your HBase version is configured for that. The Apache version of HBase has HFile configured to v3 since version 1.0. However, for compatibility purposes, some distributions still keep the v2. To make sure your version is configured to v3, add hfile.format.version parameter to your config file and set it to 3.1

In the following section, we will see how to configure a table to use the MOB feature and how to push some data into it. You will need to decide the cut off point for when data will be considered a regular cell, or if the entry is too large and needs to be moved ...

Get Architecting HBase Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.