NoSQL is here guys and it is here to stay. For those who are wondering what has NoSQL got to do with Salesforce, here is a helpful clue- Salesforce Analytics Cloud, which was released this October at Dreamforce 2014 conference, utilizes a Key-value-store based NoSQL database for its actions. Yep, as we said in our previous post, NoSQL has penetrated everywhere. This speculation is confirmed by the fact that this year itself, we have seen at least 35% rise of NoSQL database integration requests with Salesforce, the most popular being MongoDB and Salesforce integration requests.
If you checkout the MongoDB website you will find that Salesforce.com is one of the top listed major investors. A lot of enterprises are looking to MongoDB as solid way to store a lot of data. First of all, unlike a traditional relational database, it does not require a schema to be set up. It also stores data in BSON format (Binary JSON), which is the language of web data. For this and several reasons MongoDB has been an increasingly common choice in companies.
Not anything like your ordinary Database
There is still no standard NoSQL query language. In fact, there just cannot be because there are so many types of NoSQL database each coming with their own advantages and disadvantages. So for every NoSQL database solution you probably need a unique API solution to integrate it with Salesforce. What that means is that unlike SQL and CSV database files NoSQL database does not have one work-for-all click and play dataloaders. Though there are dedicated data migration services that can help you in that.
But most of the MongoDB to Salesforce integration stuff is about making custom REST API solutions to access mongoDB JSON files, and push, pull, or delete data from Salesforce databases.
Integrating MongoDB with Salesforce
MongoDB is a very versatile database system. It’s surprisingly simple to manage yet this simplicity defines the type of integration solution you are going to make. And ‘Make’ is the keyword here, unfortunately every integration project will require some coding to make it possible, no matter the solution.
The steps for integration are as follows:
Step 1: Authentication
This step involves authenticating yourself for accessing MongoDB databases, and also Salesforce databases, if you are planning a migration that is. Yes, pretty basic stuff.
Step 2: Using MongoDB API for accessing data
MongoDB uses its own ‘Database format’, BSON, which is a modified form of JSON. Though database format is not strictly an accurate term for BSON but for simplicity we can use the same as long as it serves the purpose.
Step 3: REST API solution for accessing salesforce
Now once you have retrieved the MongoDB data, you will have to create you own REST API solution to push that data into Salesforce interface or Salesforce database.
Automation vs Using dataloader
Now if your database can be converted into traditional database formats, it’s is easier to just convert your mongoDB data to CSV files(or any other) and then use a dataloader to migrate data from CSV to Salesforce. But a single solution to directly push MongoDB data to salesforce is very easy to convert to an automated solution. When you include Dataloaders into equation, automation becomes very difficult.
Data Migration solutions
There are a number of paid data migration solutions that can be used for Salesforce integration with MongoDB. Here are the three most popular apps dedicated to Salesforce to MongoDB integration
It’s a developing field
Integrating MongoDB with Salesforce will differ, and differ greatly depending upon the type of database you have built using MongoDB. For example if you are storing documents using MongoDB, you may have to use a different REST API solution that the one that just pushes data into Salesforce. This is the main reason why there is no Dataloader till now, but it will change as more and more companies will shift to NoSQL database. It’s already happening. But for now you will have to do with Custom solutions.
Hiring professional services for the Salesforce and MongoDB integration is highly recommended because it is not just about integrating, but taking the best approach by studying closely your own business setup and your requirements and objectives of integration. We here at Algoworks have developed a number of custom MongoDB to Salesforce integration services for our clients and will be glad to help you in your project. You may consider getting in touch with us for free salesforce consulting to begin with.