NoSQL in a Mobile World: Benchmarking Embedded Mobile Databases
نویسندگان
چکیده
In this paper, we evaluate three types of embedded data storage models on mobile devices. SQLite is a relational database, CouchLite is a key-value NoSQL database and DbO4 is an object-oriented databases. Mobile phones are becoming powerful enough to do a large amount of processing without leveraging cloud services. Most mobile applications are data driven and their performance depends on data availability. We developed a comprehensive set of benchmarks to test each database in an Android application. The results from our tests clearly show that the relational model has superior performance on mobile phones; however, there may be situations where only key-based lookups are necessary that a NoSQL solution would suffice. Background The popularity of NoSQL databases for cloud computing has inspired initiatives to install NoSQL databases on mobile devices. There are several reasons why such a solution is attractive: including replication, cloud synchronization, and the document data model. However, most NoSQL solutions are designed for large data centers with access to substantial computational power and network infrastructure. Little work has been done testing how a NoSQL databases preforms on the limited hardware of a mobile devices. The motivation for this project comes from the design of the next version Open Data Kit, an Android based tool set for mobile data collection and processing. We have been migrating the tools over from native Android code to HTML5 and Javascript. One discussion that arose during this switch was migrating from SQLite to CouchDB. We were unable to find performance metrics for any NoSQL database on mobile devices. This work is of particular importance to the research in our lab because we deploy technology solutions in developing countries where infrastructure support is never a guarantee. This means that an always on network connection cannot be assumed and a local copy of the data should be present on the phone. At the same time it is also important to maximize battery life because the interval between phone charging could be large. Reduced battery life on modern smart phones is already a big issue in low resource environments and requiring the phone to do even more by running a NoSQL or SQL database could reduce it more. We want to make sure we pick the technology that the best performance. Related Work There are several standard benchmarks out there. OLTP and OLAP style benchmarks [2, 3, 4] are for large data-center level systems rather than mobile environment. TPC-C and TPC-E are benchmarks for SQL based enterprise applications [5]. YCSB is a benchmark, made by Yahoo, for evaluation of NoSQL based cloud serving systems [6]. In general, there are no standard benchmarks for mobile based datastores. There is some recent work in proposing evaluation of SQL based embedded databases on mobile phones [7, 8]. However, there is no work which compares locally installed NoSQL database like CouchDB with SQL databases like SQLite.
منابع مشابه
ذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013