Coprocessors
In an HBase cluster, the most computationally expensive portion of reading or writing operations happens when we apply server-side filters on scan results; although, this computation is very much specific to accessing the data. Similarly, with the coprocessor, we can move a part of the computation to where the data lives, like in the case of Hadoop, which works in a distributed way for data storage (HDFS), as well as data processing (MapReduce). Using HBase coprocessors, custom features such as secondary indexing, complex filtering and access control features can be developed.
HBase coprocessor-based code run in parallel across all RegionServers and convert the cluster from horizontally scalable storage to a highly capable, distributed, data storage and data-processing system. The HBase coprocessor's design is inspired by Google's BigTable coprocessor's design.
In an HBase cluster, coprocessor works in two different scopes:
System level: These coprocessors can be loaded globally...