Mobile app usage is increasing worldwide, not only in user volume, but in daily time spent on apps. TechCrunch recently reported that mobile users now spend between four and five hours – roughly ⅓ of waking hours – on smartphone apps daily. And when it comes to which apps they use, there is no shortage of choices. Business Of Apps reported that Google Play currently offers around 2.8 million apps and games, and the Apple App Store offers around 4.5 million.
But this huge volume of apps — and the increasing length of time that users are spending on them — means users can be extremely selective with the apps they choose to engage with. In fact, according to a research study by mobile marketing analytics vendor AppsFlyer, nearly one in every two apps are uninstalled within 30 days, and a study by Andrew Chen found that losing 80% of mobile users is “normal” for all but the most popular apps.
A big reason for the high rate of app abandonment is bad experience, particularly slowness and unreliability. A report by Think Storage Now found that 70% of mobile app users will abandon an app that takes too long to load. And an older but still often cited Compuware study found that 84% of app users will abandon an app if it fails just two times.
These facts help emphasize that the margin of error is small when it comes to keeping users happy and engaged. Providing a fast, reliable experience is key to the success of your mobile app, and using the right database — one built for mobile apps — is key to achieving it.
Database options for mobile apps
You may wonder what we mean by “mobile database.” A database is a database, right?
Not exactly. When it comes to developing a mobile application, whether native, web based or hybrid, you need to choose a database that can provide the speed and reliability your users demand. Let’s examine the options.
Relational vs NoSQL
A relational database stores data in highly organized tables maintained by a rigid and fixed schema designed for consistency. But relational rigidity comes with a price — app developers must conform their code to the schema, and any required changes to data results in time-consuming schema updates, making app updates challenging.
In contrast, a NoSQL database stores data as JSON documents, eliminating the need for a schema and allowing developers to change the database on demand as app requirements evolve. Additionally, NoSQL databases are distributed, meaning they can be deployed across multiple nodes, providing superior performance and reliability for applications.
In general, because of their distributed nature and data model flexibility, NoSQL databases are ideally suited for mobile apps because of their speed and reliability.
In a cloud database model, mobile and IoT apps use a database that runs in the cloud.
The cloud database model offers a quick onramp to a standardized and distributed infrastructure that provides scale, elasticity and flexibility for mobile apps.
The problem is that the model depends on the internet, which is inherently unreliable. If the internet slows, so do the apps that depend on it. And if the internet goes down, apps stop working altogether, frustrating users and costing business downtime.
Because of internet dependencies, the cloud database model presents challenges in meeting mobile app users’ expectations. When they go into areas with poor network connectivity, such as a subway station, airplane or tunnel, their apps become unreliable at best and useless at worst.
To guarantee a fast and reliable mobile app experience, you need to eliminate internet dependencies.
Embedded database technology such as SQLite is another option for mobile app development. This is where the database runs within the application installed on the mobile device. By embedding the database to the app itself, you completely remove the need for a network connection while gaining the highest guarantees of speed and availability.
Using an embedded database can be great for apps that are standalone in nature whose data rarely changes, but their lack of connectivity presents challenges for multiuser apps where data changes frequently and must be shared with other users. With an embedded database, developers either have to build in data sharing capabilities to their embedded apps or do without.
The mobile database model is a merging of the cloud and embedded database models, combining the best aspects of each into an architecture that powers offline-first apps impervious to internet slowness and outages.
The model consists of a central cloud database and an embedded database running on mobile clients that share data via automatic synchronization — the embedded databases sync data between the cloud database and other embedded devices as it is captured or modified. When a network connection isn’t available, data is stored and processed locally, and when the connection is restored, sync resumes automatically.
Mobile databases also offer a peer-to-peer feature, allowing multiple embedded devices in close proximity to sync data using private area networks such as Bluetooth, enabling collaboration in a disconnected environment.
The mobile database model is able to meet the expectations of mobile app users by providing the fast and reliable experience they demand. Embedded local data processing ensures real- time responsiveness and high availability regardless of internet connectivity, and cloud-to-edge sync ensures that the user experience is always current and consistent.
The Couchbase mobile database
Couchbase provides a mobile database that brings the power and flexibility of a cloud NoSQL database to the edge.
The Couchbase mobile stack includes:
- Couchbase Capella – A fully managed cloud NoSQL database-as-a-service (DBaaS) with support for SQL, search, analytics and eventing.
- Capella App Services – Fully managed services for bidirectional sync, authentication and access control for mobile and edge apps.
- Couchbase Lite – An embedded mobile database with broad mobile platform support.
A Fortune 500 and one of the world’s largest oilfield services companies, Halliburton uses Couchbase’s mobile database technology to automate various processes and workflows aiming to achieve new business opportunities and efficiencies across well sites and drilling operations. With our unique mobile and data synchronization capabilities, Halliburton can sync data across devices with limited to no internet connectivity, increasing efficiency for field workers by preventing both data duplication and redundancy of efforts.