Slashdot Mirror


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."

6 of 93 comments (clear)

  1. Our sync service is not “powered by CouchDB& by Chipaca · · Score: 5, Informative

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

  2. unresolvable issues by Anonymous Coward · · Score: 5, Insightful

    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.

  3. Re:Specific Issues by Chipaca · · Score: 5, Informative

    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.

  4. Original message from John Lenton (Canonical) by Anonymous Coward · · Score: 5, Informative

    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

    1. Re:Original message from John Lenton (Canonical) by Beuno · · Score: 4, Informative

      Because the next release is an LTS, which will now be supported for 5 years. If couchdb is kept for the next release, it will need to be supported to another 5 years.

  5. Re:Specific Issues by BitZtream · · Score: 4, Insightful

    No, dogfooding is using the stuff you make yourself. It has nothing to do with WHY you made it, HOW you made it or anything else.

    Its simply different than making a product to sell, and then using something entirely different internally. For instance, Microsoft selling Visual Source Safe ... but not actually using it internally for Windows because it sucked so hard. That is not dogfooding.

    The term is 'eating your own dogfood', because you're eating what you made.

    Linus dogfood's Linux for instance.

    WTF is it with you kids fucking up phrases you don't understand. If you don't know what it means or where it came from will you fucking please stop god damn pretending you do. And stop calling all unpatched exploits zero day. They stopped being zero day within 24 hours of creation. After that they are just fucking exploits.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager