MapR-DB is an enterprise-grade, high-performance, in-Hadoop, NoSQL (“Not Only SQL”) database management system. You can use it to add real-time, operational analytics capabilities to Hadoop.
MapR-DB 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 tables. In fact, your HBase applications can switch to using MapR-DB tables with no coding changes required.
MapR-DB's architecture gives it a large number of advantages over other NoSQL databases.
You can create external indexes for your MapR-DB data 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 leads 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 distribution does not include Elasticsearch, which you can get from https://www.elastic.co/. MapR-DB works with Elasticsearch version 1.4.
- Custom HBase filters are not supported.
- User permissions for column families are not supported. User permissions for 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 for a complete list of supported regular expressions.
You can replicate changes (puts and deletes) to the data in one table to another table that is in a separate cluster or within the same cluster. Replicate entire tables, specific column families, and specific columns.
See "Replicating MapR-DB Tables".
MapR-DB includes a version of
The API for accessing MapR tables works the same way as the Apache HBase API. Code written for Apache HBase can be easily ported to use MapR-DB tables.