In this section, we will discuss some advanced topics useful for developers that will enable them to interact with HBase more closely.
Coprocessors are similar to Linux kernel modules. They provide a way to run server-level code against locally stored data. This provides a very powerful functionality. It runs in the process on each RegionServer. All the regions contain references to the coprocessor implementation classes associated. It can be loaded either from local JAR files on the RegionServer class path or through the HDFS class loader. These are not designed to be used by the users of HBase but by developers who add additional functionalities to HBase. These can be used for server-side operations such as region splits, major compactions, and client-side operations such as create, read, update, and delete operations, and also can be used to implement a custom use case such as user-defined functionalities.