In business terms, a mobile device is only as useful as the data it can store or access. Even in today's always-on world, network access isn't a guarantee depending on your location or environmental conditions, so having the ability to access data in an offline or airplane mode scenario is a key element to mobile productivity.
Mobile databases can provide a solution to this problem; these can store local data in offline situations and synchronize changes with the server when network connectivity resumes. If there are multiple changes to a single object they can determine how to process said changes. They can also reduce bandwidth since data can be stored and accessed locally and only updated or new information need be transmitted. Older versions of data can often be accessed or restored from prior database backups. Being able to process data on the device results in better user efficiency and therefore a better overall experience.
Some open-source or free examples of mobile databases include SQLite, Couchbase Lite, LevelDB, Realm and Microsoft SQL Server Compact. Paid products such as Oracle Berkeley DB and SAP SQL Anywhere are also available, offering guidance and support. These databases will all work with iOS and Android, can be embedded within applications, and can store various types of data.
Mobile database clients can operate in a client/server model where a device communicates with a server/set of servers or in a "peer to peer" fashion where data is accessed or synchronized among other devices. All depend on the following functions and features:
- A focus on application/device performance.
- The use of as small of a memory footprint as possible (500 Kb or less is ideal).
- The ability to deal with storage limitations (not keeping excessive data on the device for instance).
- The ability to reduce power consumption where possible.
- The ability to handle resolution between two conflicting sets of changes.
- Scalability to grow and expand as needed.
- The ability to update versions as new releases emerge.
- Access only to authorized information/components.
- Secure authentication.
- Secure protection of data at rest and in transit.
Some examples of programs which rely on mobile databases might relate to travel, conferences, project management or collaboration, finance, magazine/news, educational or social media functions. In short, anything which might store data locally then link it to a server and synchronize the information can utilize the advantages of mobile databases.
SEE: Reducing the risks of BYOD in the enterprise (TechRepublic)
SEE: Learn NoSQL Database Design From Scratch & With CouchDB (TechRepublic Academy)
I spoke with Wayne Carter, Chief Architect of Mobile at Couchbase, a mobile database provider, to find out further details regarding best practices for mobile databases. We started the conversation by discussing database security recommendations. Carter stated that handling security concerns for mobile databases can be challenging because security concepts must be applied and managed on devices, across the web, and in the cloud.
- Making sure that user authentication can securely validate users in order to apply data access control policies.
- Utilizing data access control policies which identify which individual users/roles can read/write what data.
- Handling data transport across the network via a secure channel like TLS or SSL.
- Storing data securely on the device and in the cloud using system encryption, full database encryption, or a combination of the two (the latter of which is considered ideal).
We then moved on to discuss whether mobile databases be managed via mobile device management solutions. Carter told me that mobile databases are typically embedded in a mobile application and contain dynamic readable and writable data at the individual user level. Managing data within a database is outside the capabilities of a typical MDM solution.
We talked about a typical set of tasks for IT professionals involving the care and feeding of these databases. Carter said the tasks boil down to operations, security and integration:
- Operations involves maintaining platform performance including both speed and latency, platform scalability including both "scale up" and "scale out" and platform availability including both high availability (HA) and disaster recovery (DR).
- Security relates to data storage on devices and in the cloud, limiting data read and write access down to a user or role definition, and securely transporting data both in the cloud and over the web.
- Integration relates to managing data on mobile devices which typically comes from multiple systems of record and requires a mobile data platform to be integrated with other data storage systems. This is typically done using the platform data integration capabilities.
On the topic of database management, Carter said that mobile databases are typically managed via security policies that control data access and storage for a user and/or role. These security policies are usually defined in the cloud by an IT professional and enforced by mobile data platform using synchronization. Most organizations require read-side permissions for a down to the record level and write side permissions down to the field level.
Finally, I inquired about new developments coming to the field. Carter informed me that the development of full-stack data management platforms by all of the leading cloud and database providers is the latest in data management. This concept has emerged due to the rapid expansion of secure data management requirements brought on by the rise of mobile and IoT. The full-stack mobile data platform is much more adept at meeting the data management and security requirements at this level and is a good complement to an MDM solution.
A mobile data platform enables sysadmins to extend their management capabilities down to the data level, enabling them to manage data storage, access, sync, and security on device, over the web, and in the cloud and through the complete data management lifecycle from creation through archiving. These new developments will significantly increase the ability of IT organizations to control and protect data throughout their global digital footprint.
- NoSQL is ideal database for mobile apps, says Couchbase's chief mobile architect (TechRepublic)
- 10 tips for building reactive mobile applications (TechRepublic)
- Microsoft to devs: Here's a bigger toolkit for adding AI to your apps (TechRepublic)
- How to use blockchain to build a database solution (ZDNet)
- Mobile app development policy (Tech Pro Research)
Scott Matteson is a senior systems administrator and freelance technical writer who also performs consulting work for small organizations. He resides in the Greater Boston area with his wife and three children.