MapR-DB as a Wide-Column Database
Learn about the logical model of MapR-DB binary tables
MapR-DB binary tables are identical conceptually to tables in Apache HBase. If you're familiar with HBase tables, you'll be right at home with MapR-DB binary tables. In fact, your HBase applications can switch to using MapR-DB binary tables with no coding changes required.
Index table data in Elasticsearch
You can create external indexes for your MapR-DB binary tables by indexing columns, column families, or entire tables in Elasticsearch. When client applications update data in a source table, MapRDB replicates the update to the Elasticsearch type that is associated with it.
Updates to indexes happen in near real-time because individual updates to your MapR-DB source tables are replicated to Elasticsearch. There is no batching of updates, which would lead to recurring times where data is available in MapR-DB but not searchable in your indexes. Therefore, there is minimal latency between the availability of data in MapR-DB and the searchability of that data by end users.
The MapR Converged Data Platform does not include Elasticsearch, which you can get from https://www.elastic.co/. MapR-DB works with Elasticsearch version 1.4.
Get going with the C APIs
libhbase
is a library of C APIs for creating and accessing Apache HBase
tables. The open-source version of this library is published on GitHub at https://github.com/mapr/libhbase.
MapR-DB includes a version of libhbase
in
libMapRClient
that runs more efficiently and performs faster against
MapR-DB binary tables.
Get going with the supported HBase Java APIs
You can access MapR-DB binary tables with the Apache HBase Java API library. Code written for Apache HBase can be easily ported to use MapR-DB binary tables.
Current Limitations
- Custom HBase filters are not supported.
- User permissions for column families are not supported. User permissions for binary tables and columns are supported.
- HBase authentication is not supported.
- HBase replication is handled with Mirror Volumes.
- Bulk loads using the HFiles workaround are not supported and not necessary.
- HBase coprocessors are not supported.
- Filters use a different regular expression library from
java.util.regex.Pattern
. See Supported Regular Expressions for a complete list of supported regular expressions.