Couchbase is nothing if not ambitious. It's challenging Cassandra and DataStax as the scalability champion in the NoSQL arena while taking on MongoDB as a JSON-handling document database. On Wednesday, the company added a third front: a mobile database platform.
Couchbase Mobile, which was launched in public beta in September, addresses the problem of keeping mobile applications running whether they're connected to networks or not. To ensure consistent performance and data synchronization, the platform provides three components: the Couchbase Lite mobile database, Couchbase Sync Gateway, and the central Couchbase Server.
[Want more on mobile? Read Enterprise App Development: A Better Approach.]
Couchbase Lite is a small-footprint (500K), mobile version of the company's database that's embedded in mobile apps and runs locally on mobile devices. Like the database it's named after, Lite handles Java Script Object Notation, a format that supports the semi-structured and variably structured data often encountered in Internet and mobile applications.
As the name suggests, the Sync Gateway synchronizes data from Couchbase Lite-empowered apps with the Couchbase server whenever the user's mobile device reestablishes a connection with a network. The Gateway also handles user authentication and authorization, access control, and data routing through filter controls that manage data for each user. This gets into complicated stuff that developers would not want to have to build from scratch, including data validation, data push and pull from the central server, and multi-master replication.
"When you want to reconcile the differences between what happened locally on the device and what happened on the central server, you have to deal with a lot more than just 'push my data to the cloud,'" Wayne Carter, Couchbase's mobile architect, said in a phone interview with InformationWeek.
The Gateway can be configured with just one page of programmable sync code, according to Couchbase, and this is one of the key appeals of its mobile platforms. "If you try to build sync functionality on your own, it's going to take two to three years," Carter said.
Couchbase Lite supports iOS, Android, and native HTML5 application programming interfaces. Since the beta release, it has also ported the platform to C# for use in the Windows world. In fact, Microsoft itself is experimenting with the platform as part of a peer-to-peer browser project code named Thali.
"We welcome Couchbase Lite as a smart solution to address the needs of mobile developers building applications that rely on data synchronization and intermittent connectivity," said Microsoft executive Jon Udell. "Thali uses Couchbase Lite as a key component of its data replication platform."
Couchbase Mobile's success will hinge on developer adoption. In September, Couchbase listed five partners: Appcelerator, Apperian, PhoneGap, Sencha, and Xamarin. They're all still partners, according to Couchbase, but Wednesday's general-release announcement focused on just two: PhoneGap, the open-source mobile development framework, and Xamarin, which built the C# version of Couchbase Lite now in beta and has more than 500,000 users of its mobile application development platform. The company says it had "several thousand" downloads during its public beta period.
There are plenty of mobile relational databases available from IBM, Microsoft, Oracle, SAP, and others. SAP's (Sybase) SQL Anywhere, for example, is a popular option, but it took more than a decade to gain broad adoption. These databases are for structured data and mostly business-oriented uses, rather than consumer-friendly mobile apps, according to Couchbase.
Couchbase is clearly hoping that its NoSQL data handling and other attributes will win over developers. "We provide a key-value tier, we have a caching tier, we have a very powerful document database, and now we have the Sync Gateway for mobile applications," said Rahim Yaseen, Couchbase's senior vice president of engineering. "We present all of that in one, consolidated database management system, so you don't have to run four different servers."
As compelling as all that sounds, this is clearly a big, long-term push that will require strong partnerships to sustain and grow.
[Editor's note: This article was changed to include a revised statement from Microsoft's Jon Udell.]
What do Uber, Bank of America, and Walgreens have to do with your mobile app strategy? Find out in the new Maximizing Mobility issue of InformationWeek Tech Digest.