June 14, 2009
June 14, 2009
June 17, 2009
14.123.1 - 14.123.12
A Survey of Embedded Database Technology for Mobile Applications
A recent project required us to develop a software application that runs on mobile devices of various form factors. Almost all non-trivial software requires data persistence of some sort, even those running on small mobile devices. For very small amounts of data, a simple sequential file is often adequate. However, for larger and more complex data sets, software developers of mobile applications frequently employ an Embedded Database Management System (EDBMS) to aid in data storage needs. While we have extensive experience in both using database management systems in software development projects, and developing applications for mobile devices, we did not feel we had enough information about EDBMS alternatives. A quick internet search shows there are a variety of commercial and open source embedded database products available on the market today. Adding to our confusion was the fact there does not seem to be any clearly defined set of standard features for embedded database products. The purpose of this study was then to educate ourselves on the various options available. In this paper, we discuss some of the options that must be considered when choosing a data persistence strategy and present the findings of our research of 17 embedded database management system products from 11 different vendors. In the paper, we list 20 desirable characteristics common in embedded database management system products, and summarize their availability in each of the products we reviewed.
The term embedded can be defined as being “inserted as an integral part of a surrounding whole,”1. A quick Google search of the word “embedded” yields over 76 million results, with Information Technology (IT) centered applications of the term spanning computing, databases, processors, programming, systems, and more. According to Massa and Barr2, an embedded system is a blending of hardware and software for a dedicated function.
One of the more interesting aspects of embedded systems is the embedded database. As embedded systems have advanced in complexity, reliable and efficient data management has become increasingly important. At one end of the spectrum, this includes network routers and gateways as well as storage devices and entertainment systems3. On the other end of the spectrum are devices such as PDAs, digital cameras, and mobile phones, which need data storage and synchronization but also require a small footprint 3. All of these systems take advantage of the embedded database to eliminate the overhead of an SQL query to a remote database server for every transaction3.
The embedded database is most commonly defined as “a software component that is part of the application,” with its operations invoked by the application4. For the purposes of this study, a few general assumptions can be followed regarding embedded databases3:
It runs as part of the application or on the host system (such as with a PDA); no separate or remote database server is required.
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2009 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015