MapR Database and Apps

This section contains information about developing client applications for JSON and binary tables.

Why use MapR Database?

From a developer's point-of-view, MapR Database provides the following capabilities:

  • Extreme scale for CRUD operations: Enabled by the integration of MapR Database with the MapR File System, CRUD operations are extremely fast and efficient.
  • Flexible data model: MapR Database can be used as both a document database and a wide-column database. So if the content structure changes, the applications do not need to be re-written.
  • Rich query: Integration with Drill for MapR Database provides a low-latency distributed query engine for large-scale datasets, including structured and semi-structured/nested data.
  • Integration with Apache Spark: MapR Database provides MapR Database Connectors for Apache Spark that allow you to access MapR Database tables through Spark applications.
  • Strong data consistency: Consistently fast response with strong data consistency with row/document level ACID transactions and in-memory database options for faster speeds.

MapR Database JSON provides additional benefits:

  • High performance via Secondary Indexes: No memory copying. No need to retrieve the full document to make updates due the log-based database architecture. No application changes needed to leverage secondary indexes for efficient query execution.
  • Easy application development: JSON constructs such as maps, arrays, and data types are supported natively.
  • Language-specific client APIs: Java, Python, and Node.js client APIs
Note: MapR has a universal namespace which means that the same namespace is used for files, tables, and streams. A universal namespace streamlines application development for different operations.

How Do I Get Started with MapR Database JSON?

The following diagram illustrates an end-to-end flow associated with getting started with MapR Database JSON.

Ensure that the administrative tasks are complete as described in the introduction to MapR Database Administration. Describes how to install the MapR Client package. This package allows you to run applications from your client machine. This topics describes the methods available for loading OJAI documents into JSON tables. This topic describes how to use mapr dbshell to create JSON tables and add JSON document to JSON tables. This topic provides information on how to develop Java client applications for MapR Database JSON tables. This topic provides examples creating, listing, and deleting MapR Database JSON tables. This topic provides examples performing CRUD operations on JSON documents in MapR Database JSON tables. Installing MapR describes how to install MapR software and Ecosystem components. You can install manually, with the MapR Installer, or with the MapR Installer Stanza. This topic describes the different methods for creating tables and provides examples. This topic provides examples querying JSON documents in MapR Database JSON tables.
Note: This flow is not the only way to get started!

You can also run through end-to-end examples using preconfigured, single node MapR clusters. The following table describes two options:

MapR Sandbox MapR Container for Developers

The MapR Sandbox is a virtual machine (VM) that runs a single node MapR cluster. Sandbox Tutorial for JSON describes how to use that VM with MapR Database JSON to do the following:

  • Install and configure MapR Database in the VM
  • Run a sample Java OJAI application
  • Use MapR Database Shell to perform simple MapR Database JSON operations

MapR Container for Developers is a Docker container that runs a single node MapR cluster. Using MapR Database JSON: Getting Started, you can do the following:

  • Set up the Docker container
  • Import data into MapR Database JSON tables
  • Use MapR Database Shell to query, insert, and update JSON documents in MapR Database JSON tables
  • Use Drill to query MapR Database JSON tables
  • Run sample Java OJAI applications
  • Run a sample Spark application using the MapR Database OJAI Connector for Apache Spark

Useful MapR Database JSON Developer Resources

Getting Started and Examples Tools, Utilities, and Applications General (Blogs, etc) API Details
Managing JSON Tables - Examples creating, listing, and deleting MapR Database JSON tables maprcli and REST API Syntax Data Modeling Guidelines for NoSQL JSON Document Databases MapR Database JSON Client API
Note: Beginning with MapR version 6.0, the MapR Database Table interface in the MapR Database JSON Client API is deprecated and replaced by the DocumentStore interface in the OJAI API library. See the next row for details on that API.
Managing JSON Documents - Examples performing CRUD operations on JSON documents in MapR Database JSON tables Utilities for MapR Database JSON Tables App development with OJAI Java OJAI Client API
Querying JSON Documents - Examples querying JSON documents in MapR Database JSON tables Drill on MapR How to Build Applications on a NoSQL Document Database and Perform Analytics in Place Node.js OJAI Client API
Getting Started with the MapR Database JSON REST API Understanding the MapR Database OJAI Connector for Spark   Python OJAI Client API
Getting Started with the Node.js OJAI Client      
Getting Started with the Python OJAI Client      
"MapR Music Catalog" Tutorial - Instructions and code to build a sample web application using MapR Database JSON      

How Do I Get Started with MapR Database Binary?

The following diagram illustrates an end-to-end flow associated with getting started with MapR Database Binary.

Ensure that the administrative tasks are complete as described in the introduction to MapR Database Administration. Describes how to install the MapR Client package. This package allows you to run applications from your client machine. This topic describes how to bulk load data into binary tables. This topic provides information on creating C applications for MapR Database binary tables. This topic provides information on creating Java application for MapR Database binary tables. This topics provides a step-by-step C application example that performs CRUD operations on a MapR Database binary tables. Installing MapR describes how to install MapR software and Ecosystem components. You can install manually, with the MapR Installer, or with the MapR Installer Stanza. This topic describes the different methods for creating tables and provides examples. This topic provides information for developing client applications for MapR Database Binary tables.

Useful MapR Database Binary Developer Resources

Getting Started and Examples Tools, Utilities, and Applications General (Blogs, etc)
MapR Database Sample C Application - C application example for binary tables maprcli and REST API Syntax High Performance C APIS on MapR Database
  Utilities for MapR Database Binary Tables  
  Drill on MapR  
  MapR Database Binary Connector for Apache Spark