Contrarian insight on web application design


December 15, 2004

Philip Greenspun says an internet service lives or dies by the datamodel one designs in an RDBMS, and that how one goes about implementing the individual pages is "intellectually uninteresting and also uninteresting from an engineering point of view":

http://philip.greenspun.com/seia/basics

Paul Graham, on the other hand, thinks that "It is a common mistake to think of Web-based apps as interfaces to databases. Desktop apps aren't just interfaces to databases; why should Web-based apps be any different? The hard part is not where you store the data, but what the software does." Incredibly (!) he claims that at Viaweb, they did not use an RDBMS at all!!

"We didn't use one. We just stored everything in files. The Unix file system is pretty good at not losing your data, especially if you put the files on a Netapp.":

http://www.paulgraham.com/vwfaq.html

This blows my mind.

Given a little thought, I can see the merits of both points of view. I can see how one can gain extra flexibility from shunning the RDBMS model, but at the same time, one gets so much core functionality for free with an RDBMS that it is hard to pass up... I suppose that it depends on the type of web application you are building, the amount of data involved, and how it relates to each other. I'm going to have to mull this over a bit more.