Canonical Drops CouchDB From Ubuntu One
rsk writes "Since the Ubuntu One desktop synchronization service was launched by Canonical it has always been powered by CouchDB, a popular document-oriented NoSQL data store with a powerful master-master replication architecture that runs in many different environments (servers, mobile devices, etc.). John Lenton, senior engineering manager at Canonical, announced that Canonical would be moving away from CouchDB due to a few unresolvable issues Canonical ran into in production with CouchDB and the scale/requirements of the Ubuntu One service. Instead, says Lenton, Canonical will be moving to a custom data storage abstraction layer (U1DB) that is platform agnostic as well as datastore agnostic; utilizing the native datastore on the host device (e.g. SQLite, MySQL, API layers, 'everything'). U1DB will be complete at some point after the 12.04 release."
Our structured data sync service is CouchDB, except for tomboy notes. Syncing files is a completely separate stack.
dropped Ubuntu due to unresolvable issues with the way that they handle desktop environment migration. Liking Mint much better. Hope others are able to manage or migrate. Ubuntu is otherwise a very nice OS.
It would be interesting to hear more from Canonical about what specific issues they ran into. They say that they worked with "the company behind CouchDB." While Couchbase is one company "behind" the project, CouchDB itself is an Apache project. Did they reach out to the Apache project itself? Also, why build something completely new rather than provide patches to existing software? I'm sure they had good reasons, but I'd like to hear some more details about what did and didn't work for them.
Bradley Holt
From the first days of Ubuntu One, before we were even in Ubuntu, we've
had a structured data storage sync service based around CouchDB.
For the last three years we have worked with the company behind CouchDB
to make it scale in the particular ways we need it to scale in our
server environment. Our situation is rather unique, and we were unable
to resolve some of the issues we came across. We were thus unable to
make CouchDB scale up to the millions of users and databases we have in
our datacentres, and furthermore we were unable to make it scale down to
be a reasonable load on small client machines.
Because of this, we are turning off most of our CouchDB-related
efforts. The contacts, notes and playlists databases will continue to
exist on our servers to support the related services, but direct
external access to the underlying databases will be shut off. Any other
databases will be deleted from our servers entirely.
For these same three years we have created and maintained desktopcouch,
which is a desktop service (and related library) to access CouchDB more
conveniently. Because we are no longer going to pursue CouchDB, we will
no longer be developing desktopcouch; in fact, if anybody wants to take
over, we'll be happy to work with you to make that official. For the
upcoming 12.04 the Ubuntu One packages will not depend on desktopcouch
nor couchdb in any way, and we'd recommend the distribution seriously
consider whether they want to continue having the package in main,
especially if no maintainer shows up.
Because we still believe there is a lot of value to our users in the
service we wanted to offer based on CouchDB, we're building something
new, based on what we've learned. It's very small, merely a layer of
abstraction and the definition of an API that will allow us and others
to build what is needed ontop of existing tools. We're calling it U1DB
for now, until it comes of age. If you're interested and techincally
inclined you can follow our progress on lp:u1db; unfortunately our
timing and resources are such that we can only promise the reference
python implementation will be ready in time for 12.04, and thus 12.04
will ship without Ubuntu One having a solid story around synchronizing
arbitrary structured data.
Thank you for reading.
https://lists.ubuntu.com/archives/ubuntu-desktop/2011-November/003474.html
Is the ubuntu way. Canonical has got the IBM syndrome.
I'm sorry about that misstatement; thank you for the correction.
People use ubuntu one?
I too dropped Ubuntu for Mint. Much happier now.
I wonder what became so difficult about syncing data that it has to be re-invented all the time?
I was happy using tools like rsync, diff and unison for a long time, until the moment when even Linux desktop software is too posh to store their data in files.
Now every software uses another database, at one time even Amarok used a MySQL backend. What is better about this than just putting the data in a file? Or at least making this file the Single Point Of Truth? If you need the database for speed, you can check if the file changed since the last time and then update the database from the file's contents. But simple files have been syncing and merging and everything perfectly for ages. Now it seems like every software needs its own syncing service.
Is there any reason for this, except brading the most simple things (like copying a file), or making money with cloud storage?
At least they're keeping Unity!
They're not migrating from CouchDB to Unity, are they?
Every time I see CouchDB, I read douchebag.
why just dont let Ubuntu do what they want? if they want to develop U1DB, its fine! if you want to keep couchdb in ubuntu one, why dont just take the software and keep it alive ? its not a big deal ...
Canonical would be moving away from CouchDB due to a few unresolvable issues
Of course they'd want to drop CouchDB. It's clearly not web scale.
I'll second that. I needed to reinstall Linux on my notebook and after having fits with the most recent Ubuntu release, I was very much ready to give Linux Mint a try.
But, on all of my single user machines (desktop, notebook, netbook), I always use root-on-LVM-on-crypt (using LUKS for encryption) for my hard drive setup. This way, everything except for the small boot partition is encrypted. It works great and I've personally found the performance hit to be negligible. I even have my file server set up this way and it does much more I/O than any of my other machines without any noticeable problems.
Anyway, both Debian and Ubuntu support this type of configuration directly in their installers. Ubuntu also supports (or did, at least) a per-user home directory encryption. I gave it a try once, but I didn't care for it and it even broke simple things, like using 'du' to see how much space was being used by a file or directory.
Unfortunately, Linux Mint does not support this configuration. I found this to be rather odd, since Mint is based on Ubuntu, which supports it, and Mint Debian edition is based on Debian which also supports it. I found a forum thread where somebody had managed to get it to work, but it seemed like an awful lot of hoops to jump through. In the end, I just went with Debian/testing and called it a day. Hopefully the Mint people will add this ability soon because I'd really like to give it a try.
Elrond, Duke of URL
"This is the most fun I've had without being drenched in the blood of my enemies!"-Sam&Max
I think Canonical suffers a nasty case of Not Invented Here.