CouchCamp

Couchio

Connoisseurs of Fine Database Products

CouchDB Case Studies

List of All Case-Studies

So You’d Like to Migrate From a Relational Database to CouchDB?

This whitepaper discusses the basics of migrating from a relational database to CouchDB.

Till Klampaeckel, esteemed CouchDB user-community member, collected his notes from moving a large PHP application from a relational database to CouchDB in a series of blog posts that we reprint here with his permission. Thanks Till!

Read on or Download the PDF

Epic Interactive Mediums Whitepaper: Migrating a Rails App to CouchDB

This whitepaper goes deep into the technical details of migrating a Ruby on Rails Application to CouchDB.

John P. Wood of Interactive Mediums explains in close detail the why and how of migrating to CouchDB. Learn from first-hand experience about his journey.

Read on or Download the PDF

We were looking for a way to create HTTP API’s for our data. Instead of an API framework we chose to use CouchDB, since it can store data and comes with a RESTful API out of the box. Specifying an API is as simple as writing a handful of lines of JavaScript and your API is ready to go!

Nils Breunese, Software Developer at VPRO

Consolidating Messy Data

VPRO is a public broadcasting company in The Netherlands, broadcasting on television, radio and hosting numerous websites. Being a broadcasting company means handling a lot of metadata for programs, series and schedules: channels, descriptions, start and stop times, persons, media URL’s, etc. This data is delivered by various third parties in various formats.

The problem was that every couple of months a requirement popped up somewhere saying it should be possible to show certain data about certain media in a certain way. And every time a new solution was constructed. Maintaining all this infrastructure became a burden, so the VPRO developers decided they needed a centralized service for media metadata.

Read on…

CouchDB really fits the way we work, from the distributed nature of our collaboration to the way we exchange data to our distributed systems. We have found CouchDB to be really easy and enjoyable to develop against. It's nice using something ‘built of the Web’ at the lab where the ‘web was born’, too.

Simon Metson, Convener of the DMWM group

Physics & CouchDB

CERN, the European Organization for Nuclear Research, is the home of the Large Hadron Collider (LHC), the world’s most powerful particle collider. There are four main experiments that run on the LHC and the Compact Muon Solenoid (CMS) experiment, one of two general purpose detectors, uses CouchDB extensively in its Data Management and Workflow Management (DMWM) project. DMWM is responsible for providing all the offline processing infrastructure to CMS. This includes cataloguing data, transferring it between their ~100 computing centers, running processing tasks across the distributed computing infrastructure at all stages of the data's lifetime (from when it first gets to CERN from the detector to end-user analysis), and creating simulated data so scientists can match experiment to theory. CMS will collect roughly 10PB per year when the Large Hadron Collider is running at design luminosity (a measure of how many proton-proton collisions happen) with at least as much simulated data being created.

Read on…

At the end of the day, GeoCouch has, in a few months time, help me to create an ecosystem for regional government and open source developers to share information with citizens, and for those same citizens to share information back. Crafting architecture for sharing large amounts of information over the web is usually no easy task, but GeoCouch has let me focus on the big picture and not get bogged down in the details.

Max Ogden, creator of PDX API

GeoCouch and Open Data in Portland

Developers within the Portland, Oregon area wanted access to the wealth of geo datasets that the City of Portland has available to develop useful geo applications for the public. The City of Portland has a young, tech savvy mayor who was behind this project which greatly helped the developers to get through the bureaucracy within the local government. Access was granted, but the datasets were released as Shapefiles, which is a proprietary desktop GIS format, making the data very hard to work with.

Read on…

Creating a true cloud-based infrastructure for telephony applications would have been challenging without CouchDB, which provides the reliability, replication and performance required for our mission-critical, ‘always on’ platform. With CouchDB handling all persistence, our developers are free to focus on creating new and innovative applications and extensions for our small business customers using the Aptela Anywhere infrastructure.

Mahesh Paolini-Subramanya, CTO at Aptela

Massive Scale & Easy Development

The Aptela platform achieves massive scalability by dynamically distributing load across all available nodes using REST-based APIs. These APIs power a host of applications ranging from simple phone widgets to complex web-based applications. The APIs also cover all telephony interactions, ranging from routing phone calls to delivering intricate auto-attendants.

The distributed nature of Aptela’s platform allows for consistent and extremely scalable access to data across all the nodes. Furthermore the telephony side of the platform requires the ability to operate in a quasi-disconnected mode, i.e., real-time access to other nodes cannot be guaranteed. Aptela needed to address the additional burden of the volume of data being generated – millions of Call Detail Records (CDRs) are generated daily, all of which have to be accessible in near-real time.

Previous iterations of the Aptela platform have used everything from the file system to SQL databases (Oracle/Postgres/MySQL) to provide persistence. Each of these worked up to a point, but the joint imperatives of performance, manageability, maintainability, cost and (massive) scalability invariably took its toll.

Read on…

CouchDB is a powerful tool that can be used to build cutting edge communication applications, regardless of the modality chosen by the end user. CouchDB can be used to build applications that are accessed through the ordinary telephone, or through cutting edge social networking services like Twitter.

Mark Headd, Developer of TweetMy311

Open Government Data & CouchDB

The City/County of San Francisco recently deployed a new API for their backend 311 system. San Francisco uses the FCC-designated abbreviated dialing code 3-1-1 to take non-emergency complaints and requests for information from citizens.

