Wearable device development with MongoDB
May 11, 2017

Wearable device development with MongoDB

Niraj Adhikary | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with MongoDB

MongoDB is used to store data for electric measurement (of an original product, a wearable device called puck for brain stimulation) as well to get users' feedback after usage. Our day-to-day work relies on MongoDB solely. You might be asking that's why did we use MongoDB at first instance! Well we were never sure of the volume of data that we will be dealing with. The amount of data we process right now is still very small(gigabyte only). But the story doesn't end here. We have an active replica set for our production. If the story makes a success we will be needed to create sharded cluster very soon. Hope so for now. As it happens now if we want to rewrite the whole code base we will be in a soup, MongoDB is so deeply integrated with all of our framework. Its the lifeline for our product and project.
  • Roll out new features in a timely manner: As we evolved from an experiment to a publicly available product, we saw MongoDB evolved with the same pace. Right now you can work with MongoDB with ease. Some people think it will take a huge amount of time to develop an application with MongoDB. But I can tell you the community has been growing and thriving. No need to get scared by relational databases anymore.
  • Strong support team: We had active support from MongoDB. I feel that was great. As I never had a ridiculous answer from the support team. They were always prompt, sharp and will have exact reasoning for the problem. The feature I like the most is virtually every language is supported by MongoDB for application development. Which made our job easier as a few developers and QAs were not accustomed to MongoDB.
  • New integration and frontiers: I feel the journey just started. With the Spark integration, MongoDB opens a new door for analytics which is great. We need more such features for analytics.
  • Reliability and durability: I replaced an existing replica set by a new one within few hours including data transfer. I don't know how fast it is for a relational database. I've never found any write or read failure of our production database. My application transfers data into megabytes to a mobile device within a few milliseconds, which is quite amazing.
  • Security and endured performance: With all our performance test results we are quite satisfied. The security is enhanced with https based communication among the replica set nodes. Even here you have user level access like a relational database but data can be grown much more than a relational database. With MongoDB, the performance we got was phenomenal and helped us to remove usage of the caching server.
  • Analytic: This area needs quite an overhaul with new features and integration. I think it has to be more thoughtful.
  • Migration: Needs hassle free migration from one version to the next or the previous. As of now, this feature is getting huge attention. Hope [they] will do better in future.
  • Query functions: Like RDBMS SQL functions are missing. Need to use aggregation framework for simple calculation, which is time taken and slow to run. Hope new functions will be added with new improvements.
  • Community driven features: Add more community driven features so that developers can write less code and do more.
  • As it is free and open sourced, I found most of the problems and issues solved very soon by the community. Which is huge for such a small development team like us.
  • We started 3 years ago and no stopping after that. No need to shift to another database for us. As MongoDB is following an active development cycle we found the features nice and suitable for us.
  • Cannot move out of MongoDB at this moment as we have to rewrite the whole code base.
From the beginning, we thought we would have a large volume of data, so MongoDB was a natural choice. Next we started the project and found MongoDB is also developing new features that are more like SQL which was very nice for us. As data volume is growing with time, no need to think of anything else.
Java Reporting Engine, Apache Maven, Dropbox for Business, Eclipse Luna, Apache Tomcat, Amazon Elastic Compute Cloud (EC2)
As I'm using the community edition it is better to be with the community or rather with the current version of the installation. With all the new features we can write less code and do more. Hence reducing bugs in code and can use more time to make efficient coding which indirectly enhances product capability. Time to shift to newer versions is getting reduced day by day, which is good and makes a better choice for shift. New feature like $lookup and left outer join made querying easy. Which was much needed for new development and making efficient queries.
MongoDB can be used in server based huge apps or for mobile apps supported by servers. In my present project, I'm using MongoDB for read-write operations done by mobile apps and web apps. Any app that generates a huge volume of data can be an ideal candidate for MongoDB. That shouldn't stop you from developing any sort of apps. I found no boundary of usage.