The push is on for mobile database management tools built from the ground up to run directly inside phones, tablets and wearables.
These mobile database solutions are being designed to do what heavyweight open source solutions like SQLite, Cord Data, MySQL and PostgreSQL were not designed to do.
Some 4.55 billion people worldwide are using mobile phones this year. Fast-paced smartphone adoption will continue through 2017, according toeMarketer.
Affordable, powerful tablets are now ubiquitous in business and often replace smartphones for enterprise connectivity beyond voice communications. A key benefit of a mobile database is its easy access from several locations from a variety of devices.
“It is in the last year that mobile has exploded that we are seeing an interest in mobile databases. There used to be a few mobile databases. They were what we called ’embedded.’ The only interest was in the Internet for delivery. Nobody really cared about the mobile device as a vehicle for database delivery,” Alexander Stigsen, cofounder and CEO of Realm, told LinuxInsider.
Waking the Giant
The mobile database space has been dormant for the last 10 years. The only database that has survived on mobile is SQLite, according to Stigsen.
Meanwhile, in the server/desktop space, the entire database market has exploded. The mobile side basically has been standing still.
SQLite is a fine database for what it does, but it is very old. All the new features developed over the last five years and all the technology offered in the non-SQL movement have passed it by. None of that has come to mobile at all, explained Stigsen.
“It is amazing how the demand for mobile databases is growing. It is a direction in which the workforce is going,” he said.
For business and personal use, smartphones and tablets are replacing desktop and laptops for many routine computing tasks. The hardware on many of these mobile phones and tablets is far superior to many of the laptops over the last decade, noted Stigsen.
Just as the computing power of mobile devices is keenly improved, so is their ability to store data.
“Mobile devices are now capable of larger data storage. That is contributing to the movement to mobile database development,” Balaji Viswanathan, a product manager at Black Duck Software, told LinuxInsider.
Databases usually are started at the desktop level and then gradually move over to mobile access.
“Even the server databases are starting to move to the mobile platform. Many users need access to data in real time. That is why we are pushing for a mobile platform,” Viswanathan said.
Need for Change
Programmers and application developers are getting more comfortable with mobile as a back end. The challenge is that you do not have the persistent storage in memory that you would have on a traditional desktop machine, according to Ari Weil, vice president of product at Yottaa.
“You can’t take a desktop database relying on local storage and port it to mobile. Just moving to SQLite and doing the same kind of processes you do on a desktop just isn’t going to work on mobile,” Weil told LinuxInsider.
On a desktop, for example, users can paste things out to a page file and access much more main memory. On a phone or tablet, it is much less realistic to think that way. Users have only a finite amount of memory.
“You have to contend with all the apps running in background memory and the need to save on battery life and radio usage. The challenge in going from desktop to mobile is you have to be thinking in terms of bite-size increments and persisting something in cloud or local storage instead of holding it in memory,” said Weil.
With mobile databases, queries have to be smaller and lighter. They typically are going to be more frequent, due to calling back smaller chunks of memory.
Mobile database users have to think more in terms of in-the-moment access, which is different from what they do on a desktop. All of this impacts the cost of operating the database, so you have to do things smaller, lighter and faster, explained Weil.
“Mobile database developers are trying to see just how compelling a mobile experience they can create,” he said.
One of the factors driving this growth in mobile database development is the need for speed and quick access to database content. To provide it, you need the data stored on the device.
“Otherwise, you have delays from Internet downloads and connectivity issues,” noted Stigsen. “Another thing is the expense involved in having the server do all of the computation. That is really expensive.”
Making the Case
The business edge gained from using mobile data-driven applications to access data from anywhere whenever needed offers a compelling case for developing better mobile databases. More businesses are moving toward mobile employees. Business use requires a way for road warriors to use their mobile devices for database access when they are not constantly connected, said Weil.
Keeping customers connected is also a driving factor for the online gaming business. Mobile database functionality is critical if you want to be able to keep track of leader boards and be able to back up all the points and scores you are getting. Those are the things that players using an on-device database need to track, he added.
“That is one of the challenges for multiplayer online games when they move to mobile. There is so much data and such a high frequency of updates. There has to be a process for storing and manipulating data before it can be synced in the cloud. Otherwise, people just couldn’t play it,” Weil said.
Database developers have a few open source choices, offered Viswanathan, but they may rely on more traditional components that have to be adapted to mobile use.
One prominent choice is Firebird for use on mobile devices. A similar open source option for Windows Phone is Perst.
Apache Derby is a tiny embedded database that works with Java-based devices. However, this software might not work with Android, noted Viswanathan.
Raima is used in embedded devices.
Berkeley DB is a classic in this market, said Viswanathan. Oracle recently acquired this project.
VistaDB works with .Net.
Adapting existing database structures to mobile platforms poses different challenges. Traditionally, the database were designed for much more critical applications.
Powerful but Draining
With mobile, one of the big concerns is over battery life. Database activity on mobile can consume a lot of juice. The main technology under development is striving for greater energy efficiency, said Viswanathan.
To do this, you need to think a lot differently than with traditional desktop databases, he pointed out. With mobile, you need to be really lightweight with your platform.
Another consideration is the cost of maintaining model databases. The nature of the database today is so complex that you need to store the data locally.
This reduces the need to constantly update and transfer data. The connectivity costs was a big financial consideration. Five years ago, the complicity issues were much less, Viswanathan said.
A New Approach
One potential breakthrough in mobile database technology development might be the approach created by Stigsen’s startup company, Realm. That method reinvents the entire storage stack on mobile.
In essence, Realm replaces SQL with a method that eliminates the pitfalls of old-school databases that do not play efficiently on mobile devices. This makes it very easy to connect to the database.
“The SQL language is built for server operations. Putting an application on that for mobile access is very cumbersome,” Stigsen said.
For example, when you build a Web app to access the server storage for SQL, you have to deal with the latency in processing. If you have an app on your phone, you do not expect to have to wait.
“The old-school database is not built for that. So we created a modern object database. This lets you place objects in the language. Everything is just log in and exit,” said Stigsen.
The interesting part of Realm’s technology is essentially how it plays in the middle of the stack. The traditional way of building the database connectivity was with the LAMP stack, according to Stigsen.
“Nobody knows what that stack is going to look like in mobile. This gives us an edge is defining what the whole rest of that stack will be,” he pointed out.
The mobile database development cycle might well be a case of how high is up. There may not be a limiting ceiling with mobile databases.
“People are looking for ways to exploit hardware in ways that have never been considered before — a self-contained database that does not need to interface with a larger office database system,” said Yottaa’s Weil.
For example, database developers are looking at new approaches to using hardware for memory, he noted.
For example, they are considering whether there are more aspects to the device they can leverage, Weil suggested, or whether they can save some of the data to the L-level caches on the CPU.