Couchbase offers NoSQL for iPhone
- 03 May, 2011 06:26
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 synchronization capabilities, asserted J. Chris Anderson, Couchbase cofounder and chief mobile architect, in an e-mail interview.
"SQLite is a data island," Anderson said. "While well proven for use in constrained environments, it has nothing like Mobile Couchbase's synchronization capabilities."
With minimal coding, Mobile Couchbase offers the ability to have its data be automatically synchronized across a network to an instance of CouchDB. A mobile application can store data generated on the phone itself, as well as synchronize that data with a cloud service or data center 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 synchronization 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.