Users have made up their minds. They decided that they want to access their applications and their data on the devices they want to use, when and where they want to use them.
This is just as true for business applications as it is for personal apps. Now, all application development needs to at least consider mobile devices.
Mobile application developers strive for rapid deployment. After they are implemented, modifying the apps with additional features needs to be simplified.
In order to meet user demand, developers are turning to alternative tools. And for databases this increasingly NoSQL.
Relational Databases Are Too Rigid
The fixed schema found in relational database management systems (RDBMS) works well for specific applications. They have served as the basis for ERP systems where there are limited changes to the underlying data structure.
Mobile apps have some characteristics that make this strict data structure too prohibitive.
Developers are looking to provide an application experience that users have come to expect. All apps need to offer a premium user experience, the requirements of which are changing constantly.
The Uber app as an example
Uber is a prime example an application that has needed to stay on top of changes to keep pace with customer demands.
Many people rely on this hugely popular application for transportation as well as their income.
Uber was only an idea in 2008 and its first test runs occurred in 2010. There is no way that the founders could have anticipated all of the user requirements and feature changes that would happen over the last 6 years.
If Uber was based on a traditional RDBMS, then they would have had to make many major changes to their underlying data schema.
They have made many business enhancements and entered markets where they could not have anticipated what would be required.
In India, for example, many people are used to paying in cash and do not have credit cards. So Uber had to figure out how to accept cash, which is contrary to their basic business model. In addition, they found that in Portland, a large number of riders had their bicycles with them. So the company added UberPEDAL to request vehicles with bike racks.
Uber ended up using a modified, schema-less version of MySQL.
They did not find the database they needed when they went to market in 2008. They admit that improvements to enterprise-class NoSQL databases provide solutions that would work if they were building the app today.
NoSQL Brings Flexibility
Mobile devices are difficult. They come in different forms such as tablets, smart phones, and wearable devices such as watches. They have different operating systems, including Android, iOS, watchOS, and Windows phones.
There are multiple releases of each of those operating systems with different features, and functionality.
Maximizing the user experience based on so many variables can be frustrating. NoSQL flexible schemaless structure can simplify this process.
Mobile applications also have access to a geo-spatial location data, which is challenging to manage in a RDBMS but works perfectly with NoSQL. This data can be extremely useful to enhancing the user experience.
Location data can be used to deliver important information. Consumer apps could offer location-based discounts at local stores. Field workers could use their business apps to enhance their job performance and gain important details, such as the location of power lines.
Ongoing application maintenance is a critical design consideration for a developer. Feature updates and bug fixes will need to be provided. NoSQL databases allow developers to update applications without major revisions. Updates and bug fixes can be updated without pushing out major new releases.
When a developer releases an application, they want it to get used. For consumer applications, the more users the better. As a result, quick and easy application scalability is vital. NoSQL databases like MongoDB are designed from the beginning to be very scalable.
Conclusion: Mobile Data Belongs in NoSQL
There are many reasons why NoSQL makes sense for today’s growing number of mobile applications. They can provide flexibility, scalability, and reduced ongoing maintenance costs.
Enterprise versions of popular NoSQL open source distributions also provide additional management, support, and high availability options.
There is another consideration that many developers overlook: what data center hardware their applications run on. Software that runs on purpose-built hardware can take advantage of large performance gains, enhanced reliability, and improved security.
Large companies like Facebook and Google take their infrastructure very seriously. Most organizations can learn from their example.
Download your NoSQL Developers’ Guide to Infrastructure and Maximizing Data Performance.