Relax, a file system for the Internet is here

I’m about to start a new job and I’m tingling with excitement about it. Even after my first interview, I felt inspired. We talked about alternative technologies and the future of web development. When CouchDB was mentioned, I answered honestly, I hadn’t looked at it in great detail. Now having done so over the last three weeks, I think it has a lot of potential.

“the goal here is to make couchdb the file system for the internet”
- Nitin Borwankar, Couch DB, VP of business development.

If your not familiar with CouchDB, it’s better to hear about it from those who invented it! Checkout this you tube video where they give a good technical overview.

In short, it’s a database with no structure that saves data as documents. It can be used to serve everything required for a website or application. It’s both the application framework, data store for information, static images and style files. All the data is stored in the JSON data format and is accessible via HTTP like GET or POST which makes it restful!

It just makes me wonder why a conventional database such as MySQL are still chosen to serve websites? There is of course, many reasons for this and it would make a great blog article. However, since the information and design is so tightly coupled together. Tools like CouchDB should be embraced to make site production easier for the developer.

Even this terrific post by one of my favorite Twitter personalities, @myerman, suggests the same. There’s a lot of technical over head for a flash-bang project when your using MySQL.

Whilst CouchDB may not be appropriate for large enterprise sites. It’s perfect when there’s not a set format to the structure of data that your using. Without even knowing it, an abandoned project of mine, may have been better off with CouchDB instead of MySQL. The data I was trying to aggregate was from a range of sources, all with different schemas. Plus, the format I was asking for was JSON. I could have avoided, saving massive chucks of JSON in MySQL. And I was using YQL as a data farm, when it’s very similar to a CouchDB instance.

There’s no denying that the mobile industry is booming. A few people have optimised websites to become “web apps”. These can be added to the home screen of an iPhone based device. You can run the “app” full screen and avoid the iTunes app store deployment process.

The web app approach is a good work around for those who want to deliver content to mobile users. You can use HTML, JS and CSS, but they have limitations. The sucker punch for web apps is connectivity and synchronisation. CouchDB aims to eliminate this problem by running synchronisation in the back ground when connected to the net. All this at a very low latency and battery consumption for devices.

I’m no CouchDB expert, I’m still trying to install from source on Ubuntu 10.04! But from the hype that I’ve heard and the promises that it makes, I’m keen to get going on this. Right away.

Comments are now closed, why not contact me instead? Or visit my homepage.