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.

See "Logical Model of MapR-DB Binary Tables".

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.

See Indexing MapR-DB Data in Elasticsearch.

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.

See "Creating MapR-DB Applications with C".

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.

See "Creating MapR-DB Applications with Java".

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.