Forgot your password?
typodupeerror
Databases Ubuntu Linux

Canonical Drops CouchDB From Ubuntu One 93

Posted by timothy
from the saw-off-the-legs dept.
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."
This discussion has been archived. No new comments can be posted.

Canonical Drops CouchDB From Ubuntu One

Comments Filter:
  • by Chipaca (18396) on Tuesday November 22, 2011 @01:55PM (#38138360) Homepage

    Our structured data sync service is CouchDB, except for tomboy notes. Syncing files is a completely separate stack.

  • by Anonymous Coward on Tuesday November 22, 2011 @01:57PM (#38138390)

    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.

    • I too dropped Ubuntu for Mint. Much happier now.

      • by Rogerborg (306625) on Tuesday November 22, 2011 @04:39PM (#38140636) Homepage
        And according to distrowatch, Mint is now the #1 distro, ahead of Ubuntu. I applied the "my wife's box" test (fnar fnar), and yup, Mint 11 LXDE satisfied her completely, where Ubuntu 11.04 had left her dry and aching. I guess Shuttleworth's Reality Distortion Field needs a bit of work.
        • by Anonymous Coward

          LXDE satisfied her completely

          I feel genuinely sorry for your sake. It must suck to be rendered obsolete so easily. ;)

        • by tehcyder (746570)

          Mint 11 LXDE satisfied her completely, where Ubuntu 11.04 had left her dry and aching

          Her vibrators run Linux?

      • I too dropped Ubuntu for Mint. Much happier now.

        Thirded. It's probably not as mature as Ubuntu as I occasionally encounter bugs, but it's a lot better overall. Mint is the distro I give to friends who inquire about Linux. I've run FreeBSD and heaps of different distros on my desktop since way back when, I ran Ubuntu as long as possible, but now I've come to the point where I just want something with a consistent interface that works.

    • I'm with you ... Ubuntu is gone on nearly all of my computers now. Unity makes it pretty damn unusable. I switched to ordinary Debian but I hear Mint is getting quite a following now and is on its way to becoming "the new Ubuntu."

      Spaceman really jumped the shark with this one.
    • 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 t

  • Specific Issues (Score:4, Interesting)

    by mysqlrocks (783488) on Tuesday November 22, 2011 @01:59PM (#38138442) Homepage Journal
    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.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      The only "new thing" is a database abstraction layer that they should have already been using to begin with. Who in this day still writes their software heavily coupled to a single database rather than using a thin abstraction layer?

      • Re:Specific Issues (Score:5, Informative)

        by Chipaca (18396) on Tuesday November 22, 2011 @02:09PM (#38138626) Homepage

        The only "new thing" is a database abstraction layer that they should have already been using to begin with. Who in this day still writes their software heavily coupled to a single database rather than using a thin abstraction layer?

        we did, it's desktopcouch. Turned out to be too thin.

      • meh, they should use an abstraction layer on top of other abstration layers to cover all the bases.
        • meh, they should use an abstraction layer on top of other abstraction layers to cover all the bases.

          Yeah, and XML-encapsulated SQL, definitely needs at least one layer of XML. Definitely.

          • by nschubach (922175)

            Just to be safe, you should store your data as XML elements in the fields of the same name:
            select id from table
            <id>1</id>
            <id>2</id>

        • by Lakitu (136170)

          It's abstraction layers all the way down.

        • That's 80% of programming right there.

    • by Anonymous Coward

      It's probably not scaling well. I've seen workloads that totally killed couchdb to a point MySQL blew it out

      For instance, storing rss feeds. Couchdb seems ok for that until you try to use it.

    • Re: (Score:2, Interesting)

      by tildeslash (2032236)

      A lot of newer tech companies prefer to develop their own systems these days; there is a new culture of "dogfooding" i.e. building your tools from scratch and using your own product. There are good technical reasons for doing so when you are innovating, as existing systems will never quite meet your requirements. This is especially true of the cloud and "big data" (non-relational DBs), which are both still young and rapidly evolving.

      As for specifically what went wrong: I suspect that comes under trade secre

      • Except that they aren't making their own tools. They are just rewriting their database abstraction layer so they can use a variety of didn't different backend databases rather than just couchdb.

      • by bolthole (122186)
        You are confusing "Dogfooding" with "NIH syndrome"
    • Well there's one thing that never worked for me: Using UbuntuOne from behind a transparent HTTP proxy. Which means none of my Ubuntu work machines could use UbuntuOne.
      Last time I checked (granted, a while back), they said it's a "known issue" and will be "addresed".
      Or maybe it's something entirely different. I don't care what's happening in the background. All I need is for the damn solution to work :)

  • by Anonymous Coward on Tuesday November 22, 2011 @02:16PM (#38138754)

    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

  • by Anonymous Coward

    People use ubuntu one?

    • by Patch86 (1465427)

      Free cloud storage with syncing software preinstalled with the distro. What's not to like? (Aside from the fact it's a cloud service at all- which many people seem surprisingly at ease with).

      I don't use it, because I can't think of a reason to. But if you must have 5GB of data in cloud service, I can't see any reason why not Ubuntu One.

  • by drx (123393) on Tuesday November 22, 2011 @04:15PM (#38140352) Homepage

    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?

    • by rwven (663186)

      I had the same set of thoughts. There are a ton of long standing solutions to these sorts of problems that would have served their needs far better than storing crap in a database. I don't get it either... If inode limits became a problem, there are lots of ways around that as well...

    • by jgrahn (181062)

      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.

      The indoctrination has reached you, too. It's not the software's data, it's your data, dammit. It should be in a documented format, readable by any application and friendly to rsync, version control et cetera.

      • by drx (123393)

        Thanks for pointing out this freudian language glitch!

        This actually sums up what I want to say. Most data could be stored and synced fine inside of files, even unicode text files most of the time, no binary. I don't need my chat logs in a database, I don't need calendar or contacts in a database. Especially if it is one that is running outside my user space and is not affected by backing up my home directory.

    • by BitZtream (692029)

      rsync has to be reinvented because its license is obnoxious.

      diff and unison aren't efficient enough fi you're the poor bastard paying for bandwidth to/from the client for what is essentially a free service.

    • by plopez (54068)

      I would put my money on sloppy code that made the DB engine inefficient as well as ACID issues. Synching in real time in a distributed environment and staying ACID compliant is a *hard* problem. See this guy's research for some of the gory details: http://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist) [wikipedia.org]

      • by drx (123393)

        Syncing in real time is really something file systems don't seem to handle well. But that's more an issue with real time collaboration, not with syncing some documents and settings across a few devices.

      • by yevelse (686791)
        Dude, this guy recently disappeared. Whoaa...
  • 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 think Canonical suffers a nasty case of Not Invented Here [wikipedia.org].

1 Dog Pound = 16 oz. of Alpo

Working...