Couchbase lashes Lite database to cloud with Sync service
Hold the phone - feel that, that's social, local, AND mobile.
If there is one thing that irritates a mobile device user above all else it's the way some apps will chug along perfectly happily for several hours then suddenly enter the lifeless purgatory known as "syncing" as they try to pull some data from a remote cloud server over a rubbish mobile network.
Now, database startup Couchbase is trying to change that with a new locally deployable database management system and syncing service that can be bundled in with an application.
The idea is that by embedding a local document-oriented database into an application and hooking it up to Couchbase's sync service, developers can change the way they build applications by storing data on a device and selectively pushing up and syncing to the cloud where appropriate.
"If you look at the value it's around enablement. You can build apps that are better, can build them for a lot less money, and [you can build] apps you couldn't build yesterday do this sheer cost associated with [syncing]," explained Wayne Carter, Couchbase's chief architect for mobile, in a chat with El Reg.
Couchbase launched its local database in September, promising that the key-value document-oriented system offered advantages over rival systems like SQL Anywhere and SQLite. Now, by lashing it to a cloud syncing service, the company thinks it has given developers a way to balance the local storage needs of apps with the flexibility afforded by all-you-can-drink cloud computing and storage.
"The reason apps can't be always available and always responsive is due to how people build apps today. Today they have a remote data strategy, they store all data in the cloud so they have a single source and don't need to deal with conflicting data or synchronization. This is a difficult problem but is easier than the other problem, but it produces a result where apps can only work with the network connection."
The "Couchbase Lite" tech weighs in at 500 kilobytes and is described by the company as "a lightweight full-featured embedded JSON document store" with support for iOS, Android, and Windows, and built-in support for authentication systems based on identity services from Facebook or Mozilla Persona.
"It’s embedded within the application by the developer during the building of the application just like any other code library," a Couchbase spokesperson explained via email. "We're following the standard way code libraries work together, so there aren’t any issues with the approach."
Couchbase Lite is designed to communicate with "Couchbase Sync Gateway" which takes care of user authentication and authorization, access control, data routing, update validation, and multi-master replication between Couchbase Server and mobile client devices.
Couchbase Server, meanwhile, handles the storing and sharing of JSON documents to other web services as well as mobile devices.
"We think the next trend in mobile is a local data first strategy," explained Couchbase's senior vice president of engineering, Rahim Yaseen, told El Reg. "A device today has a lot of compute and network. The only resource it struggles with is bandwidth. Mobile apps, when they talk to local data on the device, tend to be a lot faster and a lot more responsible."
The tech is available in a free, thinly-supported "community edition", and in a paid-for enterprise edition with guarantees around support, patching, technical alerts, and more. Prices for the paid version start at $2,700 per node per year for Couchbase Server, and an additional $2,700 per node for Sync Gateway, which includes a Couchbase Lite mobile DB license as well.
Though major companies like Facebook or Google or Microsoft, and even some good mobile design studios, have been able to use a combination of local and cloud-storage for awhile, syncing is typically so difficult that young developers have to make a choice between local or remote storage. With Couchbase Sync'n'Lite, the company is hoping to free them of this distinction and make some cash in the process. ®