Introducing NoSQL to the world of mobile applications, Couchbase has released a beta version of its CouchDB non-relational database for the iPhone iOS.
Developers can embed this new version of the software in their iPhone and iPad apps to hold data, such as contacts, game scores, user preferences and various forms of enterprise data.
Mobile Couchbase is a version of the open source Apache CouchDB, a non-relational database developed by Damien Katz, now the chief technology officer for Couchbase. The company claims that Mobile Couchbase is the first non-relational, or NoSQL database, built for iOS.
Mobile app developers have no shortage of embeddable databases, such as the widely used open source SQLite. What sets Mobile Couchbase apart is its superior synchronisation capabilities, asserted J. Chris Anderson, Couchbase co-founder and chief mobile architect.
"SQLite is a data island," Anderson said. "While well proven for use in constrained environments, it has nothing like Mobile Couchbase's synchronisation capabilities."
With minimal coding, Mobile Couchbase offers the ability to have its data be automatically synchronised across a network to an instance of CouchDB. A mobile application can store data generated on the phone itself, as well as synchronise that data with a cloud service or data centre repository.
While designed initially for simple document storage, CouchDB's noSQL architecture has a number of advantages that should make it attractive to iPhone app developers, the company asserts.
CouchDB makes efficient use of working memory. The amount of storage space it takes up is also relatively minimal: developers could embed it in an application and easily keep their apps under the 20 megabyte download size limit imposed by many carriers. Also, the software's message passing protocols aren't overly chatty, meaning synchronisation won't unduly drain the battery.
Mobile Couchbase takes the form of an embeddable library, which can be called from the Apple Xcode Integrated Developer Environment. The company did not disclose when the final version of the software will be released.
Find your next job with techworld jobs