Mark Headd had been participating in open discussions about San Francisco’s 311 API and wanted to build an application that citizens could use to submit 311 requests. But there were some challenges. First, Mark needed to identify a communication channel for the application that would be easy to use, and also support the types of information that are required to create a new 311 service request — specifically, the location of the issue being reported. With the announcement late last year of geolocation support in Twitter, he realized a Twitter-based application would work nicely. The second challenge was that he needed to build the application on a foundation that supported rapid development, since he was the only developer on the project.

Read on…

CouchDB surprises me again and again for getting out of my way. I can focus on solving my problem and my database supports me never mind how strange my requirements might be.

Lenz Gschwendtner, CTO at iWantMyName

Easy Content Management with CouchDB

iWantMyName started building their full-service domain name registrar from scratch in 2008, no strings attached, without investors or previous code to take into concern. They looked around the market for cutting edge projects to play with and CouchDB caught their eye. iWantMyName planned to grow slowly at first, and CouchDB was just getting traction, so they gave it chance.

Read on…

This was the first time in over 20 years of software development that a new technology was simpler and less troublesome than I had expected.

Martin Higham, Founder of Ocasta Labs

The Power of REST: A Case Study

Project Agora is a collaboration between Vodafone R&D and Ocasta Labs, aimed at creating an open trading platform where individuals and groups come together to buy, sell and exchange goods.

The heart of Agora is the descriptions and photos of goods available or wanted, which are searchable by full text or location. An Android client application provides easy access to users, and a Twitter-like RESTful API opens the data store to developers.

Read on…

CouchDB puts the data in the hands of the user in a transparent way. No longer do we have to wonder which fields to index and why and how it best fits certain queries. The incrementally updated view paradigm is a powerful one which scales wonderfully.

Kowsik Guruswamy, Founder and CTO of Mu Dynamics

Simplicity: A Case Study

Mu Dynamics uses network packet captures (pcaps) a lot, both in their product and for everyday work. The Mu Studio product line converts any network capture into a set of stateful test cases for functional, regression, interoperability and fuzz testing. This is a radically new and powerful approach to testing since end users no longer have to wait for the test tool vendor to provide them with test-cases that are relevant and targeted to their environment.

All this collecting, sharing, and working with pcaps littered their wikis, laptops, and public folders with packet traces, so it was painful to keep them organized, indexed and searchable. Of course, they are not the only ones with this problem. They decided to build a community site specifically for sharing packet captures, learning about protocols and collaborating on test cases.

Read on…

Because we didn’t plan to any relational elements, the document-oriented approach of CouchDB was exactly what I was looking for.[…] It was difficult to continue programming at times, as I could hardly see through the tears of joy.

Jon Adams, Chief Architect of Anologue

Flexibility: A Case Study

In rediscovering IRC to connect with fellow developers in various open source projects over the last few years, the folks at Analogue realized how simple and invaluable a tool it is; especially for multiple people discussing a particular topic. They wanted to bring the benefits of the format (linear discussions), to other areas of life that could be made web accessible without the hurdle of third party scripts, plugins and even registration that other, perhaps similar, solutions included.

Initial goal: enable any number of people to view a web page that would serve as a sort of chat-room. Generate a link, share it with whomever you’d like to participate in the dialogue, type your name and text to add to the conversation. Simplicity was important in all aspects to get up and running quickly.

Read on…

The BBC chose CouchDB because of its operational stability as well as robust N-master replication feature. We couldn’t be happier with it. CouchDB allows us to deliver new features to the public in shorter time and ensure everything is always available by spreading over multiple datacenters.

Enda Farrell, Chief Couch Architect, BBC

Large Scale: A Case Study

The BBC has a public obligation to ensure that their main site www.bbc.co.uk is always on, 24/7, no matter what is going on in the world. Even if a catastrophe affects their datacenters they have contingency plans to make sure that their website stays up and is able to provide the latest news to readers wherever they are.

With their architecture in place, developers at the BBC can focus on building rich internet applications at massive scale. Operations teams can relax and do conservative capacity planning instead of putting out fires left and right. CouchDB doesn’t let the BBC and thus the British public as well as the worldwide audience down, even if a datacenter is unavailable.

Read on…

With […] our CouchDB infrastructure built-out and proven, we will soon be building even more […] capabilities that would have simply killed our old database.

John Wood, Lead Engineer at Interactive Mediums

Views: A Case Study

By moving to CouchDB, Interactive Mediums were able to re-activate features that they had to disable due to old database performance, and also add more features and gather more statistics that was impossible with their previous infrastructure.

Interactive Mediums develops and provides next-generation marketing solutions designed to help companies acquire, retain and develop customer relationships via mobile and other marketing channels. The company’s software-as-a-service campaign management platform enables marketers to rapidly develop, execute and analyze a variety of campaigns using multiple channels, all feeding a common customer database.

Read on…

CouchDB has changed the way I think about software development.

Chris Petersen, CIO of Assay Depot

Replication: A Case Study

CouchDB replication has made it possible for Assay Depot to take an external facing exchange and create a version of it for internal use by a top 5 Pharma company.

Assay Depot is an online exchange for contract research services — or a Contract Research Exchange (CRX). Assay Depot’s customers are of two kinds; Providers and Buyers. Providers or Contract Research Organizations (CRO’s) do small, medium and large experiments on a contract basis. Buyers are researchers at some of the world’s top Pharmaceutical companies and Academic institutions.

Read on…