Channels

Services

Canonical dropping CouchDB from Ubuntu One

Canonical is discontinuing its use of CouchDB as part of its Ubuntu One data synchronisation service. The announcement was made by John Lenton, Senior Engineering Manager at Canonical. CouchDB has been used in Ubuntu One to provide a synchronisable way of storing and distributing arbitrary structured data which included contacts, notes and playlists.

Apache CouchDB is one of the better known NoSQL databases, offering document oriented stroage with JSON encoding and an integrated synchronisation system. The developers of CouchDB, who founded CouchIO which is now part of the company Couchbase, have ported CouchDB to systems such as Android and iPhone to demonstrate how the platform scales in the small, and is used by sites such as the BBC as part of its web site architecture.

Lenton says Canonical has worked with "the company behind CouchDB" to make the database scale in a particular way. "Our situation is rather unique and we were unable to resolve some of the issues we came across," said Lenton, who pointed out they needed to scale to millions of users and scale down to a "reasonable load on small client machines".

Because of these problems, Canonical has decided to turn off its most of its CouchDB-based services. The contacts, notes and playlists databases for users will still exist to support the services which consume them, but external access to the database systems will be turned off and any other databases stored in the Ubuntu cloud service will be deleted. No dates were given on when databases would be removed.

The company is also discontinuing development on the desktop service application, desktopcouch, and in Ubuntu 12.04 the Ubuntu One packages will no longer user that or CouchDB "in any way". Lenton says the company is "building something new based on what we've learned" and is calling it U1DB, but due to timing and resources this will not be ready in time for Ubuntu 12.04, which will therefore ship without Ubuntu One supporting arbitrary structured data synchronisation.