Mobile computing devices (e.g., smartphones and PDAs) store and share data over a mobile network, or a database which is actually stored by the mobile device. This could be a list of contacts, price information, distance travelled, or any other information.[1]
Many applications require the ability to download information from an information repository and operate on this information even when out of range or disconnected. An example of this is your contacts and calendar on the phone. In this scenario, a user would require access to update information from files in the home directories on a server or customer records from a database. This type of access and work load generated by such users is different from the traditional workloads seen in client–server systems of today.
Mobile databases are not used solely for the revision of company contacts and calendars, but used in a number of industries.
Considerations
- Mobile users must be able to work without a network connection due to poor or even non-existent connections. A cache could be maintained to hold recently accessed data and transactions so that they are not lost due to connection failure. Users might not require access to truly live data, only recently modified data, and uploading of changing might be deferred until reconnected.
- Bandwidth must be conserved (a common requirement on wireless networks that charge per megabyte or data transferred).
- Mobile computing devices tend to have slower CPUs and limited battery life.
- Users with multiple devices (e.g. smartphone and tablet) need to synchronize their devices to a centralized data store. This may require application-specific automation features.[2]
This is in database theory known as "replication", and good mobile database system should provide tools for automatic replication that takes into account that others may have modified the same data as you while you were away, and not just the last update is kept, but also supports "merge" of variants.
- Users may change location geographically and on the network. Usually dealing with this is left to the operating system, which is responsible for maintaining the wireless network connection.
Products
Commercially available mobile databases include those shown on this comparison chart. *Peer To Peer (P2P) or Device To Device
Name | Developer | Type | Sync Central | Sync P2P | Description | License |
---|---|---|---|---|---|---|
Couchbase Lite | Couchbase | JSON Document | Yes | Yes | Embedded/portable database, can synchronize with multiple stationary database and/or mobile devices. | Apache 2.0 License |
InterBase | Embarcadero Technologies | Relational | Dependent | Dependent | IoT Award-winning embedded/portable database, can synchronize with multiple stationary database and/or mobile devices using patent pending Change Views | Proprietary |
ObjectBox | ObjectBox Inc. | Object Database | Dependent | ? | Fast Edge Database for local data persistence, 10x faster than SQLite | Apache 2.0 / MIT |
Realm | MongoDB Inc. | Object Database | Dependent | No | Portable local database, has a synchronized mode that synchronizes (real-time) with stationary database | Core Apache 2.0 License, Sync Proprietary |
SQL Anywhere | Sybase iAnywhere | Relational | Dependent | No | Embedded/portable database, can synchronize with stationary database | Proprietary |
DB2 Everyplace | IBM | Relational | Dependent | No | Portable, can synchronize with stationary database | Proprietary EULA |
SQL Server Compact | Microsoft | Relational | No | No | Small-footprint embedded/portable database for Microsoft Windows mobile devices and desktops, supports synchronization with Microsoft SQL Server | Proprietary |
SQL Server Express | Microsoft | Relational | No | No | Embedded database, free download | Proprietary |
Oracle Database Lite | Oracle Corporation | Relational | No | No | Portable, can synchronize with stationary database | Proprietary |
SQLite | D. Richard Hipp | Relational | No | No | C programming library | Public domain |
SQLBase | Gupta Technologies LLC of Redwood Shores, California | No | No | Proprietary | ||
Sparksee (graph database) | Sparsity Technologies | Graph Database | No | No | Graph Database. Written in C++98. | Proprietary |
See also
References
- ↑ Organize your business with a mobile database, Kevin Ebi, Microsoft.com, retrieved 14/12/08
- ↑ The 5 Traits of Great Cloud-Syncing Apps
External links
- Mobile Database Review: Microsoft Databases for Windows CE, By Bryan Morgan, Apr 5, 2002, InformIT
- Mobile Database Review: Sybase SQL Anywhere Studio 8.0, By Bryan Morgan, Feb 15, 2002, InformIT